tinybase 6.1.0-beta.5 → 6.2.0-beta.0

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 (191) hide show
  1. package/@types/persisters/index.d.ts +82 -0
  2. package/@types/persisters/with-schemas/index.d.ts +91 -0
  3. package/@types/store/index.d.ts +123 -1
  4. package/@types/store/with-schemas/index.d.ts +159 -24
  5. package/@types/ui-react/index.d.ts +120 -0
  6. package/@types/ui-react/with-schemas/index.d.ts +179 -37
  7. package/index.js +73 -53
  8. package/mergeable-store/index.js +73 -53
  9. package/mergeable-store/with-schemas/index.js +73 -53
  10. package/min/index.js +1 -1
  11. package/min/index.js.gz +0 -0
  12. package/min/mergeable-store/index.js +1 -1
  13. package/min/mergeable-store/index.js.gz +0 -0
  14. package/min/mergeable-store/with-schemas/index.js +1 -1
  15. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  16. package/min/persisters/index.js +1 -1
  17. package/min/persisters/index.js.gz +0 -0
  18. package/min/persisters/persister-automerge/index.js +1 -1
  19. package/min/persisters/persister-automerge/index.js.gz +0 -0
  20. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  21. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  22. package/min/persisters/persister-browser/index.js +1 -1
  23. package/min/persisters/persister-browser/index.js.gz +0 -0
  24. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  25. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  26. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  27. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  28. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  29. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  30. package/min/persisters/persister-durable-object-storage/index.js +1 -1
  31. package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  32. package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
  33. package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  34. package/min/persisters/persister-electric-sql/index.js +1 -1
  35. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  36. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  37. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  38. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  39. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  40. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  41. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  42. package/min/persisters/persister-file/index.js +1 -1
  43. package/min/persisters/persister-file/index.js.gz +0 -0
  44. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  45. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  46. package/min/persisters/persister-indexed-db/index.js +1 -1
  47. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  48. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  49. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  50. package/min/persisters/persister-libsql/index.js +1 -1
  51. package/min/persisters/persister-libsql/index.js.gz +0 -0
  52. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  53. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  54. package/min/persisters/persister-partykit-client/index.js +1 -1
  55. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  56. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  57. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  58. package/min/persisters/persister-pglite/index.js +1 -1
  59. package/min/persisters/persister-pglite/index.js.gz +0 -0
  60. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  61. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  62. package/min/persisters/persister-postgres/index.js +1 -1
  63. package/min/persisters/persister-postgres/index.js.gz +0 -0
  64. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  65. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  66. package/min/persisters/persister-powersync/index.js +1 -1
  67. package/min/persisters/persister-powersync/index.js.gz +0 -0
  68. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  69. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  70. package/min/persisters/persister-remote/index.js +1 -1
  71. package/min/persisters/persister-remote/index.js.gz +0 -0
  72. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  73. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  74. package/min/persisters/persister-sqlite-bun/index.js +1 -1
  75. package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
  76. package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
  77. package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
  78. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  79. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  80. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  81. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  82. package/min/persisters/persister-sqlite3/index.js +1 -1
  83. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  84. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  85. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  86. package/min/persisters/persister-yjs/index.js +1 -1
  87. package/min/persisters/persister-yjs/index.js.gz +0 -0
  88. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  89. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  90. package/min/persisters/with-schemas/index.js +1 -1
  91. package/min/persisters/with-schemas/index.js.gz +0 -0
  92. package/min/store/index.js +1 -1
  93. package/min/store/index.js.gz +0 -0
  94. package/min/store/with-schemas/index.js +1 -1
  95. package/min/store/with-schemas/index.js.gz +0 -0
  96. package/min/synchronizers/index.js +1 -1
  97. package/min/synchronizers/index.js.gz +0 -0
  98. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  99. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  100. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  101. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  102. package/min/synchronizers/synchronizer-local/index.js +1 -1
  103. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  104. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  105. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  106. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  107. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  108. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  109. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  110. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  111. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  112. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  113. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  114. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  115. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  116. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  117. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  118. package/min/synchronizers/with-schemas/index.js +1 -1
  119. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  120. package/min/ui-react/index.js +1 -1
  121. package/min/ui-react/index.js.gz +0 -0
  122. package/min/ui-react/with-schemas/index.js +1 -1
  123. package/min/ui-react/with-schemas/index.js.gz +0 -0
  124. package/min/ui-react-inspector/index.js +1 -1
  125. package/min/ui-react-inspector/index.js.gz +0 -0
  126. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  127. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  128. package/min/with-schemas/index.js +1 -1
  129. package/min/with-schemas/index.js.gz +0 -0
  130. package/package.json +6 -6
  131. package/persisters/index.js +33 -8
  132. package/persisters/persister-automerge/index.js +23 -3
  133. package/persisters/persister-automerge/with-schemas/index.js +23 -3
  134. package/persisters/persister-browser/index.js +23 -3
  135. package/persisters/persister-browser/with-schemas/index.js +23 -3
  136. package/persisters/persister-cr-sqlite-wasm/index.js +33 -8
  137. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +33 -8
  138. package/persisters/persister-durable-object-storage/index.js +23 -3
  139. package/persisters/persister-durable-object-storage/with-schemas/index.js +23 -3
  140. package/persisters/persister-electric-sql/index.js +33 -8
  141. package/persisters/persister-electric-sql/with-schemas/index.js +33 -8
  142. package/persisters/persister-expo-sqlite/index.js +33 -8
  143. package/persisters/persister-expo-sqlite/with-schemas/index.js +33 -8
  144. package/persisters/persister-file/index.js +23 -3
  145. package/persisters/persister-file/with-schemas/index.js +23 -3
  146. package/persisters/persister-indexed-db/index.js +23 -3
  147. package/persisters/persister-indexed-db/with-schemas/index.js +23 -3
  148. package/persisters/persister-libsql/index.js +33 -8
  149. package/persisters/persister-libsql/with-schemas/index.js +33 -8
  150. package/persisters/persister-partykit-client/index.js +23 -3
  151. package/persisters/persister-partykit-client/with-schemas/index.js +23 -3
  152. package/persisters/persister-pglite/index.js +33 -8
  153. package/persisters/persister-pglite/with-schemas/index.js +33 -8
  154. package/persisters/persister-postgres/index.js +33 -8
  155. package/persisters/persister-postgres/with-schemas/index.js +33 -8
  156. package/persisters/persister-powersync/index.js +33 -8
  157. package/persisters/persister-powersync/with-schemas/index.js +33 -8
  158. package/persisters/persister-remote/index.js +23 -3
  159. package/persisters/persister-remote/with-schemas/index.js +23 -3
  160. package/persisters/persister-sqlite-bun/index.js +33 -8
  161. package/persisters/persister-sqlite-bun/with-schemas/index.js +33 -8
  162. package/persisters/persister-sqlite-wasm/index.js +33 -8
  163. package/persisters/persister-sqlite-wasm/with-schemas/index.js +33 -8
  164. package/persisters/persister-sqlite3/index.js +33 -8
  165. package/persisters/persister-sqlite3/with-schemas/index.js +33 -8
  166. package/persisters/persister-yjs/index.js +23 -3
  167. package/persisters/persister-yjs/with-schemas/index.js +23 -3
  168. package/persisters/with-schemas/index.js +33 -8
  169. package/readme.md +17 -17
  170. package/releases.md +60 -36
  171. package/store/index.js +73 -53
  172. package/store/with-schemas/index.js +73 -53
  173. package/synchronizers/index.js +27 -9
  174. package/synchronizers/synchronizer-broadcast-channel/index.js +27 -9
  175. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +27 -9
  176. package/synchronizers/synchronizer-local/index.js +27 -9
  177. package/synchronizers/synchronizer-local/with-schemas/index.js +27 -9
  178. package/synchronizers/synchronizer-ws-client/index.js +27 -9
  179. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +27 -9
  180. package/synchronizers/synchronizer-ws-server/index.js +27 -9
  181. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +27 -9
  182. package/synchronizers/synchronizer-ws-server-durable-object/index.js +27 -9
  183. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +27 -9
  184. package/synchronizers/with-schemas/index.js +27 -9
  185. package/ui-react/index.js +84 -20
  186. package/ui-react/with-schemas/index.js +84 -20
  187. package/ui-react-dom/index.js +1 -1
  188. package/ui-react-dom/with-schemas/index.js +1 -1
  189. package/ui-react-inspector/index.js +97 -57
  190. package/ui-react-inspector/with-schemas/index.js +97 -57
  191. package/with-schemas/index.js +73 -53
@@ -1140,6 +1140,27 @@ const createStore = () => {
1140
1140
  transaction(() => actions(...arrayMap(args, id)));
1141
1141
  return store;
1142
1142
  };
1143
+ const addSortedRowIdsListenerImpl = (
1144
+ tableId,
1145
+ cellId,
1146
+ otherArgs,
1147
+ listener,
1148
+ mutator,
1149
+ ) => {
1150
+ let sortedRowIds = getSortedRowIds(tableId, cellId, ...otherArgs);
1151
+ return addListener(
1152
+ () => {
1153
+ const newSortedRowIds = getSortedRowIds(tableId, cellId, ...otherArgs);
1154
+ if (!arrayIsEqual(newSortedRowIds, sortedRowIds)) {
1155
+ sortedRowIds = newSortedRowIds;
1156
+ listener(store, tableId, cellId, ...otherArgs, sortedRowIds);
1157
+ }
1158
+ },
1159
+ sortedRowIdsListeners[mutator ? 1 : 0],
1160
+ [tableId, cellId],
1161
+ [getTableIds],
1162
+ );
1163
+ };
1143
1164
  const getContent = () => [getTables(), getValues()];
1144
1165
  const getTables = () => mapToObj3(tablesMap);
1145
1166
  const getTableIds = () => mapKeys(tablesMap);
@@ -1148,22 +1169,36 @@ const createStore = () => {
1148
1169
  mapKeys(mapGet(tableCellIds, id(tableId)));
1149
1170
  const getRowCount = (tableId) => collSize(mapGet(tablesMap, id(tableId)));
1150
1171
  const getRowIds = (tableId) => mapKeys(mapGet(tablesMap, id(tableId)));
1151
- const getSortedRowIds = (tableId, cellId, descending, offset = 0, limit) =>
1152
- arrayMap(
1153
- slice(
1154
- arraySort(
1155
- mapMap(mapGet(tablesMap, id(tableId)), (row, rowId) => [
1156
- isUndefined(cellId) ? rowId : mapGet(row, id(cellId)),
1157
- rowId,
1158
- ]),
1159
- ([cell1], [cell2]) =>
1160
- defaultSorter(cell1, cell2) * (descending ? -1 : 1),
1161
- ),
1162
- offset,
1163
- isUndefined(limit) ? limit : offset + limit,
1164
- ),
1165
- ([, rowId]) => rowId,
1166
- );
1172
+ const getSortedRowIds = (
1173
+ tableIdOrArgs,
1174
+ cellId,
1175
+ descending,
1176
+ offset = 0,
1177
+ limit,
1178
+ ) =>
1179
+ isObject(tableIdOrArgs)
1180
+ ? getSortedRowIds(
1181
+ tableIdOrArgs.tableId,
1182
+ tableIdOrArgs.cellId,
1183
+ tableIdOrArgs.descending,
1184
+ tableIdOrArgs.offset,
1185
+ tableIdOrArgs.limit,
1186
+ )
1187
+ : arrayMap(
1188
+ slice(
1189
+ arraySort(
1190
+ mapMap(mapGet(tablesMap, id(tableIdOrArgs)), (row, rowId) => [
1191
+ isUndefined(cellId) ? rowId : mapGet(row, id(cellId)),
1192
+ rowId,
1193
+ ]),
1194
+ ([cell1], [cell2]) =>
1195
+ defaultSorter(cell1, cell2) * (descending ? -1 : 1),
1196
+ ),
1197
+ offset,
1198
+ isUndefined(limit) ? limit : offset + limit,
1199
+ ),
1200
+ ([, rowId]) => rowId,
1201
+ );
1167
1202
  const getRow = (tableId, rowId) =>
1168
1203
  mapToObj(mapGet(mapGet(tablesMap, id(tableId)), id(rowId)));
1169
1204
  const getCellIds = (tableId, rowId) =>
@@ -1555,48 +1590,33 @@ const createStore = () => {
1555
1590
  mapForEach(mapGet(mapGet(tablesMap, id(tableId)), id(rowId)), cellCallback);
1556
1591
  const forEachValue = (valueCallback) => mapForEach(valuesMap, valueCallback);
1557
1592
  const addSortedRowIdsListener = (
1558
- tableId,
1559
- cellId,
1560
- descending,
1593
+ tableIdOrArgs,
1594
+ cellIdOrListener,
1595
+ descendingOrMutator,
1561
1596
  offset,
1562
1597
  limit,
1563
1598
  listener,
1564
1599
  mutator,
1565
- ) => {
1566
- let sortedRowIds = getSortedRowIds(
1567
- tableId,
1568
- cellId,
1569
- descending,
1570
- offset,
1571
- limit,
1572
- );
1573
- return addListener(
1574
- () => {
1575
- const newSortedRowIds = getSortedRowIds(
1576
- tableId,
1577
- cellId,
1578
- descending,
1579
- offset,
1580
- limit,
1600
+ ) =>
1601
+ isObject(tableIdOrArgs)
1602
+ ? addSortedRowIdsListenerImpl(
1603
+ tableIdOrArgs.tableId,
1604
+ tableIdOrArgs.cellId,
1605
+ [
1606
+ tableIdOrArgs.descending ?? false,
1607
+ tableIdOrArgs.offset ?? 0,
1608
+ tableIdOrArgs.limit,
1609
+ ],
1610
+ cellIdOrListener,
1611
+ descendingOrMutator,
1612
+ )
1613
+ : addSortedRowIdsListenerImpl(
1614
+ tableIdOrArgs,
1615
+ cellIdOrListener,
1616
+ [descendingOrMutator, offset, limit],
1617
+ listener,
1618
+ mutator,
1581
1619
  );
1582
- if (!arrayIsEqual(newSortedRowIds, sortedRowIds)) {
1583
- sortedRowIds = newSortedRowIds;
1584
- listener(
1585
- store,
1586
- tableId,
1587
- cellId,
1588
- descending,
1589
- offset,
1590
- limit,
1591
- sortedRowIds,
1592
- );
1593
- }
1594
- },
1595
- sortedRowIdsListeners[mutator ? 1 : 0],
1596
- [tableId, cellId],
1597
- [getTableIds],
1598
- );
1599
- };
1600
1620
  const addStartTransactionListener = (listener) =>
1601
1621
  addListener(listener, startTransactionListeners);
1602
1622
  const addWillFinishTransactionListener = (listener) =>
package/min/index.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),n=e(!0),o=e(0),a=e(e),l="type",r="default",i="Listener",d="Result",c="add",u="Has",g="Ids",h="Table",f=h+"s",b=h+g,I="Row",w=I+"Count",L=I+g,C="Sorted"+I+g,R="Cell",T=R+g,v="Value",p=v+"s",S=v+g,y=e=>t+e,V=(e,t)=>e.startsWith(t),M=(e,t)=>e.endsWith(t),m=(e,s=t,n)=>e.split(s,n),E=globalThis,k=Math,D=k.max,H=k.min,J=k.floor,x=isFinite,F=e=>null==e,Q=(e,t,s)=>F(e)?s?.():t(e),z=e=>e==s||e==n,N=t=>e(t)==s,O=t=>e(t)==a,W=e=>Array.isArray(e),A=(e,t,s)=>e.slice(t,s),P=e=>e.length,j=()=>{},_=()=>{},B=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},U=(e,t)=>e.includes(t),q=(e,t)=>e.every(t),G=(e,t)=>P(e)===P(t)&&q(e,((e,s)=>t[s]===e)),K=(e,t)=>q(e,((s,n)=>0==n||t(e[n-1],s)<=0)),X=(e,t)=>e.sort(t),Y=(e,t)=>e.forEach(t),Z=(e,t)=>e.map(t),$=e=>te(e,((e,t)=>e+t),0),ee=e=>0==P(e),te=(e,t,s)=>e.reduce(t,s),se=(e,...t)=>e.push(...t),ne=e=>e.pop(),oe=e=>e.shift(),ae=t=>{const s=e(t);return z(s)||s==o&&x(t)?s:void 0},le=e=>F(e)||!F(ae(e)),re=(e,t,s,n,o)=>F(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),ie=(e,t,s)=>F(s)?e.delValue(t):e.setValue(t,s),de=e=>t=>te(Ie(t),((t,s)=>t+e(s)),0),ce=e=>e?.size??0,ue=de(ce),ge=de(ue),he=de(ge),fe=(e,t)=>e?.has(t)??!1,be=e=>F(e)||0==ce(e),Ie=e=>[...e?.values()??[]],we=e=>e.clear(),Le=(e,t)=>e?.forEach(t),Ce=(e,t)=>e?.delete(t),Re=Object,Te=e=>Re.getPrototypeOf(e),ve=Re.entries,pe=Re.isFrozen,Se=e=>!F(e)&&Q(Te(e),(e=>e==Re.prototype||F(Te(e))),(()=>!0)),ye=Re.keys,Ve=Re.freeze,Me=(e=[])=>Re.fromEntries(e),me=(e,t)=>t in e,Ee=(e,t)=>(delete e[t],e),ke=(e,t)=>Y(ve(e),(([e,s])=>t(s,e))),De=(e,t)=>Me(((e,t)=>Z(ve(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),He=e=>Se(e)&&0==(e=>P(ye(e)))(e),Je=(e,t,s)=>(me(e,t)||(e[t]=s()),e[t]),xe=(e,t,s,n=0)=>F(e)||!Se(e)||!n&&He(e)||pe(e)?(s?.(),!1):(ke(e,((s,n)=>{t(s,n)||Ee(e,n)})),!!n||!He(e)),Fe=e=>new Map(e),Qe=e=>[...e?.keys()??[]],ze=(e,t)=>e?.get(t),Ne=(e,t)=>Le(e,((e,s)=>t(s,e))),Oe=(e,t,s)=>F(s)?(Ce(e,t),e):e?.set(t,s),We=(e,t,s,n)=>(fe(e,t)?n?.(ze(e,t)):Oe(e,t,s()),ze(e,t)),Ae=(e,t,s,n=Oe)=>(De(t,((t,n)=>s(e,n,t))),Ne(e,(s=>me(t,s)?0:n(e,s))),e),Pe=(e,t,s,n)=>{const o={};return Le(e,((e,a)=>{if(!s?.(e,a)){const s=t?t(e,a):e;n?.(s)||(o[a]=s)}})),o},je=(e,t,s)=>Pe(e,(e=>Pe(e,t,s)),be,He),_e=(e,t,s)=>Pe(e,(e=>je(e,t,s)),be,He),Be=(e,t)=>{const s=Fe();return Le(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ue=e=>Be(e,Be),qe=e=>Be(e,Ue),Ge=(e,t,s,n,o=0)=>Q((s?We:ze)(e,t[o],o>P(t)-2?s:Fe),(a=>{if(o>P(t)-2)return n?.(a)&&Oe(e,t[o]),a;const l=Ge(a,t,s,n,o+1);return be(a)&&Oe(e,t[o]),l})),Ke=e=>new Set(W(e)||F(e)?e:[e]),Xe=(e,t)=>e?.add(t),Ye=(e,t,s,n,o)=>{const a=e.hasRow,l=Fe(),r=Fe(),i=Fe(),d=Fe(),c=Fe(),u=Fe(),g=(t,s,...n)=>{const o=We(u,t,Ke);return Y(n,(t=>Xe(o,t)&&s&&e.callListener(t))),n},h=(t,...s)=>Q(ze(u,t),(n=>{Y(ee(s)?Ie(n):s,(t=>{e.delListener(t),Ce(n,t)})),be(n)&&Oe(u,t)})),f=(e,s)=>{Oe(l,e,s),fe(r,e)||(Oe(r,e,t()),Oe(d,e,Fe()),Oe(c,e,Fe()),o(i))},b=e=>{Oe(l,e),Oe(r,e),Oe(d,e),Oe(c,e),h(e),o(i)};return[()=>e,()=>Qe(l),e=>Ne(r,e),e=>fe(r,e),e=>ze(l,e),e=>ze(r,e),(e,t)=>Oe(r,e,t),f,(t,n,o,l,r)=>{f(t,n);const i=Fe(),u=Fe(),b=ze(d,t),I=ze(c,t),w=t=>{const o=s=>e.getCell(n,t,s),d=ze(b,t),c=a(n,t)?s(l(o,t)):void 0;if(d===c||W(d)&&W(c)&&G(d,c)||Oe(i,t,[d,c]),!F(r)){const e=ze(I,t),s=a(n,t)?r(o,t):void 0;e!=s&&Oe(u,t,s)}},L=e=>{o((()=>{Le(i,(([,e],t)=>Oe(b,t,e))),Le(u,((e,t)=>Oe(I,t,e)))}),i,u,b,I,e),we(i),we(u)};Ne(b,w),e.hasTable(n)&&Y(e.getRowIds(n),(e=>{fe(b,e)||w(e)})),L(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>w(s))),e.addTableListener(n,(()=>L())))},b,e=>n(e,i),()=>Ne(u,b),g,h]},Ze=(e,s)=>N(e)?t=>t(e):e??(()=>s??t),$e=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const o=s.get(n);return t?.(o),o}},et=/^\d+$/,tt=()=>{const e=[];let s=0;return[n=>(n?oe(e):null)??t+s++,t=>{et.test(t)&&P(e)<1e3&&se(e,t)}]},st=e=>{let s;const[n,o]=tt(),a=Fe();return[(o,l,r,i=[],d=()=>[])=>{s??=e();const c=n(1);return Oe(a,c,[o,l,r,i,d]),Xe(Ge(l,r??[t],Ke),c),c},(e,n,...o)=>Y(((e,s=[t])=>{const n=[],o=(e,t)=>t==P(s)?se(n,e):null===s[t]?Le(e,(e=>o(e,t+1))):Y([s[t],null],(s=>o(ze(e,s),t+1)));return o(e,0),n})(e,n),(e=>Le(e,(e=>ze(a,e)[0](s,...n??[],...o))))),e=>Q(ze(a,e),(([,s,n])=>(Ge(s,n??[t],void 0,(t=>(Ce(t,e),be(t)?1:0))),Oe(a,e),o(e),n))),e=>Q(ze(a,e),(([e,,t=[],n,o])=>{const a=(...l)=>{const r=P(l);r==P(t)?e(s,...l,...o(l)):F(t[r])?Y(n[r]?.(...l)??[],(e=>a(...l,e))):a(...l,t[r])};a()}))]},nt=$e((e=>{let s,n,o,a=100,l=Fe(),r=Fe(),i=1;const d=Fe(),c=Fe(),[u,g,h]=st((()=>J)),f=Fe(),b=Fe(),I=[],w=[],L=(t,s)=>{i=0,e.transaction((()=>{const[n,o]=ze(f,s);Le(n,((s,n)=>Le(s,((s,o)=>Le(s,((s,a)=>re(e,n,o,a,s[t]))))))),Le(o,((s,n)=>ie(e,n,s[t])))})),i=1},C=e=>{Oe(f,e),Oe(b,e),g(c,[e])},R=(e,t)=>Y(((e,t)=>e.splice(0,t))(e,t??P(e)),C),T=()=>R(I,P(I)-a),v=()=>Q(s,(()=>{se(I,s),T(),R(w),s=void 0,o=1})),p=()=>{s=ne(I),o=1};let S,y;const V=(e=t)=>(F(s)&&(s=t+n++,Oe(f,s,[l,r]),D(s,e),l=Fe(),r=Fe(),o=1),s),M=()=>{ee(I)||(((e,...t)=>{e.unshift(...t)})(w,V()),L(0,s),s=ne(I),o=1)},m=()=>{ee(w)||(se(I,s),s=oe(w),L(1,s),o=1)},E=()=>{o&&(g(d),o=0)},k=e=>{const t=V(e);return E(),t},D=(e,t)=>(H(e)&&ze(b,e)!==t&&(Oe(b,e,t),g(c,[e])),J),H=e=>fe(f,e),J={setSize:e=>(a=e,T(),J),addCheckpoint:k,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...I],s,[...w]],forEachCheckpoint:e=>Ne(b,e),hasCheckpoint:H,getCheckpoint:e=>ze(b,e),goBackward:()=>(M(),E(),J),goForward:()=>(m(),E(),J),goTo:e=>{const t=U(I,e)?M:U(w,e)?m:null;for(;!F(t)&&e!=s;)t();return E(),J},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),J),clear:()=>(R(I),R(w),F(s)||C(s),s=void 0,n=0,k(),J),clearForward:()=>(ee(w)||(R(w),g(d)),J),destroy:()=>{e.delListener(S),e.delListener(y)},getListenerStats:()=>({checkpointIds:ue(d),checkpoint:ue(c)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(i){v();const e=We(l,t,Fe),r=We(e,s,Fe),i=We(r,n,(()=>[a,void 0]));i[1]=o,i[0]===o&&be(Oe(r,n))&&be(Oe(e,s))&&be(Oe(l,t))&&p(),E()}})),y=e.addValueListener(null,((e,t,s,n)=>{if(i){v();const e=We(r,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&be(Oe(r,t))&&p(),E()}}))}};return Ve(J.clear())}),(e=>e._registerListeners())),ot=m("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),at=Fe(Z(ot,((e,t)=>[e,t]))),lt=e=>ot[63&e],rt=(e,t)=>ze(at,e[t])??0,it=E.crypto?e=>E.crypto.getRandomValues(e):e=>Z(e,(()=>J(256*k.random()))),dt=(e,t)=>(e??0)<(t??0)?-1:1,ct=(e=16)=>te(it(new Uint8Array(e)),((e,t)=>e+lt(t)),""),ut=$e((e=>{const s=Fe(),n=Fe(),[o,a,l]=st((()=>C)),[r,i,d,c,u,g,h,,f,b,I,w]=Ye(e,Fe,(e=>F(e)?t:W(e)?Z(e,y):y(e)),o,a),L=(t,s,n)=>{const o=u(t);Le(n,((t,n)=>s(n,(s=>Le(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},C={setIndexDefinition:(e,t,o,l,r,i=dt)=>{const d=F(r)?void 0:([e],[t])=>r(e,t);return f(e,t,((t,o,r,c,u,f)=>{let b=0;const I=Ke(),w=Ke(),L=g(e);if(Le(o,(([e,t],s)=>{const n=Ke(e),o=Ke(t);Le(n,(e=>Ce(o,e)?Ce(n,e):0)),Le(n,(e=>{Xe(I,e),Q(ze(L,e),(t=>{Ce(t,s),be(t)&&(Oe(L,e),b=1)}))})),Le(o,(e=>{Xe(I,e),fe(L,e)||(Oe(L,e,Ke()),b=1),Xe(ze(L,e),s),F(l)||Xe(w,e)}))})),t(),be(u)||(f?Ne(L,(e=>Xe(w,e))):Ne(r,(e=>Q(ze(c,e),(e=>Y(W(e)?e:[e],(e=>Xe(w,e))))))),Le(w,(e=>{const t=(t,s)=>i(ze(u,t),ze(u,s),e),s=[...ze(L,e)];K(s,t)||(Oe(L,e,Ke(X(s,t))),Xe(I,e))}))),(b||f)&&!F(d)){const t=[...L];K(t,d)||(h(e,Fe(X(t,d))),b=1)}b&&a(s,[e]),Le(I,(t=>a(n,[e,t])))}),Ze(o),Q(l,Ze)),C},delIndexDefinition:e=>(b(e),C),getStore:r,getIndexIds:i,forEachIndex:e=>d(((t,s)=>e(t,(e=>L(t,e,s))))),forEachSlice:(e,t)=>L(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>fe(g(e),t),getTableId:u,getSliceIds:e=>Qe(g(e)),getSliceRowIds:(e,t)=>Ie(ze(g(e),t)),addIndexIdsListener:I,addSliceIdsListener:(e,t)=>o(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>o(s,n,[e,t]),delListener:e=>(l(e),C),destroy:w,getListenerStats:()=>({sliceIds:ue(s),sliceRowIds:ge(n)})};return Ve(C)})),gt=new E.TextEncoder,ht=e=>{let t=2166136261;return Y(gt.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},ft=2**36,bt=2**30,It=2**24,wt=2**18,Lt=4096,Ct=JSON.stringify,Rt=JSON.parse,Tt=e=>Ct(e,((e,t)=>t instanceof Map?Re.fromEntries([...t]):t)),vt=([e,t])=>St(e,t),pt=([e,t,s])=>[e,t,s],St=(e,t)=>t?[e,t]:[e],yt=(e,t,s)=>[e,t,s],Vt=e=>e[2],Mt=(e,t)=>ht(e+":"+t),mt=(e,t)=>t>e?(e?ht(e):0)^ht(t):0,Et=(e,t)=>((e??"")>(t??"")?e:t)??"",kt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},Dt=(e=t)=>St(Me(),e),Ht=(e=t)=>[Fe(),e,0],Jt=([e,t,s],n=pt)=>[Pe(e,n),t,s],xt=([e,t],s=vt)=>St(Pe(e,s),t),Ft=(t,s)=>W(t)&&3==P(t)&&N(t[1])&&e(t[2])==o&&x(t[2])&&s(t[0]),Qt=e=>[e,e],zt=(e,t=ue)=>t(e[0])+t(e[1]),Nt=()=>[Fe(),Fe()],Ot=e=>[...e],Wt=([e,t])=>e===t,At=(e,t,s)=>Oe(e,t,ze(e,t)==-s?void 0:s),Pt=()=>{let e,t,s=!1,n=!1,a=0,d=[];const g=Fe(),C=Fe(),V=Fe(),M=Fe(),m=Fe(),E=Fe(),k=Fe(),D=Fe(),H=Fe(),J=Fe(),x=Fe(),N=Fe(),P=Fe(),j=Fe(),_=Ke(),q=Fe(),K=Fe(),$=Fe(),ee=Fe(),te=Nt(),ne=Nt(),oe=Nt(),le=Nt(),de=Nt(),Ie=Nt(),Re=Nt(),Te=Nt(),ve=Nt(),pe=Nt(),Se=Nt(),ye=Nt(),Me=Nt(),ke=Nt(),Je=Nt(),Ge=Nt(),Ye=Nt(),Ze=Nt(),$e=Nt(),et=Nt(),nt=Nt(),ot=Nt(),at=Fe(),lt=Nt(),[rt,it,ct,ut]=st((()=>Ws)),gt=e=>{if(!xe(e,((e,t)=>U([l,r],t))))return!1;const t=e[l];return!(!z(t)&&t!=o||(ae(e[r])!=t&&Ee(e,r),0))},ht=W,ft=(t,s)=>(!e||fe(x,s)||Zt(s))&&xe(t,((e,t)=>bt(s,t,e)),(()=>Zt(s))),bt=(e,t,s,n)=>xe(n?s:Ct(s,e,t),((n,o)=>Q(It(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>Zt(e,t))),It=(t,s,n,o)=>e?Q(ze(ze(x,t),n),(e=>ae(o)!=e[l]?Zt(t,s,n,o,e[r]):o),(()=>Zt(t,s,n,o))):F(ae(o))?Zt(t,s,n,o):o,wt=(e,t)=>xe(t?e:vt(e),((t,s)=>Q(Lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>$t())),Lt=(e,s)=>t?Q(ze(P,e),(t=>ae(s)!=t[l]?$t(e,s,t[r]):s),(()=>$t(e,s))):F(ae(s))?$t(e,s):s,Ct=(e,t,s)=>(Q(ze(N,t),(([n,o])=>{Le(n,((t,s)=>{me(e,s)||(e[s]=t)})),Le(o,(n=>{me(e,n)||Zt(t,s,n)}))})),e),vt=e=>(t&&(Le(j,((t,s)=>{me(e,s)||(e[s]=t)})),Le(_,(t=>{me(e,t)||$t(t)}))),e),pt=e=>Ae(x,e,((e,t,s)=>{const n=Fe(),o=Ke();Ae(We(x,t,Fe),s,((e,t,s)=>{Oe(e,t,s),Q(s[r],(e=>Oe(n,t,e)),(()=>Xe(o,t)))})),Oe(N,t,[n,o])}),((e,t)=>{Oe(x,t),Oe(N,t)})),St=e=>Ae(P,e,((e,t,s)=>{Oe(P,t,s),Q(s[r],(e=>Oe(j,t,e)),(()=>Xe(_,t)))}),((e,t)=>{Oe(P,t),Oe(j,t),Ce(_,t)})),yt=e=>He(e)?Ds():Vs(e),Vt=e=>Ae($,e,((e,t,s)=>Mt(t,s)),((e,t)=>Ft(t))),Mt=(e,t)=>Ae(We($,e,(()=>(Ut(e,1),Oe(q,e,tt()),Oe(K,e,Fe()),Fe()))),t,((t,s,n)=>mt(e,t,s,n)),((t,s)=>jt(e,t,s))),mt=(e,t,s,n,o)=>Ae(We(t,s,(()=>(qt(e,s,1),Fe()))),n,((t,n,o)=>Et(e,s,t,n,o)),((n,a)=>_t(e,t,s,n,a,o))),Et=(e,t,s,n,o)=>{fe(s,n)||Gt(e,t,n,1);const a=ze(s,n);o!==a&&(Kt(e,t,n,a,o),Oe(s,n,o))},kt=(e,t,s,n,o)=>Q(ze(t,s),(t=>Et(e,s,t,n,o)),(()=>mt(e,t,s,Ct({[n]:o},e,s)))),Dt=e=>He(e)?xs():Ms(e),Ht=e=>Ae(ee,e,((e,t,s)=>Jt(t,s)),((e,t)=>Bt(t))),Jt=(e,t)=>{fe(ee,e)||Xt(e,1);const s=ze(ee,e);t!==s&&(Yt(e,s,t),Oe(ee,e,t))},xt=e=>ze($,e)??Mt(e,{}),Ft=e=>Mt(e,{}),jt=(e,t,s)=>{const[,n]=ze(q,e);n(s),mt(e,t,s,{},!0)},_t=(e,t,s,n,o,a)=>{const l=ze(ze(N,e)?.[0],o);if(!F(l)&&!a)return Et(e,s,n,o,l);const r=t=>{Kt(e,s,t,ze(n,t)),Gt(e,s,t,-1),Oe(n,t)};F(l)?r(o):Ne(n,r),be(n)&&(qt(e,s,-1),be(Oe(t,s))&&(Ut(e,-1),Oe($,e),Oe(q,e),Oe(K,e)))},Bt=e=>{const t=ze(j,e);if(!F(t))return Jt(e,t);Yt(e,ze(ee,e)),Xt(e,-1),Oe(ee,e)},Ut=(e,t)=>At(g,e,t),qt=(e,t,s)=>At(We(M,e,Fe),t,s)&&Oe(V,e,We(V,e,(()=>0))+s),Gt=(e,t,s,n)=>{const o=ze(K,e),a=ze(o,s)??0;(0==a&&1==n||1==a&&-1==n)&&At(We(C,e,Fe),s,n),Oe(o,s,a!=-n?a+n:null),At(We(We(m,e,Fe),t,Fe),s,n)},Kt=(e,t,s,n,o)=>{We(We(We(E,e,Fe),t,Fe),s,(()=>[n,0]))[1]=o,d[3]?.(e,t,s,o)},Xt=(e,t)=>At(k,e,t),Yt=(e,t,s)=>{We(D,e,(()=>[t,0]))[1]=s,d[4]?.(e,s)},Zt=(e,t,s,n,o)=>(se(We(We(We(H,e,Fe),t,Fe),s,(()=>[])),n),o),$t=(e,t,s)=>(se(We(J,e,(()=>[])),t),s),es=(e,t,s)=>Q(ze(ze(ze(E,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Qt(bs(e,t,s))])),ts=e=>Q(ze(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Qt(Ls(e))])),ss=e=>be(H)||be(Ge[e])?0:Le(e?qe(H):H,((t,s)=>Le(t,((t,n)=>Le(t,((t,o)=>it(Ge[e],[s,n,o],t))))))),ns=e=>be(J)||be(Ye[e])?0:Le(e?Be(J):J,((t,s)=>it(Ye[e],[s],t))),os=(e,t,s,n)=>{if(!be(e))return it(t,n,(()=>Pe(e))),Ne(e,((e,t)=>it(s,[...n??[],e],1==t))),1},as=e=>{const t=Cs();t!=s&&it(te[e],void 0,t);const n=be(pe[e]),o=be(Me[e])&&be(ke[e])&&be(ve[e])&&be(Se[e])&&be(Ie[e])&&be(Re[e])&&be(Te[e])&&n&&be(oe[e])&&be(le[e]),a=be(Je[e])&&be(ye[e])&&be(de[e])&&be(ne[e]);if(!o||!a){const t=e?[Be(g),Ue(C),Be(V),Ue(M),qe(m),qe(E)]:[g,C,V,M,m,E];if(!o){os(t[0],oe[e],le[e]),Le(t[1],((t,s)=>os(t,Ie[e],Re[e],[s]))),Le(t[2],((t,s)=>{0!=t&&it(Te[e],[s],us(s))}));const s=Ke();Le(t[3],((t,o)=>{os(t,ve[e],Se[e],[o])&&!n&&(it(pe[e],[o,null]),Xe(s,o))})),n||Le(t[5],((t,n)=>{if(!fe(s,n)){const s=Ke();Le(t,(e=>Le(e,(([t,n],o)=>n!==t?Xe(s,o):Ce(e,o))))),Le(s,(t=>it(pe[e],[n,t])))}})),Le(t[4],((t,s)=>Le(t,((t,n)=>os(t,Me[e],ke[e],[s,n])))))}if(!a){let s;Le(t[5],((t,n)=>{let o;Le(t,((t,a)=>{let l;Le(t,(([t,r],i)=>{r!==t&&(it(Je[e],[n,a,i],r,t,es),s=o=l=1)})),l&&it(ye[e],[n,a],es)})),o&&it(de[e],[n],es)})),s&&it(ne[e],void 0,es)}}},ls=e=>{const t=Ss();t!=n&&it(Ze[e],void 0,t);const s=be(et[e])&&be(nt[e]),o=be(ot[e])&&be($e[e]);if(!s||!o){const t=e?[Be(k),Be(D)]:[k,D];if(s||os(t[0],et[e],nt[e]),!o){let s;Le(t[1],(([t,n],o)=>{n!==t&&(it(ot[e],[o],n,t,ts),s=1)})),s&&it($e[e],void 0,ts)}}},rs=(e,...t)=>(zs((()=>e(...Z(t,y)))),Ws),is=()=>_e($),ds=()=>Qe($),cs=e=>Qe(ze(K,y(e))),us=e=>ce(ze($,y(e))),gs=e=>Qe(ze($,y(e))),hs=(e,t,s,n=0,o)=>{return Z(A(X((a=ze($,y(e)),l=(e,s)=>[F(t)?s:ze(e,y(t)),s],Z([...a?.entries()??[]],(([e,t])=>l(t,e)))),(([e],[t])=>dt(e,t)*(s?-1:1))),n,F(o)?o:n+o),(([,e])=>e));var a,l},fs=(e,t)=>Qe(ze(ze($,y(e)),y(t))),bs=(e,t,s)=>ze(ze(ze($,y(e)),y(t)),y(s)),Is=()=>Pe(ee),ws=()=>Qe(ee),Ls=e=>ze(ee,y(e)),Cs=()=>!be($),Rs=e=>fe($,y(e)),Ts=(e,t)=>fe(ze(K,y(e)),y(t)),vs=(e,t)=>fe(ze($,y(e)),y(t)),ps=(e,t,s)=>fe(ze(ze($,y(e)),y(t)),y(s)),Ss=()=>!be(ee),ys=e=>fe(ee,y(e)),Vs=e=>rs((()=>(e=>xe(e,ft,Zt))(e)?Vt(e):0)),Ms=e=>rs((()=>wt(e)?Ht(e):0)),ms=e=>(B((()=>yt(Rt(e)))),Ws),Es=t=>rs((()=>{if((e=xe(t,(e=>xe(e,gt))))&&(pt(t),!be($))){const e=is();Ds(),Vs(e)}})),ks=e=>rs((()=>{if(t=(e=>xe(e,gt))(e)){const s=Is();Qs(),xs(),t=!0,St(e),Ms(s)}})),Ds=()=>rs((()=>Vt({}))),Hs=e=>rs((e=>fe($,e)?Ft(e):0),e),Js=(e,t)=>rs(((e,t)=>Q(ze($,e),(s=>fe(s,t)?jt(e,s,t):0))),e,t),xs=()=>rs((()=>Ht({}))),Fs=()=>rs((()=>{pt({}),e=!1})),Qs=()=>rs((()=>{St({}),t=!1})),zs=(e,t)=>{if(-1!=a){Ns();const s=e();return Os(t),s}},Ns=()=>(-1!=a&&a++,1==a&&(d[0]?.(),it(at)),Ws),Os=e=>(a>0&&(a--,0==a&&(a=1,ss(1),be(E)||as(1),ns(1),be(D)||ls(1),e?.(Ws)&&(Le(E,((e,t)=>Le(e,((e,s)=>Le(e,(([e],n)=>re(Ws,t,s,n,e))))))),we(E),Le(D,(([e],t)=>ie(Ws,t,e))),we(D)),it(lt[0],void 0),a=-1,ss(0),be(E)||as(0),ns(0),be(D)||ls(0),d[1]?.(),it(lt[1],void 0),d[2]?.(),a=0,s=Cs(),n=Ss(),Y([g,C,V,M,m,E,H,k,D,J],we))),Ws),Ws={getContent:()=>[is(),Is()],getTables:is,getTableIds:ds,getTable:e=>je(ze($,y(e))),getTableCellIds:cs,getRowCount:us,getRowIds:gs,getSortedRowIds:hs,getRow:(e,t)=>Pe(ze(ze($,y(e)),y(t))),getCellIds:fs,getCell:bs,getValues:Is,getValueIds:ws,getValue:Ls,hasTables:Cs,hasTable:Rs,hasTableCell:Ts,hasRow:vs,hasCell:ps,hasValues:Ss,hasValue:ys,getTablesJson:()=>Tt($),getValuesJson:()=>Tt(ee),getJson:()=>Tt([$,ee]),getTablesSchemaJson:()=>Tt(x),getValuesSchemaJson:()=>Tt(P),getSchemaJson:()=>Tt([x,P]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>rs((()=>{const t=O(e)?e():e;ht(t)&&(([e,t])=>{(He(e)?Ds:Vs)(e),(He(t)?xs:Ms)(t)})(t)})),setTables:Vs,setTable:(e,t)=>rs((e=>ft(t,e)?Mt(e,t):0),e),setRow:(e,t,s)=>rs(((e,t)=>bt(e,t,s)?mt(e,xt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let n;return bt(e,n,t)&&(e=y(e),mt(e,xt(e),n=((e,t)=>{const[s]=ze(q,e);let n;do{n=s(t)}while(fe(ze($,e),n));return n})(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>rs(((e,t)=>{if(bt(e,t,s,1)){const n=xt(e);De(s,((s,o)=>kt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>rs(((e,t,s)=>Q(It(e,t,s,O(n)?n(bs(e,t,s)):n),(n=>kt(e,xt(e),t,s,n)))),e,t,s),setValues:Ms,setPartialValues:e=>rs((()=>wt(e,1)?De(e,((e,t)=>Jt(t,e))):0)),setValue:(e,t)=>rs((e=>Q(Lt(e,O(t)?t(Ls(e)):t),(t=>Jt(e,t)))),e),applyChanges:e=>rs((()=>{De(e[0],((e,t)=>F(e)?Hs(t):De(e,((e,s)=>F(e)?Js(t,s):De(e,((e,n)=>re(Ws,t,s,n,e))))))),De(e[1],((e,t)=>ie(Ws,t,e)))})),setTablesJson:ms,setValuesJson:e=>(B((()=>Dt(Rt(e)))),Ws),setJson:e=>rs((()=>B((()=>{const[t,s]=Rt(e);yt(t),Dt(s)}),(()=>ms(e))))),setTablesSchema:Es,setValuesSchema:ks,setSchema:(e,t)=>rs((()=>{Es(e),ks(t)})),delTables:Ds,delTable:Hs,delRow:Js,delCell:(e,t,s,n)=>rs(((e,t,s)=>Q(ze($,e),(o=>Q(ze(o,t),(a=>fe(a,s)?_t(e,o,t,a,s,n):0))))),e,t,s),delValues:xs,delValue:e=>rs((e=>fe(ee,e)?Bt(e):0),e),delTablesSchema:Fs,delValuesSchema:Qs,delSchema:()=>rs((()=>{Fs(),Qs()})),transaction:zs,startTransaction:Ns,getTransactionChanges:()=>[Pe(E,((e,t)=>-1===ze(g,t)?void 0:Pe(e,((e,s)=>-1===ze(ze(M,t),s)?void 0:Pe(e,(([,e])=>e),(e=>Wt(e)))),be,He)),be,He),Pe(D,(([,e])=>e),(e=>Wt(e))),1],getTransactionLog:()=>[!be(E),!be(D),_e(E,Ot,Wt),_e(H),Pe(D,Ot,Wt),Pe(J),Pe(g),je(M),_e(m),Pe(k)],finishTransaction:Os,forEachTable:e=>Le($,((t,s)=>e(s,(e=>Le(t,((t,s)=>e(s,(e=>Ne(t,e))))))))),forEachTableCell:(e,t)=>Ne(ze(K,y(e)),t),forEachRow:(e,t)=>Le(ze($,y(e)),((e,s)=>t(s,(t=>Ne(e,t))))),forEachCell:(e,t,s)=>Ne(ze(ze($,y(e)),y(t)),s),forEachValue:e=>Ne(ee,e),addSortedRowIdsListener:(e,t,s,n,o,a,l)=>{let r=hs(e,t,s,n,o);return rt((()=>{const l=hs(e,t,s,n,o);G(l,r)||(r=l,a(Ws,e,t,s,n,o,r))}),pe[l?1:0],[e,t],[ds])},addStartTransactionListener:e=>rt(e,at),addWillFinishTransactionListener:e=>rt(e,lt[0]),addDidFinishTransactionListener:e=>rt(e,lt[1]),callListener:e=>(ut(e),Ws),delListener:e=>(ct(e),Ws),getListenerStats:()=>({hasTables:zt(te),tables:zt(ne),tableIds:zt(oe),hasTable:zt(le),table:zt(de),tableCellIds:zt(Ie),hasTableCell:zt(Re,ge),rowCount:zt(Te),rowIds:zt(ve),sortedRowIds:zt(pe),hasRow:zt(Se,ge),row:zt(ye,ge),cellIds:zt(Me,ge),hasCell:zt(ke,he),cell:zt(Je,he),invalidCell:zt(Ge,he),hasValues:zt(Ze),values:zt($e),valueIds:zt(et),hasValue:zt(nt),value:zt(ot),invalidValue:zt(Ye),transaction:ue(at)+zt(lt)}),isMergeable:()=>!1,createStore:Pt,addListener:rt,callListeners:it,setInternalListeners:(e,t,s,n,o)=>d=[e,t,s,n,o]};return De({[u+f]:[0,te,[],()=>[Cs()]],[f]:[0,ne],[b]:[0,oe],[u+h]:[1,le,[ds],e=>[Rs(...e)]],[h]:[1,de,[ds]],[h+T]:[1,Ie,[ds]],[u+h+R]:[2,Re,[ds,cs],e=>[Ts(...e)]],[w]:[1,Te,[ds]],[L]:[1,ve,[ds]],[u+I]:[2,Se,[ds,gs],e=>[vs(...e)]],[I]:[2,ye,[ds,gs]],[T]:[2,Me,[ds,gs]],[u+R]:[3,ke,[ds,gs,fs],e=>[ps(...e)]],[R]:[3,Je,[ds,gs,fs],e=>Qt(bs(...e))],InvalidCell:[3,Ge],[u+p]:[0,Ze,[],()=>[Ss()]],[p]:[0,$e],[S]:[0,et],[u+v]:[1,nt,[ws],e=>[ys(...e)]],[v]:[1,ot,[ws],e=>Qt(Ls(e[0]))],InvalidValue:[1,Ye]},(([e,t,s,n],o)=>{Ws[c+o+i]=(...o)=>rt(o[e],t[o[e+1]?1:0],e>0?A(o,0,e):void 0,s,n)})),Ve(Ws)},jt={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},_t=(e=t)=>[Ht(e),Ht(e)],Bt=(e,s)=>{let n=1,o=_t(),a=0;const l=Fe(),r=Ke(),[d,u]=((e,t=Date.now)=>{let s=0,n=-1;const o=Q(e,(e=>{const t=ht(e);return lt(t/It)+lt(t/wt)+lt(t/Lt)+lt(t/64)+lt(t)}),(()=>ct(5))),a=e=>{const o=s,[a,l]=F(e)||""==e?[0,0]:[rt(r=e,0)*ft+rt(r,1)*bt+rt(r,2)*It+rt(r,3)*wt+rt(r,4)*Lt+64*rt(r,5)+rt(r,6),rt(r,7)*wt+rt(r,8)*Lt+64*rt(r,9)+rt(r,10)];var r;s=D(o,a,t()),n=s==o?s==a?D(n,l):n:s==a?l:-1};return[()=>{return a(),t=++n,lt((e=s)/ft)+lt(e/bt)+lt(e/It)+lt(e/wt)+lt(e/Lt)+lt(e/64)+lt(e)+lt(t/wt)+lt(t/Lt)+lt(t/64)+lt(t)+o;var e,t},a]})(e,s),g=Pt(),h=e=>{const t=n;return n=0,e(),n=t,R},f=(e,s=0)=>{const n={},a={},[[l,r=t,i=0],d]=e,[c,g]=o,[h,f,I]=c;let w=s?i:I,L=r;ke(l,(([e,o=t,a=0],l)=>{const r=We(h,l,Ht),[i,d,c]=r;let u=s?a:c,g=o;ke(e,((e,t)=>{const[o,a,r]=b(e,We(i,t,Ht),Je(Je(n,l,Me),t,Me),s);u^=s?0:(a?Mt(t,a):0)^Mt(t,r),g=Et(g,o)})),u^=s?0:mt(d,o),kt(r,o,u),w^=s?0:(c?Mt(l,c):0)^Mt(l,r[2]),L=Et(L,g)})),w^=s?0:mt(f,r),kt(c,r,w);const[C]=b(d,g,a,s);return u(Et(L,C)),[n,a,1]},b=(e,s,n,o)=>{const[a,l=t,r=0]=e,[i,d,c]=s;let u=l,g=o?r:c;return ke(a,(([e,s=t,a=0],l)=>{const r=We(i,l,(()=>[void 0,t,0])),[,d,c]=r;(!d||s>d)&&(kt(r,s,o?a:ht(Tt(e??null)+":"+s)),r[0]=e,n[l]=e,g^=o?0:Mt(l,c)^Mt(l,r[2]),u=Et(u,s))})),g^=o?0:mt(d,l),kt(s,l,g),[u,c,s[2]]},I=_,w=_,L=()=>[Jt(o[0],(e=>Jt(e,(e=>Jt(e))))),Jt(o[1])],C=e=>h((()=>g.applyChanges(f(e)))),R={getMergeableContent:L,getMergeableContentHashes:()=>[o[0][2],o[1][2]],getMergeableTableHashes:()=>Pe(o[0][0],Vt),getMergeableTableDiff:e=>{const t=Dt(o[0][1]),s={};return Ne(o[0][0],((n,[o,a,l])=>me(e,n)?l!=e[n]?s[n]=l:0:t[0][n]=xt([o,a],(e=>xt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return ke(e,((e,s)=>Q(ze(o[0][0],s),(([n,,o])=>o!=e?Ne(n,((e,[,,n])=>Je(t,s,Me)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=Dt(o[0][1]),s={};return ke(e,((e,n)=>Ne(ze(o[0][0],n)?.[0],((o,[a,l,r])=>me(e,o)?r!==e[o]?Je(s,n,Me)[o]=r:0:Je(t[0],n,Dt)[0][o]=xt([a,l]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return ke(e,((e,s)=>Q(ze(o[0][0],s),(([n])=>ke(e,((e,o)=>Q(ze(n,o),(([n,,a])=>a!==e?Ne(n,((e,[,,n])=>Je(Je(t,s,Me),o,Me)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=o,n={};return ke(e,((e,s)=>ke(e,((e,o)=>Q(ze(t,s),(([t,a])=>Q(ze(t,o),(([t,l])=>Ne(t,((t,[r,i,d])=>d!==e[t]?Je(Je(n,s,(()=>Dt(a)))[0],o,(()=>Dt(l)))[0][t]=[r,i]:0)))))))))),St(n,s)},getMergeableValueHashes:()=>Pe(o[1][0],Vt),getMergeableValueDiff:e=>{const[,[t,s]]=o,n=Pe(t,vt,(([,,t],s)=>t==e?.[s]));return St(n,s)},setMergeableContent:e=>h((()=>(e=>W(e)&&2==P(e)&&Ft(e[0],(e=>xe(e,(e=>Ft(e,(e=>xe(e,(e=>Ft(e,(e=>xe(e,(e=>Ft(e,le)),void 0,1)))),void 0,1)))),void 0,1)))&&Ft(e[1],(e=>xe(e,(e=>Ft(e,le)),void 0,1))))(e)?g.transaction((()=>{g.delTables().delValues(),o=_t(),g.applyChanges(f(e,1))})):0)),setDefaultContent:e=>(g.transaction((()=>{a=1,g.setContent(e),a=0})),R),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,n],[a,i,d]]=o,c=e?yt:St,u={};Le(l,((e,s)=>Q(ze(t,s),(([t,n,o])=>{const a={};Le(e,((e,s)=>Q(ze(t,s),(([t,n,o])=>{const l={};Le(e,(e=>{Q(ze(t,e),(([t,s,n])=>l[e]=c(t,s,n)))})),a[s]=c(l,n,o)})))),u[s]=c(a,n,o)}))));const g={};return Le(r,(e=>Q(ze(a,e),(([t,s,n])=>g[e]=c(t,s,n))))),[c(u,s,n),c(g,i,d),1]},applyMergeableChanges:C,merge:e=>{const t=L(),s=e.getMergeableContent();return e.applyMergeableChanges(t),C(s)}};return g.setInternalListeners(I,w,(()=>{we(l),we(r)}),((e,s,o,r)=>{Xe(We(We(l,e,Fe),s,Ke),o),n&&f([[{[e]:[{[s]:[{[o]:[r,a?t:d()]}]}]}],[{}],1])}),((e,s)=>{Xe(r,e),n&&f([[{}],[{[e]:[s,a?t:d()]}],1])})),De(g,((e,t)=>R[t]=V(t,"set")||V(t,"del")||V(t,"apply")||M(t,"Transaction")||t=="call"+i?(...t)=>(e(...t),R):V(t,c)&&M(t,i)?(...s)=>{const n=jt[A(t,3,-8)]??0,o=s[n];return s[n]=(e,...t)=>o(R,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),Ve(R)},Ut=Fe([["avg",[(e,t)=>$(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:D(t,e)]],["min",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["sum",[e=>$(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),qt=(e,t,s,n,o,a=!1)=>{if(be(s))return;const[l,r,i,d]=o;return a||=F(e),Le(n,(([s,n])=>{a||(e=F(s)?r?.(e,n,t++):F(n)?i?.(e,s,t--):d?.(e,n,s,t),a||=F(e))})),a?l(Ie(s),ce(s)):e},Gt=$e((e=>{const s=Fe(),[n,o,a]=st((()=>w)),[l,r,i,d,c,u,g,,h,f,b,I]=Ye(e,j,(e=>isNaN(e)||F(e)||!0===e||!1===e||e===t?void 0:1*e),n,o),w={setMetricDefinition:(e,t,n,a,l,r,i)=>{const d=O(n)?[n,l,r,i]:ze(Ut,n)??ze(Ut,"sum");return h(e,t,((t,n,a,l,r,i)=>{const c=u(e),h=ce(l);i||=F(c),t();let f=qt(c,h,l,n,d,i);x(f)||(f=void 0),f!=c&&(g(e,f),o(s,[e],f,c))}),Ze(a,1)),w},delMetricDefinition:e=>(f(e),w),getStore:l,getMetricIds:r,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(a(e),w),destroy:I,getListenerStats:()=>({metric:ue(s)})};return Ve(w)})),Kt=$e((e=>{const s=e.createStore,n=s(),o=s(),a=Fe(),{addListener:l,callListeners:r,delListener:u}=o,[g,f,b,v,p,,,S,,y,V,M,m,E]=Ye(e,(()=>!0),j,l,r),k=(e,t,...s)=>Y(s,(s=>Xe(We(We(a,t,Fe),e,Ke),s))),D=e=>{Q(ze(a,e),(e=>{Ne(e,((e,t)=>Le(t,(t=>e.delListener(t))))),we(e)})),Y([o,n],(t=>t.delTable(e)))},H=(e,t,s)=>k(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),J={setQueryDefinition:(s,a,l)=>{S(s,a),D(s);const r=[],i=[[null,[a,null,null,[],Fe()]]],d=[],c=[],u=[];l({select:(e,s)=>{const n=O(e)?[P(r)+t,e]:[F(s)?e:s,t=>t(e,s)];return se(r,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=F(s)||O(t)?null:t,o=F(n)?t:s,a=[e,[e,n,O(o)?o:e=>e(o),[],Fe()]];return se(i,a),{as:e=>a[0]=e}},where:(e,t,s)=>se(d,O(e)?e:F(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,O(t)?[t,s,n,o]:ze(Ut,t)??[(e,t)=>t]]];return se(c,a),{as:e=>a[0]=e}},having:(e,t)=>se(u,O(e)?e:s=>s(e)===t)});const g=Fe(r);if(be(g))return J;const h=Fe(i);Ne(h,((e,[,t])=>Q(ze(h,t),(({3:t})=>F(e)?0:se(t,e)))));const f=Fe(c);let b=n;if(be(f)&&ee(u))b=o;else{H(s,b,o);const e=Fe();Ne(f,((t,[s,n])=>Xe(We(e,s,Ke),[t,n])));const t=Ke();Ne(g,(s=>fe(e,s)?0:Xe(t,s)));const n=Fe(),a=(t,n,a,l)=>Q(t,(([r,i,d,c])=>{Ne(n,((t,[s])=>{const n=We(r,t,Fe),o=ze(n,a),i=l?void 0:s;if(o!==i){const s=Ke([[o,i]]),l=ce(n);Oe(n,a,i),Le(ze(e,t),(([e,t])=>{const o=qt(c[e],l,n,s,t);c[e]=F(ae(o))?null:o}))}})),be(i)||!q(u,(e=>e((e=>c[e]))))?o.delRow(s,d):F(d)?t[2]=o.addRow(s,c):o.setRow(s,d,c)}));k(b,s,b.addRowListener(s,null,((o,l,r,i)=>{const d=[],c=[],u=Fe(),g=b.hasRow(s,r);let h=!g;Le(t,(e=>{const[t,n,o]=i(s,r,e);se(d,n),se(c,o),h||=t})),Ne(e,(e=>{const[t,,n]=i(s,r,e);(h||t)&&Oe(u,e,[n])})),h&&a(Ge(n,d,void 0,(([,e])=>(Ce(e,r),be(e)))),u,r,1),g&&a(Ge(n,c,(()=>{const e={};return Le(t,(t=>e[t]=b.getCell(s,r,t))),[Fe(),Ke(),void 0,e]}),(([,e])=>{Xe(e,r)})),u,r)})))}H(s,e,b);const I=(t,n,o,l)=>{const r=t=>e.getCell(n,o,t);Y(l,(n=>{const[o,,a,l,i]=ze(h,n),d=a?.(r,t),[c,u]=ze(i,t)??[];d!=c&&(F(u)||E(s,u),Oe(i,t,F(d)?null:[d,...m(s,1,e.addRowListener(o,d,(()=>I(t,o,d,l))))]))})),(t=>{const n=(s,n)=>e.getCell(...F(n)?[a,t,s]:s===a?[a,t,n]:[ze(h,s)?.[0],ze(ze(h,s)?.[4],t)?.[0],n]);b.transaction((()=>q(d,(e=>e(n)))?Ne(g,((e,o)=>re(b,s,t,e,o(n,t)))):b.delRow(s,t)))})(t)},{3:w}=ze(h,null);return b.transaction((()=>m(s,1,e.addRowListener(a,null,((t,n,o)=>{e.hasRow(a,o)?I(o,a,o,w):(b.delRow(s,o),Le(h,(({4:e})=>Q(ze(e,o),(([,t])=>{E(s,t),Oe(e,o)})))))}))))),J},delQueryDefinition:e=>(D(e),y(e),J),getStore:g,getQueryIds:f,forEachQuery:b,hasQuery:v,getTableId:p,addQueryIdsListener:e=>V((()=>e(J))),delListener:e=>(u(e),J),destroy:M,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=o.getListenerStats();return n}};return De({[h]:[1,1],[h+T]:[0,1],[w]:[0,1],[L]:[0,1],[C]:[0,5],[I]:[1,2],[T]:[0,2],[R]:[1,3]},(([e,t],s)=>{Y(e?["get","has","forEach"]:["get"],(e=>J[e+d+s]=(...t)=>o[e+s](...t))),J[c+d+s+i]=(...e)=>o[c+s+i](...A(e,0,t),((s,...n)=>e[t](J,...n)),!0)})),Ve(J)})),Xt=$e((e=>{const s=Fe(),n=Fe(),o=Fe(),a=Fe(),[l,r,i]=st((()=>v)),[d,c,u,g,h,f,,,b,I,w,L]=Ye(e,(()=>[Fe(),Fe(),Fe(),Fe()]),(e=>F(e)?void 0:e+t),l,r),C=(e,t,s)=>Q(f(e),(([n,,o])=>{if(!fe(o,t)){const a=Ke();if(h(e)!=T(e))Xe(a,t);else{let e=t;for(;!F(e)&&!fe(a,e);)Xe(a,e),e=ze(n,e)}if(s)return a;Oe(o,t,a)}return ze(o,t)})),R=(e,t)=>Q(f(e),(([,,e])=>Oe(e,t))),T=e=>ze(s,e),v={setRelationshipDefinition:(e,t,l,i)=>(Oe(s,e,l),b(e,t,((t,s)=>{const l=Ke(),i=Ke(),d=Ke(),[c,u]=f(e);Le(s,(([t,s],n)=>{F(t)||(Xe(i,t),Q(ze(u,t),(e=>{Ce(e,n),be(e)&&Oe(u,t)}))),F(s)||(Xe(i,s),fe(u,s)||Oe(u,s,Ke()),Xe(ze(u,s),n)),Xe(l,n),Oe(c,n,s),Ne(ze(a,e),(t=>{fe(C(e,t),n)&&Xe(d,t)}))})),t(),Le(l,(t=>r(n,[e,t]))),Le(i,(t=>r(o,[e,t]))),Le(d,(t=>{R(e,t),r(a,[e,t])}))}),Ze(i)),v),delRelationshipDefinition:e=>(Oe(s,e),I(e),v),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:T,getRemoteRowId:(e,t)=>ze(f(e)?.[0],t),getLocalRowIds:(e,t)=>Ie(ze(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>F(f(e))?[t]:Ie(C(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>l(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>l(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(C(e,t),l(s,a,[e,t])),delListener:e=>(R(...i(e)??[]),v),destroy:L,getListenerStats:()=>({remoteRowId:ge(n),localRowIds:ge(o),linkedRowIds:ge(a)})};return Ve(v)}));export{nt as createCheckpoints,ut as createIndexes,Bt as createMergeableStore,Gt as createMetrics,Kt as createQueries,Xt as createRelationships,Pt as createStore,dt as defaultSorter,ct as getUniqueId};
1
+ const e=e=>typeof e,t="",s=e(t),n=e(!0),l=e(0),o=e(e),a="type",r="default",i="Listener",d="Result",c="add",u="Has",g="Ids",h="Table",f=h+"s",I=h+g,b="Row",w=b+"Count",L=b+g,C="Sorted"+b+g,R="Cell",T=R+g,v="Value",p=v+"s",S=v+g,y=e=>t+e,V=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),M=(e,s=t,n)=>e.split(s,n),E=globalThis,k=Math,D=k.max,H=k.min,J=k.floor,x=isFinite,F=e=>null==e,Q=(e,t,s)=>F(e)?s?.():t(e),z=e=>e==s||e==n,N=t=>e(t)==s,O=t=>e(t)==o,W=e=>Array.isArray(e),A=(e,t,s)=>e.slice(t,s),P=e=>e.length,j=()=>{},_=()=>{},B=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},U=(e,t)=>e.includes(t),q=(e,t)=>e.every(t),G=(e,t)=>P(e)===P(t)&&q(e,((e,s)=>t[s]===e)),K=(e,t)=>q(e,((s,n)=>0==n||t(e[n-1],s)<=0)),X=(e,t)=>e.sort(t),Y=(e,t)=>e.forEach(t),Z=(e,t)=>e.map(t),$=e=>te(e,((e,t)=>e+t),0),ee=e=>0==P(e),te=(e,t,s)=>e.reduce(t,s),se=(e,...t)=>e.push(...t),ne=e=>e.pop(),le=e=>e.shift(),oe=t=>{const s=e(t);return z(s)||s==l&&x(t)?s:void 0},ae=e=>F(e)||!F(oe(e)),re=(e,t,s,n,l)=>F(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l),ie=(e,t,s)=>F(s)?e.delValue(t):e.setValue(t,s),de=e=>t=>te(be(t),((t,s)=>t+e(s)),0),ce=e=>e?.size??0,ue=de(ce),ge=de(ue),he=de(ge),fe=(e,t)=>e?.has(t)??!1,Ie=e=>F(e)||0==ce(e),be=e=>[...e?.values()??[]],we=e=>e.clear(),Le=(e,t)=>e?.forEach(t),Ce=(e,t)=>e?.delete(t),Re=Object,Te=e=>Re.getPrototypeOf(e),ve=Re.entries,pe=Re.isFrozen,Se=e=>!F(e)&&Q(Te(e),(e=>e==Re.prototype||F(Te(e))),(()=>!0)),ye=Re.keys,Ve=Re.freeze,me=(e=[])=>Re.fromEntries(e),Me=(e,t)=>t in e,Ee=(e,t)=>(delete e[t],e),ke=(e,t)=>Y(ve(e),(([e,s])=>t(s,e))),De=(e,t)=>me(((e,t)=>Z(ve(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),He=e=>Se(e)&&0==(e=>P(ye(e)))(e),Je=(e,t,s)=>(Me(e,t)||(e[t]=s()),e[t]),xe=(e,t,s,n=0)=>F(e)||!Se(e)||!n&&He(e)||pe(e)?(s?.(),!1):(ke(e,((s,n)=>{t(s,n)||Ee(e,n)})),!!n||!He(e)),Fe=e=>new Map(e),Qe=e=>[...e?.keys()??[]],ze=(e,t)=>e?.get(t),Ne=(e,t)=>Le(e,((e,s)=>t(s,e))),Oe=(e,t,s)=>F(s)?(Ce(e,t),e):e?.set(t,s),We=(e,t,s,n)=>(fe(e,t)?n?.(ze(e,t)):Oe(e,t,s()),ze(e,t)),Ae=(e,t,s,n=Oe)=>(De(t,((t,n)=>s(e,n,t))),Ne(e,(s=>Me(t,s)?0:n(e,s))),e),Pe=(e,t,s,n)=>{const l={};return Le(e,((e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;n?.(s)||(l[o]=s)}})),l},je=(e,t,s)=>Pe(e,(e=>Pe(e,t,s)),Ie,He),_e=(e,t,s)=>Pe(e,(e=>je(e,t,s)),Ie,He),Be=(e,t)=>{const s=Fe();return Le(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ue=e=>Be(e,Be),qe=e=>Be(e,Ue),Ge=(e,t,s,n,l=0)=>Q((s?We:ze)(e,t[l],l>P(t)-2?s:Fe),(o=>{if(l>P(t)-2)return n?.(o)&&Oe(e,t[l]),o;const a=Ge(o,t,s,n,l+1);return Ie(o)&&Oe(e,t[l]),a})),Ke=e=>new Set(W(e)||F(e)?e:[e]),Xe=(e,t)=>e?.add(t),Ye=(e,t,s,n,l)=>{const o=e.hasRow,a=Fe(),r=Fe(),i=Fe(),d=Fe(),c=Fe(),u=Fe(),g=(t,s,...n)=>{const l=We(u,t,Ke);return Y(n,(t=>Xe(l,t)&&s&&e.callListener(t))),n},h=(t,...s)=>Q(ze(u,t),(n=>{Y(ee(s)?be(n):s,(t=>{e.delListener(t),Ce(n,t)})),Ie(n)&&Oe(u,t)})),f=(e,s)=>{Oe(a,e,s),fe(r,e)||(Oe(r,e,t()),Oe(d,e,Fe()),Oe(c,e,Fe()),l(i))},I=e=>{Oe(a,e),Oe(r,e),Oe(d,e),Oe(c,e),h(e),l(i)};return[()=>e,()=>Qe(a),e=>Ne(r,e),e=>fe(r,e),e=>ze(a,e),e=>ze(r,e),(e,t)=>Oe(r,e,t),f,(t,n,l,a,r)=>{f(t,n);const i=Fe(),u=Fe(),I=ze(d,t),b=ze(c,t),w=t=>{const l=s=>e.getCell(n,t,s),d=ze(I,t),c=o(n,t)?s(a(l,t)):void 0;if(d===c||W(d)&&W(c)&&G(d,c)||Oe(i,t,[d,c]),!F(r)){const e=ze(b,t),s=o(n,t)?r(l,t):void 0;e!=s&&Oe(u,t,s)}},L=e=>{l((()=>{Le(i,(([,e],t)=>Oe(I,t,e))),Le(u,((e,t)=>Oe(b,t,e)))}),i,u,I,b,e),we(i),we(u)};Ne(I,w),e.hasTable(n)&&Y(e.getRowIds(n),(e=>{fe(I,e)||w(e)})),L(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>w(s))),e.addTableListener(n,(()=>L())))},I,e=>n(e,i),()=>Ne(u,I),g,h]},Ze=(e,s)=>N(e)?t=>t(e):e??(()=>s??t),$e=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const l=s.get(n);return t?.(l),l}},et=/^\d+$/,tt=()=>{const e=[];let s=0;return[n=>(n?le(e):null)??t+s++,t=>{et.test(t)&&P(e)<1e3&&se(e,t)}]},st=e=>{let s;const[n,l]=tt(),o=Fe();return[(l,a,r,i=[],d=()=>[])=>{s??=e();const c=n(1);return Oe(o,c,[l,a,r,i,d]),Xe(Ge(a,r??[t],Ke),c),c},(e,n,...l)=>Y(((e,s=[t])=>{const n=[],l=(e,t)=>t==P(s)?se(n,e):null===s[t]?Le(e,(e=>l(e,t+1))):Y([s[t],null],(s=>l(ze(e,s),t+1)));return l(e,0),n})(e,n),(e=>Le(e,(e=>ze(o,e)[0](s,...n??[],...l))))),e=>Q(ze(o,e),(([,s,n])=>(Ge(s,n??[t],void 0,(t=>(Ce(t,e),Ie(t)?1:0))),Oe(o,e),l(e),n))),e=>Q(ze(o,e),(([e,,t=[],n,l])=>{const o=(...a)=>{const r=P(a);r==P(t)?e(s,...a,...l(a)):F(t[r])?Y(n[r]?.(...a)??[],(e=>o(...a,e))):o(...a,t[r])};o()}))]},nt=$e((e=>{let s,n,l,o=100,a=Fe(),r=Fe(),i=1;const d=Fe(),c=Fe(),[u,g,h]=st((()=>J)),f=Fe(),I=Fe(),b=[],w=[],L=(t,s)=>{i=0,e.transaction((()=>{const[n,l]=ze(f,s);Le(n,((s,n)=>Le(s,((s,l)=>Le(s,((s,o)=>re(e,n,l,o,s[t]))))))),Le(l,((s,n)=>ie(e,n,s[t])))})),i=1},C=e=>{Oe(f,e),Oe(I,e),g(c,[e])},R=(e,t)=>Y(((e,t)=>e.splice(0,t))(e,t??P(e)),C),T=()=>R(b,P(b)-o),v=()=>Q(s,(()=>{se(b,s),T(),R(w),s=void 0,l=1})),p=()=>{s=ne(b),l=1};let S,y;const V=(e=t)=>(F(s)&&(s=t+n++,Oe(f,s,[a,r]),D(s,e),a=Fe(),r=Fe(),l=1),s),m=()=>{ee(b)||(((e,...t)=>{e.unshift(...t)})(w,V()),L(0,s),s=ne(b),l=1)},M=()=>{ee(w)||(se(b,s),s=le(w),L(1,s),l=1)},E=()=>{l&&(g(d),l=0)},k=e=>{const t=V(e);return E(),t},D=(e,t)=>(H(e)&&ze(I,e)!==t&&(Oe(I,e,t),g(c,[e])),J),H=e=>fe(f,e),J={setSize:e=>(o=e,T(),J),addCheckpoint:k,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...b],s,[...w]],forEachCheckpoint:e=>Ne(I,e),hasCheckpoint:H,getCheckpoint:e=>ze(I,e),goBackward:()=>(m(),E(),J),goForward:()=>(M(),E(),J),goTo:e=>{const t=U(b,e)?m:U(w,e)?M:null;for(;!F(t)&&e!=s;)t();return E(),J},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),J),clear:()=>(R(b),R(w),F(s)||C(s),s=void 0,n=0,k(),J),clearForward:()=>(ee(w)||(R(w),g(d)),J),destroy:()=>{e.delListener(S),e.delListener(y)},getListenerStats:()=>({checkpointIds:ue(d),checkpoint:ue(c)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,((e,t,s,n,l,o)=>{if(i){v();const e=We(a,t,Fe),r=We(e,s,Fe),i=We(r,n,(()=>[o,void 0]));i[1]=l,i[0]===l&&Ie(Oe(r,n))&&Ie(Oe(e,s))&&Ie(Oe(a,t))&&p(),E()}})),y=e.addValueListener(null,((e,t,s,n)=>{if(i){v();const e=We(r,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&Ie(Oe(r,t))&&p(),E()}}))}};return Ve(J.clear())}),(e=>e._registerListeners())),lt=M("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ot=Fe(Z(lt,((e,t)=>[e,t]))),at=e=>lt[63&e],rt=(e,t)=>ze(ot,e[t])??0,it=E.crypto?e=>E.crypto.getRandomValues(e):e=>Z(e,(()=>J(256*k.random()))),dt=(e,t)=>(e??0)<(t??0)?-1:1,ct=(e=16)=>te(it(new Uint8Array(e)),((e,t)=>e+at(t)),""),ut=$e((e=>{const s=Fe(),n=Fe(),[l,o,a]=st((()=>C)),[r,i,d,c,u,g,h,,f,I,b,w]=Ye(e,Fe,(e=>F(e)?t:W(e)?Z(e,y):y(e)),l,o),L=(t,s,n)=>{const l=u(t);Le(n,((t,n)=>s(n,(s=>Le(t,(t=>s(t,(s=>e.forEachCell(l,t,s)))))))))},C={setIndexDefinition:(e,t,l,a,r,i=dt)=>{const d=F(r)?void 0:([e],[t])=>r(e,t);return f(e,t,((t,l,r,c,u,f)=>{let I=0;const b=Ke(),w=Ke(),L=g(e);if(Le(l,(([e,t],s)=>{const n=Ke(e),l=Ke(t);Le(n,(e=>Ce(l,e)?Ce(n,e):0)),Le(n,(e=>{Xe(b,e),Q(ze(L,e),(t=>{Ce(t,s),Ie(t)&&(Oe(L,e),I=1)}))})),Le(l,(e=>{Xe(b,e),fe(L,e)||(Oe(L,e,Ke()),I=1),Xe(ze(L,e),s),F(a)||Xe(w,e)}))})),t(),Ie(u)||(f?Ne(L,(e=>Xe(w,e))):Ne(r,(e=>Q(ze(c,e),(e=>Y(W(e)?e:[e],(e=>Xe(w,e))))))),Le(w,(e=>{const t=(t,s)=>i(ze(u,t),ze(u,s),e),s=[...ze(L,e)];K(s,t)||(Oe(L,e,Ke(X(s,t))),Xe(b,e))}))),(I||f)&&!F(d)){const t=[...L];K(t,d)||(h(e,Fe(X(t,d))),I=1)}I&&o(s,[e]),Le(b,(t=>o(n,[e,t])))}),Ze(l),Q(a,Ze)),C},delIndexDefinition:e=>(I(e),C),getStore:r,getIndexIds:i,forEachIndex:e=>d(((t,s)=>e(t,(e=>L(t,e,s))))),forEachSlice:(e,t)=>L(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>fe(g(e),t),getTableId:u,getSliceIds:e=>Qe(g(e)),getSliceRowIds:(e,t)=>be(ze(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,t)=>l(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>l(s,n,[e,t]),delListener:e=>(a(e),C),destroy:w,getListenerStats:()=>({sliceIds:ue(s),sliceRowIds:ge(n)})};return Ve(C)})),gt=new E.TextEncoder,ht=e=>{let t=2166136261;return Y(gt.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},ft=2**36,It=2**30,bt=2**24,wt=2**18,Lt=4096,Ct=JSON.stringify,Rt=JSON.parse,Tt=e=>Ct(e,((e,t)=>t instanceof Map?Re.fromEntries([...t]):t)),vt=([e,t])=>St(e,t),pt=([e,t,s])=>[e,t,s],St=(e,t)=>t?[e,t]:[e],yt=(e,t,s)=>[e,t,s],Vt=e=>e[2],mt=(e,t)=>ht(e+":"+t),Mt=(e,t)=>t>e?(e?ht(e):0)^ht(t):0,Et=(e,t)=>((e??"")>(t??"")?e:t)??"",kt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},Dt=(e=t)=>St(me(),e),Ht=(e=t)=>[Fe(),e,0],Jt=([e,t,s],n=pt)=>[Pe(e,n),t,s],xt=([e,t],s=vt)=>St(Pe(e,s),t),Ft=(t,s)=>W(t)&&3==P(t)&&N(t[1])&&e(t[2])==l&&x(t[2])&&s(t[0]),Qt=e=>[e,e],zt=(e,t=ue)=>t(e[0])+t(e[1]),Nt=()=>[Fe(),Fe()],Ot=e=>[...e],Wt=([e,t])=>e===t,At=(e,t,s)=>Oe(e,t,ze(e,t)==-s?void 0:s),Pt=()=>{let e,t,s=!1,n=!1,o=0,d=[];const g=Fe(),C=Fe(),V=Fe(),m=Fe(),M=Fe(),E=Fe(),k=Fe(),D=Fe(),H=Fe(),J=Fe(),x=Fe(),N=Fe(),P=Fe(),j=Fe(),_=Ke(),q=Fe(),K=Fe(),$=Fe(),ee=Fe(),te=Nt(),ne=Nt(),le=Nt(),ae=Nt(),de=Nt(),be=Nt(),Re=Nt(),Te=Nt(),ve=Nt(),pe=Nt(),ye=Nt(),me=Nt(),ke=Nt(),Je=Nt(),Ge=Nt(),Ye=Nt(),Ze=Nt(),$e=Nt(),et=Nt(),nt=Nt(),lt=Nt(),ot=Nt(),at=Fe(),rt=Nt(),[it,ct,ut,gt]=st((()=>Ps)),ht=e=>{if(!xe(e,((e,t)=>U([a,r],t))))return!1;const t=e[a];return!(!z(t)&&t!=l||(oe(e[r])!=t&&Ee(e,r),0))},ft=W,It=(t,s)=>(!e||fe(x,s)||$t(s))&&xe(t,((e,t)=>bt(s,t,e)),(()=>$t(s))),bt=(e,t,s,n)=>xe(n?s:vt(s,e,t),((n,l)=>Q(wt(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>$t(e,t))),wt=(t,s,n,l)=>e?Q(ze(ze(x,t),n),(e=>oe(l)!=e[a]?$t(t,s,n,l,e[r]):l),(()=>$t(t,s,n,l))):F(oe(l))?$t(t,s,n,l):l,Lt=(e,t)=>xe(t?e:pt(e),((t,s)=>Q(Ct(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>es())),Ct=(e,s)=>t?Q(ze(P,e),(t=>oe(s)!=t[a]?es(e,s,t[r]):s),(()=>es(e,s))):F(oe(s))?es(e,s):s,vt=(e,t,s)=>(Q(ze(N,t),(([n,l])=>{Le(n,((t,s)=>{Me(e,s)||(e[s]=t)})),Le(l,(n=>{Me(e,n)||$t(t,s,n)}))})),e),pt=e=>(t&&(Le(j,((t,s)=>{Me(e,s)||(e[s]=t)})),Le(_,(t=>{Me(e,t)||es(t)}))),e),St=e=>Ae(x,e,((e,t,s)=>{const n=Fe(),l=Ke();Ae(We(x,t,Fe),s,((e,t,s)=>{Oe(e,t,s),Q(s[r],(e=>Oe(n,t,e)),(()=>Xe(l,t)))})),Oe(N,t,[n,l])}),((e,t)=>{Oe(x,t),Oe(N,t)})),yt=e=>Ae(P,e,((e,t,s)=>{Oe(P,t,s),Q(s[r],(e=>Oe(j,t,e)),(()=>Xe(_,t)))}),((e,t)=>{Oe(P,t),Oe(j,t),Ce(_,t)})),Vt=e=>He(e)?Js():Ms(e),mt=e=>Ae($,e,((e,t,s)=>Mt(t,s)),((e,t)=>jt(t))),Mt=(e,t)=>Ae(We($,e,(()=>(qt(e,1),Oe(q,e,tt()),Oe(K,e,Fe()),Fe()))),t,((t,s,n)=>Et(e,t,s,n)),((t,s)=>_t(e,t,s))),Et=(e,t,s,n,l)=>Ae(We(t,s,(()=>(Gt(e,s,1),Fe()))),n,((t,n,l)=>kt(e,s,t,n,l)),((n,o)=>Bt(e,t,s,n,o,l))),kt=(e,t,s,n,l)=>{fe(s,n)||Kt(e,t,n,1);const o=ze(s,n);l!==o&&(Xt(e,t,n,o,l),Oe(s,n,l))},Dt=(e,t,s,n,l)=>Q(ze(t,s),(t=>kt(e,s,t,n,l)),(()=>Et(e,t,s,vt({[n]:l},e,s)))),Ht=e=>He(e)?Qs():Es(e),Jt=e=>Ae(ee,e,((e,t,s)=>xt(t,s)),((e,t)=>Ut(t))),xt=(e,t)=>{fe(ee,e)||Yt(e,1);const s=ze(ee,e);t!==s&&(Zt(e,s,t),Oe(ee,e,t))},Ft=e=>ze($,e)??Mt(e,{}),jt=e=>Mt(e,{}),_t=(e,t,s)=>{const[,n]=ze(q,e);n(s),Et(e,t,s,{},!0)},Bt=(e,t,s,n,l,o)=>{const a=ze(ze(N,e)?.[0],l);if(!F(a)&&!o)return kt(e,s,n,l,a);const r=t=>{Xt(e,s,t,ze(n,t)),Kt(e,s,t,-1),Oe(n,t)};F(a)?r(l):Ne(n,r),Ie(n)&&(Gt(e,s,-1),Ie(Oe(t,s))&&(qt(e,-1),Oe($,e),Oe(q,e),Oe(K,e)))},Ut=e=>{const t=ze(j,e);if(!F(t))return xt(e,t);Zt(e,ze(ee,e)),Yt(e,-1),Oe(ee,e)},qt=(e,t)=>At(g,e,t),Gt=(e,t,s)=>At(We(m,e,Fe),t,s)&&Oe(V,e,We(V,e,(()=>0))+s),Kt=(e,t,s,n)=>{const l=ze(K,e),o=ze(l,s)??0;(0==o&&1==n||1==o&&-1==n)&&At(We(C,e,Fe),s,n),Oe(l,s,o!=-n?o+n:null),At(We(We(M,e,Fe),t,Fe),s,n)},Xt=(e,t,s,n,l)=>{We(We(We(E,e,Fe),t,Fe),s,(()=>[n,0]))[1]=l,d[3]?.(e,t,s,l)},Yt=(e,t)=>At(k,e,t),Zt=(e,t,s)=>{We(D,e,(()=>[t,0]))[1]=s,d[4]?.(e,s)},$t=(e,t,s,n,l)=>(se(We(We(We(H,e,Fe),t,Fe),s,(()=>[])),n),l),es=(e,t,s)=>(se(We(J,e,(()=>[])),t),s),ts=(e,t,s)=>Q(ze(ze(ze(E,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Qt(ws(e,t,s))])),ss=e=>Q(ze(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Qt(Rs(e))])),ns=e=>Ie(H)||Ie(Ye[e])?0:Le(e?qe(H):H,((t,s)=>Le(t,((t,n)=>Le(t,((t,l)=>ct(Ye[e],[s,n,l],t))))))),ls=e=>Ie(J)||Ie(Ze[e])?0:Le(e?Be(J):J,((t,s)=>ct(Ze[e],[s],t))),os=(e,t,s,n)=>{if(!Ie(e))return ct(t,n,(()=>Pe(e))),Ne(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},as=e=>{const t=Ts();t!=s&&ct(te[e],void 0,t);const n=Ie(pe[e]),l=Ie(ke[e])&&Ie(Je[e])&&Ie(ve[e])&&Ie(ye[e])&&Ie(be[e])&&Ie(Re[e])&&Ie(Te[e])&&n&&Ie(le[e])&&Ie(ae[e]),o=Ie(Ge[e])&&Ie(me[e])&&Ie(de[e])&&Ie(ne[e]);if(!l||!o){const t=e?[Be(g),Ue(C),Be(V),Ue(m),qe(M),qe(E)]:[g,C,V,m,M,E];if(!l){os(t[0],le[e],ae[e]),Le(t[1],((t,s)=>os(t,be[e],Re[e],[s]))),Le(t[2],((t,s)=>{0!=t&&ct(Te[e],[s],hs(s))}));const s=Ke();Le(t[3],((t,l)=>{os(t,ve[e],ye[e],[l])&&!n&&(ct(pe[e],[l,null]),Xe(s,l))})),n||Le(t[5],((t,n)=>{if(!fe(s,n)){const s=Ke();Le(t,(e=>Le(e,(([t,n],l)=>n!==t?Xe(s,l):Ce(e,l))))),Le(s,(t=>ct(pe[e],[n,t])))}})),Le(t[4],((t,s)=>Le(t,((t,n)=>os(t,ke[e],Je[e],[s,n])))))}if(!o){let s;Le(t[5],((t,n)=>{let l;Le(t,((t,o)=>{let a;Le(t,(([t,r],i)=>{r!==t&&(ct(Ge[e],[n,o,i],r,t,ts),s=l=a=1)})),a&&ct(me[e],[n,o],ts)})),l&&ct(de[e],[n],ts)})),s&&ct(ne[e],void 0,ts)}}},rs=e=>{const t=Vs();t!=n&&ct($e[e],void 0,t);const s=Ie(nt[e])&&Ie(lt[e]),l=Ie(ot[e])&&Ie(et[e]);if(!s||!l){const t=e?[Be(k),Be(D)]:[k,D];if(s||os(t[0],nt[e],lt[e]),!l){let s;Le(t[1],(([t,n],l)=>{n!==t&&(ct(ot[e],[l],n,t,ss),s=1)})),s&&ct(et[e],void 0,ss)}}},is=(e,...t)=>(Os((()=>e(...Z(t,y)))),Ps),ds=(e,t,s,n,l)=>{let o=Is(e,t,...s);return it((()=>{const l=Is(e,t,...s);G(l,o)||(o=l,n(Ps,e,t,...s,o))}),pe[l?1:0],[e,t],[us])},cs=()=>_e($),us=()=>Qe($),gs=e=>Qe(ze(K,y(e))),hs=e=>ce(ze($,y(e))),fs=e=>Qe(ze($,y(e))),Is=(e,t,s,n=0,l)=>{return Se(e)?Is(e.tableId,e.cellId,e.descending,e.offset,e.limit):Z(A(X((o=ze($,y(e)),a=(e,s)=>[F(t)?s:ze(e,y(t)),s],Z([...o?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>dt(e,t)*(s?-1:1))),n,F(l)?l:n+l),(([,e])=>e));var o,a},bs=(e,t)=>Qe(ze(ze($,y(e)),y(t))),ws=(e,t,s)=>ze(ze(ze($,y(e)),y(t)),y(s)),Ls=()=>Pe(ee),Cs=()=>Qe(ee),Rs=e=>ze(ee,y(e)),Ts=()=>!Ie($),vs=e=>fe($,y(e)),ps=(e,t)=>fe(ze(K,y(e)),y(t)),Ss=(e,t)=>fe(ze($,y(e)),y(t)),ys=(e,t,s)=>fe(ze(ze($,y(e)),y(t)),y(s)),Vs=()=>!Ie(ee),ms=e=>fe(ee,y(e)),Ms=e=>is((()=>(e=>xe(e,It,$t))(e)?mt(e):0)),Es=e=>is((()=>Lt(e)?Jt(e):0)),ks=e=>(B((()=>Vt(Rt(e)))),Ps),Ds=t=>is((()=>{if((e=xe(t,(e=>xe(e,ht))))&&(St(t),!Ie($))){const e=cs();Js(),Ms(e)}})),Hs=e=>is((()=>{if(t=(e=>xe(e,ht))(e)){const s=Ls();Ns(),Qs(),t=!0,yt(e),Es(s)}})),Js=()=>is((()=>mt({}))),xs=e=>is((e=>fe($,e)?jt(e):0),e),Fs=(e,t)=>is(((e,t)=>Q(ze($,e),(s=>fe(s,t)?_t(e,s,t):0))),e,t),Qs=()=>is((()=>Jt({}))),zs=()=>is((()=>{St({}),e=!1})),Ns=()=>is((()=>{yt({}),t=!1})),Os=(e,t)=>{if(-1!=o){Ws();const s=e();return As(t),s}},Ws=()=>(-1!=o&&o++,1==o&&(d[0]?.(),ct(at)),Ps),As=e=>(o>0&&(o--,0==o&&(o=1,ns(1),Ie(E)||as(1),ls(1),Ie(D)||rs(1),e?.(Ps)&&(Le(E,((e,t)=>Le(e,((e,s)=>Le(e,(([e],n)=>re(Ps,t,s,n,e))))))),we(E),Le(D,(([e],t)=>ie(Ps,t,e))),we(D)),ct(rt[0],void 0),o=-1,ns(0),Ie(E)||as(0),ls(0),Ie(D)||rs(0),d[1]?.(),ct(rt[1],void 0),d[2]?.(),o=0,s=Ts(),n=Vs(),Y([g,C,V,m,M,E,H,k,D,J],we))),Ps),Ps={getContent:()=>[cs(),Ls()],getTables:cs,getTableIds:us,getTable:e=>je(ze($,y(e))),getTableCellIds:gs,getRowCount:hs,getRowIds:fs,getSortedRowIds:Is,getRow:(e,t)=>Pe(ze(ze($,y(e)),y(t))),getCellIds:bs,getCell:ws,getValues:Ls,getValueIds:Cs,getValue:Rs,hasTables:Ts,hasTable:vs,hasTableCell:ps,hasRow:Ss,hasCell:ys,hasValues:Vs,hasValue:ms,getTablesJson:()=>Tt($),getValuesJson:()=>Tt(ee),getJson:()=>Tt([$,ee]),getTablesSchemaJson:()=>Tt(x),getValuesSchemaJson:()=>Tt(P),getSchemaJson:()=>Tt([x,P]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>is((()=>{const t=O(e)?e():e;ft(t)&&(([e,t])=>{(He(e)?Js:Ms)(e),(He(t)?Qs:Es)(t)})(t)})),setTables:Ms,setTable:(e,t)=>is((e=>It(t,e)?Mt(e,t):0),e),setRow:(e,t,s)=>is(((e,t)=>bt(e,t,s)?Et(e,Ft(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Os((()=>{let n;return bt(e,n,t)&&(e=y(e),Et(e,Ft(e),n=((e,t)=>{const[s]=ze(q,e);let n;do{n=s(t)}while(fe(ze($,e),n));return n})(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>is(((e,t)=>{if(bt(e,t,s,1)){const n=Ft(e);De(s,((s,l)=>Dt(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>is(((e,t,s)=>Q(wt(e,t,s,O(n)?n(ws(e,t,s)):n),(n=>Dt(e,Ft(e),t,s,n)))),e,t,s),setValues:Es,setPartialValues:e=>is((()=>Lt(e,1)?De(e,((e,t)=>xt(t,e))):0)),setValue:(e,t)=>is((e=>Q(Ct(e,O(t)?t(Rs(e)):t),(t=>xt(e,t)))),e),applyChanges:e=>is((()=>{De(e[0],((e,t)=>F(e)?xs(t):De(e,((e,s)=>F(e)?Fs(t,s):De(e,((e,n)=>re(Ps,t,s,n,e))))))),De(e[1],((e,t)=>ie(Ps,t,e)))})),setTablesJson:ks,setValuesJson:e=>(B((()=>Ht(Rt(e)))),Ps),setJson:e=>is((()=>B((()=>{const[t,s]=Rt(e);Vt(t),Ht(s)}),(()=>ks(e))))),setTablesSchema:Ds,setValuesSchema:Hs,setSchema:(e,t)=>is((()=>{Ds(e),Hs(t)})),delTables:Js,delTable:xs,delRow:Fs,delCell:(e,t,s,n)=>is(((e,t,s)=>Q(ze($,e),(l=>Q(ze(l,t),(o=>fe(o,s)?Bt(e,l,t,o,s,n):0))))),e,t,s),delValues:Qs,delValue:e=>is((e=>fe(ee,e)?Ut(e):0),e),delTablesSchema:zs,delValuesSchema:Ns,delSchema:()=>is((()=>{zs(),Ns()})),transaction:Os,startTransaction:Ws,getTransactionChanges:()=>[Pe(E,((e,t)=>-1===ze(g,t)?void 0:Pe(e,((e,s)=>-1===ze(ze(m,t),s)?void 0:Pe(e,(([,e])=>e),(e=>Wt(e)))),Ie,He)),Ie,He),Pe(D,(([,e])=>e),(e=>Wt(e))),1],getTransactionLog:()=>[!Ie(E),!Ie(D),_e(E,Ot,Wt),_e(H),Pe(D,Ot,Wt),Pe(J),Pe(g),je(m),_e(M),Pe(k)],finishTransaction:As,forEachTable:e=>Le($,((t,s)=>e(s,(e=>Le(t,((t,s)=>e(s,(e=>Ne(t,e))))))))),forEachTableCell:(e,t)=>Ne(ze(K,y(e)),t),forEachRow:(e,t)=>Le(ze($,y(e)),((e,s)=>t(s,(t=>Ne(e,t))))),forEachCell:(e,t,s)=>Ne(ze(ze($,y(e)),y(t)),s),forEachValue:e=>Ne(ee,e),addSortedRowIdsListener:(e,t,s,n,l,o,a)=>Se(e)?ds(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):ds(e,t,[s,n,l],o,a),addStartTransactionListener:e=>it(e,at),addWillFinishTransactionListener:e=>it(e,rt[0]),addDidFinishTransactionListener:e=>it(e,rt[1]),callListener:e=>(gt(e),Ps),delListener:e=>(ut(e),Ps),getListenerStats:()=>({hasTables:zt(te),tables:zt(ne),tableIds:zt(le),hasTable:zt(ae),table:zt(de),tableCellIds:zt(be),hasTableCell:zt(Re,ge),rowCount:zt(Te),rowIds:zt(ve),sortedRowIds:zt(pe),hasRow:zt(ye,ge),row:zt(me,ge),cellIds:zt(ke,ge),hasCell:zt(Je,he),cell:zt(Ge,he),invalidCell:zt(Ye,he),hasValues:zt($e),values:zt(et),valueIds:zt(nt),hasValue:zt(lt),value:zt(ot),invalidValue:zt(Ze),transaction:ue(at)+zt(rt)}),isMergeable:()=>!1,createStore:Pt,addListener:it,callListeners:ct,setInternalListeners:(e,t,s,n,l)=>d=[e,t,s,n,l]};return De({[u+f]:[0,te,[],()=>[Ts()]],[f]:[0,ne],[I]:[0,le],[u+h]:[1,ae,[us],e=>[vs(...e)]],[h]:[1,de,[us]],[h+T]:[1,be,[us]],[u+h+R]:[2,Re,[us,gs],e=>[ps(...e)]],[w]:[1,Te,[us]],[L]:[1,ve,[us]],[u+b]:[2,ye,[us,fs],e=>[Ss(...e)]],[b]:[2,me,[us,fs]],[T]:[2,ke,[us,fs]],[u+R]:[3,Je,[us,fs,bs],e=>[ys(...e)]],[R]:[3,Ge,[us,fs,bs],e=>Qt(ws(...e))],InvalidCell:[3,Ye],[u+p]:[0,$e,[],()=>[Vs()]],[p]:[0,et],[S]:[0,nt],[u+v]:[1,lt,[Cs],e=>[ms(...e)]],[v]:[1,ot,[Cs],e=>Qt(Rs(e[0]))],InvalidValue:[1,Ze]},(([e,t,s,n],l)=>{Ps[c+l+i]=(...l)=>it(l[e],t[l[e+1]?1:0],e>0?A(l,0,e):void 0,s,n)})),Ve(Ps)},jt={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},_t=(e=t)=>[Ht(e),Ht(e)],Bt=(e,s)=>{let n=1,l=_t(),o=0;const a=Fe(),r=Ke(),[d,u]=((e,t=Date.now)=>{let s=0,n=-1;const l=Q(e,(e=>{const t=ht(e);return at(t/bt)+at(t/wt)+at(t/Lt)+at(t/64)+at(t)}),(()=>ct(5))),o=e=>{const l=s,[o,a]=F(e)||""==e?[0,0]:[rt(r=e,0)*ft+rt(r,1)*It+rt(r,2)*bt+rt(r,3)*wt+rt(r,4)*Lt+64*rt(r,5)+rt(r,6),rt(r,7)*wt+rt(r,8)*Lt+64*rt(r,9)+rt(r,10)];var r;s=D(l,o,t()),n=s==l?s==o?D(n,a):n:s==o?a:-1};return[()=>{return o(),t=++n,at((e=s)/ft)+at(e/It)+at(e/bt)+at(e/wt)+at(e/Lt)+at(e/64)+at(e)+at(t/wt)+at(t/Lt)+at(t/64)+at(t)+l;var e,t},o]})(e,s),g=Pt(),h=e=>{const t=n;return n=0,e(),n=t,R},f=(e,s=0)=>{const n={},o={},[[a,r=t,i=0],d]=e,[c,g]=l,[h,f,b]=c;let w=s?i:b,L=r;ke(a,(([e,l=t,o=0],a)=>{const r=We(h,a,Ht),[i,d,c]=r;let u=s?o:c,g=l;ke(e,((e,t)=>{const[l,o,r]=I(e,We(i,t,Ht),Je(Je(n,a,me),t,me),s);u^=s?0:(o?mt(t,o):0)^mt(t,r),g=Et(g,l)})),u^=s?0:Mt(d,l),kt(r,l,u),w^=s?0:(c?mt(a,c):0)^mt(a,r[2]),L=Et(L,g)})),w^=s?0:Mt(f,r),kt(c,r,w);const[C]=I(d,g,o,s);return u(Et(L,C)),[n,o,1]},I=(e,s,n,l)=>{const[o,a=t,r=0]=e,[i,d,c]=s;let u=a,g=l?r:c;return ke(o,(([e,s=t,o=0],a)=>{const r=We(i,a,(()=>[void 0,t,0])),[,d,c]=r;(!d||s>d)&&(kt(r,s,l?o:ht(Tt(e??null)+":"+s)),r[0]=e,n[a]=e,g^=l?0:mt(a,c)^mt(a,r[2]),u=Et(u,s))})),g^=l?0:Mt(d,a),kt(s,a,g),[u,c,s[2]]},b=_,w=_,L=()=>[Jt(l[0],(e=>Jt(e,(e=>Jt(e))))),Jt(l[1])],C=e=>h((()=>g.applyChanges(f(e)))),R={getMergeableContent:L,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>Pe(l[0][0],Vt),getMergeableTableDiff:e=>{const t=Dt(l[0][1]),s={};return Ne(l[0][0],((n,[l,o,a])=>Me(e,n)?a!=e[n]?s[n]=a:0:t[0][n]=xt([l,o],(e=>xt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return ke(e,((e,s)=>Q(ze(l[0][0],s),(([n,,l])=>l!=e?Ne(n,((e,[,,n])=>Je(t,s,me)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=Dt(l[0][1]),s={};return ke(e,((e,n)=>Ne(ze(l[0][0],n)?.[0],((l,[o,a,r])=>Me(e,l)?r!==e[l]?Je(s,n,me)[l]=r:0:Je(t[0],n,Dt)[0][l]=xt([o,a]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return ke(e,((e,s)=>Q(ze(l[0][0],s),(([n])=>ke(e,((e,l)=>Q(ze(n,l),(([n,,o])=>o!==e?Ne(n,((e,[,,n])=>Je(Je(t,s,me),l,me)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=l,n={};return ke(e,((e,s)=>ke(e,((e,l)=>Q(ze(t,s),(([t,o])=>Q(ze(t,l),(([t,a])=>Ne(t,((t,[r,i,d])=>d!==e[t]?Je(Je(n,s,(()=>Dt(o)))[0],l,(()=>Dt(a)))[0][t]=[r,i]:0)))))))))),St(n,s)},getMergeableValueHashes:()=>Pe(l[1][0],Vt),getMergeableValueDiff:e=>{const[,[t,s]]=l,n=Pe(t,vt,(([,,t],s)=>t==e?.[s]));return St(n,s)},setMergeableContent:e=>h((()=>(e=>W(e)&&2==P(e)&&Ft(e[0],(e=>xe(e,(e=>Ft(e,(e=>xe(e,(e=>Ft(e,(e=>xe(e,(e=>Ft(e,ae)),void 0,1)))),void 0,1)))),void 0,1)))&&Ft(e[1],(e=>xe(e,(e=>Ft(e,ae)),void 0,1))))(e)?g.transaction((()=>{g.delTables().delValues(),l=_t(),g.applyChanges(f(e,1))})):0)),setDefaultContent:e=>(g.transaction((()=>{o=1,g.setContent(e),o=0})),R),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,n],[o,i,d]]=l,c=e?yt:St,u={};Le(a,((e,s)=>Q(ze(t,s),(([t,n,l])=>{const o={};Le(e,((e,s)=>Q(ze(t,s),(([t,n,l])=>{const a={};Le(e,(e=>{Q(ze(t,e),(([t,s,n])=>a[e]=c(t,s,n)))})),o[s]=c(a,n,l)})))),u[s]=c(o,n,l)}))));const g={};return Le(r,(e=>Q(ze(o,e),(([t,s,n])=>g[e]=c(t,s,n))))),[c(u,s,n),c(g,i,d),1]},applyMergeableChanges:C,merge:e=>{const t=L(),s=e.getMergeableContent();return e.applyMergeableChanges(t),C(s)}};return g.setInternalListeners(b,w,(()=>{we(a),we(r)}),((e,s,l,r)=>{Xe(We(We(a,e,Fe),s,Ke),l),n&&f([[{[e]:[{[s]:[{[l]:[r,o?t:d()]}]}]}],[{}],1])}),((e,s)=>{Xe(r,e),n&&f([[{}],[{[e]:[s,o?t:d()]}],1])})),De(g,((e,t)=>R[t]=V(t,"set")||V(t,"del")||V(t,"apply")||m(t,"Transaction")||t=="call"+i?(...t)=>(e(...t),R):V(t,c)&&m(t,i)?(...s)=>{const n=jt[A(t,3,-8)]??0,l=s[n];return s[n]=(e,...t)=>l(R,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),Ve(R)},Ut=Fe([["avg",[(e,t)=>$(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:D(t,e)]],["min",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["sum",[e=>$(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),qt=(e,t,s,n,l,o=!1)=>{if(Ie(s))return;const[a,r,i,d]=l;return o||=F(e),Le(n,(([s,n])=>{o||(e=F(s)?r?.(e,n,t++):F(n)?i?.(e,s,t--):d?.(e,n,s,t),o||=F(e))})),o?a(be(s),ce(s)):e},Gt=$e((e=>{const s=Fe(),[n,l,o]=st((()=>w)),[a,r,i,d,c,u,g,,h,f,I,b]=Ye(e,j,(e=>isNaN(e)||F(e)||!0===e||!1===e||e===t?void 0:1*e),n,l),w={setMetricDefinition:(e,t,n,o,a,r,i)=>{const d=O(n)?[n,a,r,i]:ze(Ut,n)??ze(Ut,"sum");return h(e,t,((t,n,o,a,r,i)=>{const c=u(e),h=ce(a);i||=F(c),t();let f=qt(c,h,a,n,d,i);x(f)||(f=void 0),f!=c&&(g(e,f),l(s,[e],f,c))}),Ze(o,1)),w},delMetricDefinition:e=>(f(e),w),getStore:a,getMetricIds:r,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:I,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),w),destroy:b,getListenerStats:()=>({metric:ue(s)})};return Ve(w)})),Kt=$e((e=>{const s=e.createStore,n=s(),l=s(),o=Fe(),{addListener:a,callListeners:r,delListener:u}=l,[g,f,I,v,p,,,S,,y,V,m,M,E]=Ye(e,(()=>!0),j,a,r),k=(e,t,...s)=>Y(s,(s=>Xe(We(We(o,t,Fe),e,Ke),s))),D=e=>{Q(ze(o,e),(e=>{Ne(e,((e,t)=>Le(t,(t=>e.delListener(t))))),we(e)})),Y([l,n],(t=>t.delTable(e)))},H=(e,t,s)=>k(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),J={setQueryDefinition:(s,o,a)=>{S(s,o),D(s);const r=[],i=[[null,[o,null,null,[],Fe()]]],d=[],c=[],u=[];a({select:(e,s)=>{const n=O(e)?[P(r)+t,e]:[F(s)?e:s,t=>t(e,s)];return se(r,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=F(s)||O(t)?null:t,l=F(n)?t:s,o=[e,[e,n,O(l)?l:e=>e(l),[],Fe()]];return se(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>se(d,O(e)?e:F(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,l)=>{const o=[e,[e,O(t)?[t,s,n,l]:ze(Ut,t)??[(e,t)=>t]]];return se(c,o),{as:e=>o[0]=e}},having:(e,t)=>se(u,O(e)?e:s=>s(e)===t)});const g=Fe(r);if(Ie(g))return J;const h=Fe(i);Ne(h,((e,[,t])=>Q(ze(h,t),(({3:t})=>F(e)?0:se(t,e)))));const f=Fe(c);let I=n;if(Ie(f)&&ee(u))I=l;else{H(s,I,l);const e=Fe();Ne(f,((t,[s,n])=>Xe(We(e,s,Ke),[t,n])));const t=Ke();Ne(g,(s=>fe(e,s)?0:Xe(t,s)));const n=Fe(),o=(t,n,o,a)=>Q(t,(([r,i,d,c])=>{Ne(n,((t,[s])=>{const n=We(r,t,Fe),l=ze(n,o),i=a?void 0:s;if(l!==i){const s=Ke([[l,i]]),a=ce(n);Oe(n,o,i),Le(ze(e,t),(([e,t])=>{const l=qt(c[e],a,n,s,t);c[e]=F(oe(l))?null:l}))}})),Ie(i)||!q(u,(e=>e((e=>c[e]))))?l.delRow(s,d):F(d)?t[2]=l.addRow(s,c):l.setRow(s,d,c)}));k(I,s,I.addRowListener(s,null,((l,a,r,i)=>{const d=[],c=[],u=Fe(),g=I.hasRow(s,r);let h=!g;Le(t,(e=>{const[t,n,l]=i(s,r,e);se(d,n),se(c,l),h||=t})),Ne(e,(e=>{const[t,,n]=i(s,r,e);(h||t)&&Oe(u,e,[n])})),h&&o(Ge(n,d,void 0,(([,e])=>(Ce(e,r),Ie(e)))),u,r,1),g&&o(Ge(n,c,(()=>{const e={};return Le(t,(t=>e[t]=I.getCell(s,r,t))),[Fe(),Ke(),void 0,e]}),(([,e])=>{Xe(e,r)})),u,r)})))}H(s,e,I);const b=(t,n,l,a)=>{const r=t=>e.getCell(n,l,t);Y(a,(n=>{const[l,,o,a,i]=ze(h,n),d=o?.(r,t),[c,u]=ze(i,t)??[];d!=c&&(F(u)||E(s,u),Oe(i,t,F(d)?null:[d,...M(s,1,e.addRowListener(l,d,(()=>b(t,l,d,a))))]))})),(t=>{const n=(s,n)=>e.getCell(...F(n)?[o,t,s]:s===o?[o,t,n]:[ze(h,s)?.[0],ze(ze(h,s)?.[4],t)?.[0],n]);I.transaction((()=>q(d,(e=>e(n)))?Ne(g,((e,l)=>re(I,s,t,e,l(n,t)))):I.delRow(s,t)))})(t)},{3:w}=ze(h,null);return I.transaction((()=>M(s,1,e.addRowListener(o,null,((t,n,l)=>{e.hasRow(o,l)?b(l,o,l,w):(I.delRow(s,l),Le(h,(({4:e})=>Q(ze(e,l),(([,t])=>{E(s,t),Oe(e,l)})))))}))))),J},delQueryDefinition:e=>(D(e),y(e),J),getStore:g,getQueryIds:f,forEachQuery:I,hasQuery:v,getTableId:p,addQueryIdsListener:e=>V((()=>e(J))),delListener:e=>(u(e),J),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=l.getListenerStats();return n}};return De({[h]:[1,1],[h+T]:[0,1],[w]:[0,1],[L]:[0,1],[C]:[0,5],[b]:[1,2],[T]:[0,2],[R]:[1,3]},(([e,t],s)=>{Y(e?["get","has","forEach"]:["get"],(e=>J[e+d+s]=(...t)=>l[e+s](...t))),J[c+d+s+i]=(...e)=>l[c+s+i](...A(e,0,t),((s,...n)=>e[t](J,...n)),!0)})),Ve(J)})),Xt=$e((e=>{const s=Fe(),n=Fe(),l=Fe(),o=Fe(),[a,r,i]=st((()=>v)),[d,c,u,g,h,f,,,I,b,w,L]=Ye(e,(()=>[Fe(),Fe(),Fe(),Fe()]),(e=>F(e)?void 0:e+t),a,r),C=(e,t,s)=>Q(f(e),(([n,,l])=>{if(!fe(l,t)){const o=Ke();if(h(e)!=T(e))Xe(o,t);else{let e=t;for(;!F(e)&&!fe(o,e);)Xe(o,e),e=ze(n,e)}if(s)return o;Oe(l,t,o)}return ze(l,t)})),R=(e,t)=>Q(f(e),(([,,e])=>Oe(e,t))),T=e=>ze(s,e),v={setRelationshipDefinition:(e,t,a,i)=>(Oe(s,e,a),I(e,t,((t,s)=>{const a=Ke(),i=Ke(),d=Ke(),[c,u]=f(e);Le(s,(([t,s],n)=>{F(t)||(Xe(i,t),Q(ze(u,t),(e=>{Ce(e,n),Ie(e)&&Oe(u,t)}))),F(s)||(Xe(i,s),fe(u,s)||Oe(u,s,Ke()),Xe(ze(u,s),n)),Xe(a,n),Oe(c,n,s),Ne(ze(o,e),(t=>{fe(C(e,t),n)&&Xe(d,t)}))})),t(),Le(a,(t=>r(n,[e,t]))),Le(i,(t=>r(l,[e,t]))),Le(d,(t=>{R(e,t),r(o,[e,t])}))}),Ze(i)),v),delRelationshipDefinition:e=>(Oe(s,e),b(e),v),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:T,getRemoteRowId:(e,t)=>ze(f(e)?.[0],t),getLocalRowIds:(e,t)=>be(ze(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>F(f(e))?[t]:be(C(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>a(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>a(s,l,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(C(e,t),a(s,o,[e,t])),delListener:e=>(R(...i(e)??[]),v),destroy:L,getListenerStats:()=>({remoteRowId:ge(n),localRowIds:ge(l),linkedRowIds:ge(o)})};return Ve(v)}));export{nt as createCheckpoints,ut as createIndexes,Bt as createMergeableStore,Gt as createMetrics,Kt as createQueries,Xt as createRelationships,Pt as createStore,dt as defaultSorter,ct as getUniqueId};
package/min/index.js.gz CHANGED
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",C=b+"Count",f=b+d,T="Cell",v=T+d,w="Value",V=w+"s",p=w+d,I=e=>t+e,R=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),M=(e,s=t,a)=>e.split(s,a),S=globalThis,m=Math,L=m.max,H=m.floor,J=isFinite,E=e=>null==e,D=(e,t,s)=>E(e)?s?.():t(e),F=e=>e==s||e==a,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=()=>{},W=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},k=t=>{const s=e(t);return F(s)||s==l&&J(t)?s:void 0},N=e=>E(e)||!E(k(e)),j=(e,t,s,a,l)=>E(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),U=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),q=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),Q=e=>t=>G(te(t),((t,s)=>t+e(s)),0),X=e=>e?.size??0,Y=Q(X),Z=Q(Y),$=Q(Z),_=(e,t)=>e?.has(t)??!1,ee=e=>E(e)||0==X(e),te=e=>[...e?.values()??[]],se=e=>e.clear(),ae=(e,t)=>e?.forEach(t),le=(e,t)=>e?.delete(t),ne=new S.TextEncoder,re=e=>{let t=2166136261;return q(ne.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},oe=Object,ce=e=>oe.getPrototypeOf(e),ie=oe.entries,de=oe.isFrozen,ue=e=>!E(e)&&D(ce(e),(e=>e==oe.prototype||E(ce(e))),(()=>!0)),ge=oe.keys,he=oe.freeze,be=(e=[])=>oe.fromEntries(e),Ce=(e,t)=>t in e,fe=(e,t)=>(delete e[t],e),Te=(e,t)=>q(ie(e),(([e,s])=>t(s,e))),ve=(e,t)=>be(((e,t)=>B(ie(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),we=e=>ue(e)&&0==(e=>A(ge(e)))(e),Ve=(e,t,s)=>(Ce(e,t)||(e[t]=s()),e[t]),pe=(e,t,s,a=0)=>E(e)||!ue(e)||!a&&we(e)||de(e)?(s?.(),!1):(Te(e,((s,a)=>{t(s,a)||fe(e,a)})),!!a||!we(e)),Ie=e=>new Map(e),Re=e=>[...e?.keys()??[]],ye=(e,t)=>e?.get(t),Me=(e,t)=>ae(e,((e,s)=>t(s,e))),Se=(e,t,s)=>E(s)?(le(e,t),e):e?.set(t,s),me=(e,t,s,a)=>(_(e,t)?a?.(ye(e,t)):Se(e,t,s()),ye(e,t)),Le=(e,t,s,a=Se)=>(ve(t,((t,a)=>s(e,a,t))),Me(e,(s=>Ce(t,s)?0:a(e,s))),e),He=(e,t,s,a)=>{const l={};return ae(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},Je=(e,t,s)=>He(e,(e=>He(e,t,s)),ee,we),Ee=(e,t,s)=>He(e,(e=>Je(e,t,s)),ee,we),De=(e,t)=>{const s=Ie();return ae(e,((e,a)=>s.set(a,t?.(e)??e))),s},Fe=e=>De(e,De),Oe=e=>De(e,Fe),xe=(e,t,s,a,l=0)=>D((s?me:ye)(e,t[l],l>A(t)-2?s:Ie),(n=>{if(l>A(t)-2)return a?.(n)&&Se(e,t[l]),n;const r=xe(n,t,s,a,l+1);return ee(n)&&Se(e,t[l]),r})),ze=M("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Ae=Ie(B(ze,((e,t)=>[e,t]))),Pe=e=>ze[63&e],We=(e,t)=>ye(Ae,e[t])??0,ke=S.crypto?e=>S.crypto.getRandomValues(e):e=>B(e,(()=>H(256*m.random()))),Ne=2**36,je=2**30,Ue=2**24,qe=2**18,Be=4096,Ge=JSON.stringify,Ke=JSON.parse,Qe=e=>Ge(e,((e,t)=>t instanceof Map?oe.fromEntries([...t]):t)),Xe=e=>new Set(x(e)||E(e)?e:[e]),Ye=(e,t)=>e?.add(t),Ze=([e,t])=>_e(e,t),$e=([e,t,s])=>[e,t,s],_e=(e,t)=>t?[e,t]:[e],et=(e,t,s)=>[e,t,s],tt=e=>e[2],st=(e,t)=>re(e+":"+t),at=(e,t)=>t>e?(e?re(e):0)^re(t):0,lt=(e,t)=>((e??"")>(t??"")?e:t)??"",nt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},rt=(e=t)=>_e(be(),e),ot=(e=t)=>[Ie(),e,0],ct=([e,t,s],a=$e)=>[He(e,a),t,s],it=([e,t],s=Ze)=>_e(He(e,s),t),dt=(t,a)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==l&&J(t[2])&&a(t[0]);var n},ut=/^\d+$/,gt=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{ut.test(t)&&A(e)<1e3&&K(e,t)}]},ht=e=>[e,e],bt=(e,t=Y)=>t(e[0])+t(e[1]),Ct=()=>[Ie(),Ie()],ft=e=>[...e],Tt=([e,t])=>e===t,vt=(e,t,s)=>Se(e,t,ye(e,t)==-s?void 0:s),wt=()=>{let e,s,a=!1,n=!1,d=0,R=[];const y=Ie(),M=Ie(),S=Ie(),m=Ie(),L=Ie(),H=Ie(),J=Ie(),P=Ie(),N=Ie(),G=Ie(),Q=Ie(),te=Ie(),ne=Ie(),re=Ie(),oe=Xe(),ce=Ie(),ie=Ie(),de=Ie(),ue=Ie(),ge=Ct(),be=Ct(),Te=Ct(),Ve=Ct(),ze=Ct(),Ae=Ct(),Pe=Ct(),We=Ct(),ke=Ct(),Ne=Ct(),je=Ct(),Ue=Ct(),qe=Ct(),Be=Ct(),Ge=Ct(),Ze=Ct(),$e=Ct(),_e=Ct(),et=Ct(),tt=Ct(),st=Ct(),at=Ct(),lt=Ie(),nt=Ct(),[rt,ot,ct,it]=(()=>{let e;const[s,a]=gt(),l=Ie();return[(a,n,r,o=[],c=()=>[])=>{e??=As;const i=s(1);return Se(l,i,[a,n,r,o,c]),Ye(xe(n,r??[t],Xe),i),i},(s,a,...n)=>q(((e,s=[t])=>{const a=[],l=(e,t)=>t==A(s)?K(a,e):null===s[t]?ae(e,(e=>l(e,t+1))):q([s[t],null],(s=>l(ye(e,s),t+1)));return l(e,0),a})(s,a),(t=>ae(t,(t=>ye(l,t)[0](e,...a??[],...n))))),e=>D(ye(l,e),(([,s,n])=>(xe(s,n??[t],void 0,(t=>(le(t,e),ee(t)?1:0))),Se(l,e),a(e),n))),t=>D(ye(l,t),(([t,,s=[],a,l])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...l(r)):E(s[o])?q(a[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),dt=e=>{if(!pe(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=l||(k(e[o])!=t&&fe(e,o),0))},ut=x,Vt=(t,s)=>(!e||_(Q,s)||Xt(s))&&pe(t,((e,t)=>pt(s,t,e)),(()=>Xt(s))),pt=(e,t,s,a)=>pe(a?s:Mt(s,e,t),((a,l)=>D(It(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Xt(e,t))),It=(t,s,a,l)=>e?D(ye(ye(Q,t),a),(e=>k(l)!=e[r]?Xt(t,s,a,l,e[o]):l),(()=>Xt(t,s,a,l))):E(k(l))?Xt(t,s,a,l):l,Rt=(e,t)=>pe(t?e:St(e),((t,s)=>D(yt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Yt())),yt=(e,t)=>s?D(ye(ne,e),(s=>k(t)!=s[r]?Yt(e,t,s[o]):t),(()=>Yt(e,t))):E(k(t))?Yt(e,t):t,Mt=(e,t,s)=>(D(ye(te,t),(([a,l])=>{ae(a,((t,s)=>{Ce(e,s)||(e[s]=t)})),ae(l,(a=>{Ce(e,a)||Xt(t,s,a)}))})),e),St=e=>(s&&(ae(re,((t,s)=>{Ce(e,s)||(e[s]=t)})),ae(oe,(t=>{Ce(e,t)||Yt(t)}))),e),mt=e=>Le(Q,e,((e,t,s)=>{const a=Ie(),l=Xe();Le(me(Q,t,Ie),s,((e,t,s)=>{Se(e,t,s),D(s[o],(e=>Se(a,t,e)),(()=>Ye(l,t)))})),Se(te,t,[a,l])}),((e,t)=>{Se(Q,t),Se(te,t)})),Lt=e=>Le(ne,e,((e,t,s)=>{Se(ne,t,s),D(s[o],(e=>Se(re,t,e)),(()=>Ye(oe,t)))}),((e,t)=>{Se(ne,t),Se(re,t),le(oe,t)})),Ht=e=>we(e)?Ls():Rs(e),Jt=e=>Le(de,e,((e,t,s)=>Et(t,s)),((e,t)=>Wt(t))),Et=(e,t)=>Le(me(de,e,(()=>(Ut(e,1),Se(ce,e,gt()),Se(ie,e,Ie()),Ie()))),t,((t,s,a)=>Dt(e,t,s,a)),((t,s)=>kt(e,t,s))),Dt=(e,t,s,a,l)=>Le(me(t,s,(()=>(qt(e,s,1),Ie()))),a,((t,a,l)=>Ft(e,s,t,a,l)),((a,n)=>Nt(e,t,s,a,n,l))),Ft=(e,t,s,a,l)=>{_(s,a)||Bt(e,t,a,1);const n=ye(s,a);l!==n&&(Gt(e,t,a,n,l),Se(s,a,l))},Ot=(e,t,s,a,l)=>D(ye(t,s),(t=>Ft(e,s,t,a,l)),(()=>Dt(e,t,s,Mt({[a]:l},e,s)))),xt=e=>we(e)?Es():ys(e),zt=e=>Le(ue,e,((e,t,s)=>At(t,s)),((e,t)=>jt(t))),At=(e,t)=>{_(ue,e)||Kt(e,1);const s=ye(ue,e);t!==s&&(Qt(e,s,t),Se(ue,e,t))},Pt=e=>ye(de,e)??Et(e,{}),Wt=e=>Et(e,{}),kt=(e,t,s)=>{const[,a]=ye(ce,e);a(s),Dt(e,t,s,{},!0)},Nt=(e,t,s,a,l,n)=>{const r=ye(ye(te,e)?.[0],l);if(!E(r)&&!n)return Ft(e,s,a,l,r);const o=t=>{Gt(e,s,t,ye(a,t)),Bt(e,s,t,-1),Se(a,t)};E(r)?o(l):Me(a,o),ee(a)&&(qt(e,s,-1),ee(Se(t,s))&&(Ut(e,-1),Se(de,e),Se(ce,e),Se(ie,e)))},jt=e=>{const t=ye(re,e);if(!E(t))return At(e,t);Qt(e,ye(ue,e)),Kt(e,-1),Se(ue,e)},Ut=(e,t)=>vt(y,e,t),qt=(e,t,s)=>vt(me(m,e,Ie),t,s)&&Se(S,e,me(S,e,(()=>0))+s),Bt=(e,t,s,a)=>{const l=ye(ie,e),n=ye(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&vt(me(M,e,Ie),s,a),Se(l,s,n!=-a?n+a:null),vt(me(me(L,e,Ie),t,Ie),s,a)},Gt=(e,t,s,a,l)=>{me(me(me(H,e,Ie),t,Ie),s,(()=>[a,0]))[1]=l,R[3]?.(e,t,s,l)},Kt=(e,t)=>vt(J,e,t),Qt=(e,t,s)=>{me(P,e,(()=>[t,0]))[1]=s,R[4]?.(e,s)},Xt=(e,t,s,a,l)=>(K(me(me(me(N,e,Ie),t,Ie),s,(()=>[])),a),l),Yt=(e,t,s)=>(K(me(G,e,(()=>[])),t),s),Zt=(e,t,s)=>D(ye(ye(ye(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ht(gs(e,t,s))])),$t=e=>D(ye(P,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ht(Cs(e))])),_t=e=>ee(N)||ee(Ze[e])?0:ae(e?Oe(N):N,((t,s)=>ae(t,((t,a)=>ae(t,((t,l)=>ot(Ze[e],[s,a,l],t))))))),es=e=>ee(G)||ee($e[e])?0:ae(e?De(G):G,((t,s)=>ot($e[e],[s],t))),ts=(e,t,s,a)=>{if(!ee(e))return ot(t,a,(()=>He(e))),Me(e,((e,t)=>ot(s,[...a??[],e],1==t))),1},ss=e=>{const t=fs();t!=a&&ot(ge[e],void 0,t);const s=ee(Ne[e]),l=ee(qe[e])&&ee(Be[e])&&ee(ke[e])&&ee(je[e])&&ee(Ae[e])&&ee(Pe[e])&&ee(We[e])&&s&&ee(Te[e])&&ee(Ve[e]),n=ee(Ge[e])&&ee(Ue[e])&&ee(ze[e])&&ee(be[e]);if(!l||!n){const t=e?[De(y),Fe(M),De(S),Fe(m),Oe(L),Oe(H)]:[y,M,S,m,L,H];if(!l){ts(t[0],Te[e],Ve[e]),ae(t[1],((t,s)=>ts(t,Ae[e],Pe[e],[s]))),ae(t[2],((t,s)=>{0!=t&&ot(We[e],[s],cs(s))}));const a=Xe();ae(t[3],((t,l)=>{ts(t,ke[e],je[e],[l])&&!s&&(ot(Ne[e],[l,null]),Ye(a,l))})),s||ae(t[5],((t,s)=>{if(!_(a,s)){const a=Xe();ae(t,(e=>ae(e,(([t,s],l)=>s!==t?Ye(a,l):le(e,l))))),ae(a,(t=>ot(Ne[e],[s,t])))}})),ae(t[4],((t,s)=>ae(t,((t,a)=>ts(t,qe[e],Be[e],[s,a])))))}if(!n){let s;ae(t[5],((t,a)=>{let l;ae(t,((t,n)=>{let r;ae(t,(([t,o],c)=>{o!==t&&(ot(Ge[e],[a,n,c],o,t,Zt),s=l=r=1)})),r&&ot(Ue[e],[a,n],Zt)})),l&&ot(ze[e],[a],Zt)})),s&&ot(be[e],void 0,Zt)}}},as=e=>{const t=ps();t!=n&&ot(_e[e],void 0,t);const s=ee(tt[e])&&ee(st[e]),a=ee(at[e])&&ee(et[e]);if(!s||!a){const t=e?[De(J),De(P)]:[J,P];if(s||ts(t[0],tt[e],st[e]),!a){let s;ae(t[1],(([t,a],l)=>{a!==t&&(ot(at[e],[l],a,t,$t),s=1)})),s&&ot(et[e],void 0,$t)}}},ls=(e,...t)=>(Os((()=>e(...B(t,I)))),As),ns=()=>Ee(de),rs=()=>Re(de),os=e=>Re(ye(ie,I(e))),cs=e=>X(ye(de,I(e))),is=e=>Re(ye(de,I(e))),ds=(e,t,s,a=0,l)=>{return B(z((r=ye(de,I(e)),o=(e,s)=>[E(t)?s:ye(e,I(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),B([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),a,E(l)?l:a+l),(([,e])=>e));var n,r,o},us=(e,t)=>Re(ye(ye(de,I(e)),I(t))),gs=(e,t,s)=>ye(ye(ye(de,I(e)),I(t)),I(s)),hs=()=>He(ue),bs=()=>Re(ue),Cs=e=>ye(ue,I(e)),fs=()=>!ee(de),Ts=e=>_(de,I(e)),vs=(e,t)=>_(ye(ie,I(e)),I(t)),ws=(e,t)=>_(ye(de,I(e)),I(t)),Vs=(e,t,s)=>_(ye(ye(de,I(e)),I(t)),I(s)),ps=()=>!ee(ue),Is=e=>_(ue,I(e)),Rs=e=>ls((()=>(e=>pe(e,Vt,Xt))(e)?Jt(e):0)),ys=e=>ls((()=>Rt(e)?zt(e):0)),Ms=e=>(W((()=>Ht(Ke(e)))),As),Ss=t=>ls((()=>{if((e=pe(t,(e=>pe(e,dt))))&&(mt(t),!ee(de))){const e=ns();Ls(),Rs(e)}})),ms=e=>ls((()=>{if(s=(e=>pe(e,dt))(e)){const t=hs();Fs(),Es(),s=!0,Lt(e),ys(t)}})),Ls=()=>ls((()=>Jt({}))),Hs=e=>ls((e=>_(de,e)?Wt(e):0),e),Js=(e,t)=>ls(((e,t)=>D(ye(de,e),(s=>_(s,t)?kt(e,s,t):0))),e,t),Es=()=>ls((()=>zt({}))),Ds=()=>ls((()=>{mt({}),e=!1})),Fs=()=>ls((()=>{Lt({}),s=!1})),Os=(e,t)=>{if(-1!=d){xs();const s=e();return zs(t),s}},xs=()=>(-1!=d&&d++,1==d&&(R[0]?.(),ot(lt)),As),zs=e=>(d>0&&(d--,0==d&&(d=1,_t(1),ee(H)||ss(1),es(1),ee(P)||as(1),e?.(As)&&(ae(H,((e,t)=>ae(e,((e,s)=>ae(e,(([e],a)=>j(As,t,s,a,e))))))),se(H),ae(P,(([e],t)=>U(As,t,e))),se(P)),ot(nt[0],void 0),d=-1,_t(0),ee(H)||ss(0),es(0),ee(P)||as(0),R[1]?.(),ot(nt[1],void 0),R[2]?.(),d=0,a=fs(),n=ps(),q([y,M,S,m,L,H,N,J,P,G],se))),As),As={getContent:()=>[ns(),hs()],getTables:ns,getTableIds:rs,getTable:e=>Je(ye(de,I(e))),getTableCellIds:os,getRowCount:cs,getRowIds:is,getSortedRowIds:ds,getRow:(e,t)=>He(ye(ye(de,I(e)),I(t))),getCellIds:us,getCell:gs,getValues:hs,getValueIds:bs,getValue:Cs,hasTables:fs,hasTable:Ts,hasTableCell:vs,hasRow:ws,hasCell:Vs,hasValues:ps,hasValue:Is,getTablesJson:()=>Qe(de),getValuesJson:()=>Qe(ue),getJson:()=>Qe([de,ue]),getTablesSchemaJson:()=>Qe(Q),getValuesSchemaJson:()=>Qe(ne),getSchemaJson:()=>Qe([Q,ne]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ls((()=>{const t=O(e)?e():e;ut(t)&&(([e,t])=>{(we(e)?Ls:Rs)(e),(we(t)?Es:ys)(t)})(t)})),setTables:Rs,setTable:(e,t)=>ls((e=>Vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ls(((e,t)=>pt(e,t,s)?Dt(e,Pt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Os((()=>{let a;return pt(e,a,t)&&(e=I(e),Dt(e,Pt(e),a=((e,t)=>{const[s]=ye(ce,e);let a;do{a=s(t)}while(_(ye(de,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>ls(((e,t)=>{if(pt(e,t,s,1)){const a=Pt(e);ve(s,((s,l)=>Ot(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>ls(((e,t,s)=>D(It(e,t,s,O(a)?a(gs(e,t,s)):a),(a=>Ot(e,Pt(e),t,s,a)))),e,t,s),setValues:ys,setPartialValues:e=>ls((()=>Rt(e,1)?ve(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>ls((e=>D(yt(e,O(t)?t(Cs(e)):t),(t=>At(e,t)))),e),applyChanges:e=>ls((()=>{ve(e[0],((e,t)=>E(e)?Hs(t):ve(e,((e,s)=>E(e)?Js(t,s):ve(e,((e,a)=>j(As,t,s,a,e))))))),ve(e[1],((e,t)=>U(As,t,e)))})),setTablesJson:Ms,setValuesJson:e=>(W((()=>xt(Ke(e)))),As),setJson:e=>ls((()=>W((()=>{const[t,s]=Ke(e);Ht(t),xt(s)}),(()=>Ms(e))))),setTablesSchema:Ss,setValuesSchema:ms,setSchema:(e,t)=>ls((()=>{Ss(e),ms(t)})),delTables:Ls,delTable:Hs,delRow:Js,delCell:(e,t,s,a)=>ls(((e,t,s)=>D(ye(de,e),(l=>D(ye(l,t),(n=>_(n,s)?Nt(e,l,t,n,s,a):0))))),e,t,s),delValues:Es,delValue:e=>ls((e=>_(ue,e)?jt(e):0),e),delTablesSchema:Ds,delValuesSchema:Fs,delSchema:()=>ls((()=>{Ds(),Fs()})),transaction:Os,startTransaction:xs,getTransactionChanges:()=>[He(H,((e,t)=>-1===ye(y,t)?void 0:He(e,((e,s)=>-1===ye(ye(m,t),s)?void 0:He(e,(([,e])=>e),(e=>Tt(e)))),ee,we)),ee,we),He(P,(([,e])=>e),(e=>Tt(e))),1],getTransactionLog:()=>[!ee(H),!ee(P),Ee(H,ft,Tt),Ee(N),He(P,ft,Tt),He(G),He(y),Je(m),Ee(L),He(J)],finishTransaction:zs,forEachTable:e=>ae(de,((t,s)=>e(s,(e=>ae(t,((t,s)=>e(s,(e=>Me(t,e))))))))),forEachTableCell:(e,t)=>Me(ye(ie,I(e)),t),forEachRow:(e,t)=>ae(ye(de,I(e)),((e,s)=>t(s,(t=>Me(e,t))))),forEachCell:(e,t,s)=>Me(ye(ye(de,I(e)),I(t)),s),forEachValue:e=>Me(ue,e),addSortedRowIdsListener:(e,t,s,a,l,n,r)=>{let o=ds(e,t,s,a,l);return rt((()=>{const r=ds(e,t,s,a,l);var c,i,d;i=o,A(c=r)===A(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,n(As,e,t,s,a,l,o))}),Ne[r?1:0],[e,t],[rs])},addStartTransactionListener:e=>rt(e,lt),addWillFinishTransactionListener:e=>rt(e,nt[0]),addDidFinishTransactionListener:e=>rt(e,nt[1]),callListener:e=>(it(e),As),delListener:e=>(ct(e),As),getListenerStats:()=>({hasTables:bt(ge),tables:bt(be),tableIds:bt(Te),hasTable:bt(Ve),table:bt(ze),tableCellIds:bt(Ae),hasTableCell:bt(Pe,Z),rowCount:bt(We),rowIds:bt(ke),sortedRowIds:bt(Ne),hasRow:bt(je,Z),row:bt(Ue,Z),cellIds:bt(qe,Z),hasCell:bt(Be,$),cell:bt(Ge,$),invalidCell:bt(Ze,$),hasValues:bt(_e),values:bt(et),valueIds:bt(tt),hasValue:bt(st),value:bt(at),invalidValue:bt($e),transaction:Y(lt)+bt(nt)}),isMergeable:()=>!1,createStore:wt,addListener:rt,callListeners:ot,setInternalListeners:(e,t,s,a,l)=>R=[e,t,s,a,l]};return ve({[i+g]:[0,ge,[],()=>[fs()]],[g]:[0,be],[h]:[0,Te],[i+u]:[1,Ve,[rs],e=>[Ts(...e)]],[u]:[1,ze,[rs]],[u+v]:[1,Ae,[rs]],[i+u+T]:[2,Pe,[rs,os],e=>[vs(...e)]],[C]:[1,We,[rs]],[f]:[1,ke,[rs]],[i+b]:[2,je,[rs,is],e=>[ws(...e)]],[b]:[2,Ue,[rs,is]],[v]:[2,qe,[rs,is]],[i+T]:[3,Be,[rs,is,us],e=>[Vs(...e)]],[T]:[3,Ge,[rs,is,us],e=>ht(gs(...e))],InvalidCell:[3,Ze],[i+V]:[0,_e,[],()=>[ps()]],[V]:[0,et],[p]:[0,tt],[i+w]:[1,st,[bs],e=>[Is(...e)]],[w]:[1,at,[bs],e=>ht(Cs(e[0]))],InvalidValue:[1,$e]},(([e,t,s,a],l)=>{As["add"+l+c]=(...l)=>rt(l[e],t[l[e+1]?1:0],e>0?z(l,0,e):void 0,s,a)})),he(As)},Vt={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},pt=(e=t)=>[ot(e),ot(e)],It=(e,s)=>{let a=1,l=pt(),n=0;const r=Ie(),o=Xe(),[i,d]=((e,t=Date.now)=>{let s=0,a=-1;const l=D(e,(e=>{const t=re(e);return Pe(t/Ue)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)}),(()=>((e=16)=>G(ke(new Uint8Array(e)),((e,t)=>e+Pe(t)),""))(5))),n=e=>{const l=s,[n,r]=E(e)||""==e?[0,0]:[We(o=e,0)*Ne+We(o,1)*je+We(o,2)*Ue+We(o,3)*qe+We(o,4)*Be+64*We(o,5)+We(o,6),We(o,7)*qe+We(o,8)*Be+64*We(o,9)+We(o,10)];var o;s=L(l,n,t()),a=s==l?s==n?L(a,r):a:s==n?r:-1};return[()=>{return n(),t=++a,Pe((e=s)/Ne)+Pe(e/je)+Pe(e/Ue)+Pe(e/qe)+Pe(e/Be)+Pe(e/64)+Pe(e)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)+l;var e,t},n]})(e,s),u=wt(),g=e=>{const t=a;return a=0,e(),a=t,w},h=(e,s=0)=>{const a={},n={},[[r,o=t,c=0],i]=e,[u,g]=l,[h,C,f]=u;let T=s?c:f,v=o;Te(r,(([e,l=t,n=0],r)=>{const o=me(h,r,ot),[c,i,d]=o;let u=s?n:d,g=l;Te(e,((e,t)=>{const[l,n,o]=b(e,me(c,t,ot),Ve(Ve(a,r,be),t,be),s);u^=s?0:(n?st(t,n):0)^st(t,o),g=lt(g,l)})),u^=s?0:at(i,l),nt(o,l,u),T^=s?0:(d?st(r,d):0)^st(r,o[2]),v=lt(v,g)})),T^=s?0:at(C,o),nt(u,o,T);const[w]=b(i,g,n,s);return d(lt(v,w)),[a,n,1]},b=(e,s,a,l)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=l?o:d;return Te(n,(([e,s=t,n=0],r)=>{const o=me(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(nt(o,s,l?n:re(Qe(e??null)+":"+s)),o[0]=e,a[r]=e,g^=l?0:st(r,d)^st(r,o[2]),u=lt(u,s))})),g^=l?0:at(i,r),nt(s,r,g),[u,d,s[2]]},C=P,f=P,T=()=>[ct(l[0],(e=>ct(e,(e=>ct(e))))),ct(l[1])],v=e=>g((()=>u.applyChanges(h(e)))),w={getMergeableContent:T,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>He(l[0][0],tt),getMergeableTableDiff:e=>{const t=rt(l[0][1]),s={};return Me(l[0][0],((a,[l,n,r])=>Ce(e,a)?r!=e[a]?s[a]=r:0:t[0][a]=it([l,n],(e=>it(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(l[0][0],s),(([a,,l])=>l!=e?Me(a,((e,[,,a])=>Ve(t,s,be)[e]=a)):0)))),t},getMergeableRowDiff:e=>{const t=rt(l[0][1]),s={};return Te(e,((e,a)=>Me(ye(l[0][0],a)?.[0],((l,[n,r,o])=>Ce(e,l)?o!==e[l]?Ve(s,a,be)[l]=o:0:Ve(t[0],a,rt)[0][l]=it([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(l[0][0],s),(([a])=>Te(e,((e,l)=>D(ye(a,l),(([a,,n])=>n!==e?Me(a,((e,[,,a])=>Ve(Ve(t,s,be),l,be)[e]=a)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=l,a={};return Te(e,((e,s)=>Te(e,((e,l)=>D(ye(t,s),(([t,n])=>D(ye(t,l),(([t,r])=>Me(t,((t,[o,c,i])=>i!==e[t]?Ve(Ve(a,s,(()=>rt(n)))[0],l,(()=>rt(r)))[0][t]=[o,c]:0)))))))))),_e(a,s)},getMergeableValueHashes:()=>He(l[1][0],tt),getMergeableValueDiff:e=>{const[,[t,s]]=l,a=He(t,Ze,(([,,t],s)=>t==e?.[s]));return _e(a,s)},setMergeableContent:e=>g((()=>(e=>x(e)&&2==A(e)&&dt(e[0],(e=>pe(e,(e=>dt(e,(e=>pe(e,(e=>dt(e,(e=>pe(e,(e=>dt(e,N)),void 0,1)))),void 0,1)))),void 0,1)))&&dt(e[1],(e=>pe(e,(e=>dt(e,N)),void 0,1))))(e)?u.transaction((()=>{u.delTables().delValues(),l=pt(),u.applyChanges(h(e,1))})):0)),setDefaultContent:e=>(u.transaction((()=>{n=1,u.setContent(e),n=0})),w),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,a],[n,c,i]]=l,d=e?et:_e,u={};ae(r,((e,s)=>D(ye(t,s),(([t,a,l])=>{const n={};ae(e,((e,s)=>D(ye(t,s),(([t,a,l])=>{const r={};ae(e,(e=>{D(ye(t,e),(([t,s,a])=>r[e]=d(t,s,a)))})),n[s]=d(r,a,l)})))),u[s]=d(n,a,l)}))));const g={};return ae(o,(e=>D(ye(n,e),(([t,s,a])=>g[e]=d(t,s,a))))),[d(u,s,a),d(g,c,i),1]},applyMergeableChanges:v,merge:e=>{const t=T(),s=e.getMergeableContent();return e.applyMergeableChanges(t),v(s)}};return u.setInternalListeners(C,f,(()=>{se(r),se(o)}),((e,s,l,o)=>{Ye(me(me(r,e,Ie),s,Xe),l),a&&h([[{[e]:[{[s]:[{[l]:[o,n?t:i()]}]}]}],[{}],1])}),((e,s)=>{Ye(o,e),a&&h([[{}],[{[e]:[s,n?t:i()]}],1])})),ve(u,((e,t)=>w[t]=R(t,"set")||R(t,"del")||R(t,"apply")||y(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),w):R(t,"add")&&y(t,c)?(...s)=>{const a=Vt[z(t,3,-8)]??0,l=s[a];return s[a]=(e,...t)=>l(w,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),he(w)};export{It as createMergeableStore};
1
+ const e=e=>typeof e,t="",s=e(t),l=e(!0),a=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",f=b+"Count",C=b+d,T="Cell",v=T+d,w="Value",V=w+"s",I=w+d,p=e=>t+e,R=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),m=(e,s=t,l)=>e.split(s,l),M=globalThis,S=Math,L=S.max,H=S.floor,J=isFinite,E=e=>null==e,D=(e,t,s)=>E(e)?s?.():t(e),F=e=>e==s||e==l,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=()=>{},W=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},k=t=>{const s=e(t);return F(s)||s==a&&J(t)?s:void 0},N=e=>E(e)||!E(k(e)),j=(e,t,s,l,a)=>E(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),U=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),q=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),Q=e=>t=>G(te(t),((t,s)=>t+e(s)),0),X=e=>e?.size??0,Y=Q(X),Z=Q(Y),$=Q(Z),_=(e,t)=>e?.has(t)??!1,ee=e=>E(e)||0==X(e),te=e=>[...e?.values()??[]],se=e=>e.clear(),le=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),ne=new M.TextEncoder,re=e=>{let t=2166136261;return q(ne.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},oe=Object,ce=e=>oe.getPrototypeOf(e),ie=oe.entries,de=oe.isFrozen,ue=e=>!E(e)&&D(ce(e),(e=>e==oe.prototype||E(ce(e))),(()=>!0)),ge=oe.keys,he=oe.freeze,be=(e=[])=>oe.fromEntries(e),fe=(e,t)=>t in e,Ce=(e,t)=>(delete e[t],e),Te=(e,t)=>q(ie(e),(([e,s])=>t(s,e))),ve=(e,t)=>be(((e,t)=>B(ie(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),we=e=>ue(e)&&0==(e=>A(ge(e)))(e),Ve=(e,t,s)=>(fe(e,t)||(e[t]=s()),e[t]),Ie=(e,t,s,l=0)=>E(e)||!ue(e)||!l&&we(e)||de(e)?(s?.(),!1):(Te(e,((s,l)=>{t(s,l)||Ce(e,l)})),!!l||!we(e)),pe=e=>new Map(e),Re=e=>[...e?.keys()??[]],ye=(e,t)=>e?.get(t),me=(e,t)=>le(e,((e,s)=>t(s,e))),Me=(e,t,s)=>E(s)?(ae(e,t),e):e?.set(t,s),Se=(e,t,s,l)=>(_(e,t)?l?.(ye(e,t)):Me(e,t,s()),ye(e,t)),Le=(e,t,s,l=Me)=>(ve(t,((t,l)=>s(e,l,t))),me(e,(s=>fe(t,s)?0:l(e,s))),e),He=(e,t,s,l)=>{const a={};return le(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;l?.(s)||(a[n]=s)}})),a},Je=(e,t,s)=>He(e,(e=>He(e,t,s)),ee,we),Ee=(e,t,s)=>He(e,(e=>Je(e,t,s)),ee,we),De=(e,t)=>{const s=pe();return le(e,((e,l)=>s.set(l,t?.(e)??e))),s},Fe=e=>De(e,De),Oe=e=>De(e,Fe),xe=(e,t,s,l,a=0)=>D((s?Se:ye)(e,t[a],a>A(t)-2?s:pe),(n=>{if(a>A(t)-2)return l?.(n)&&Me(e,t[a]),n;const r=xe(n,t,s,l,a+1);return ee(n)&&Me(e,t[a]),r})),ze=m("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Ae=pe(B(ze,((e,t)=>[e,t]))),Pe=e=>ze[63&e],We=(e,t)=>ye(Ae,e[t])??0,ke=M.crypto?e=>M.crypto.getRandomValues(e):e=>B(e,(()=>H(256*S.random()))),Ne=2**36,je=2**30,Ue=2**24,qe=2**18,Be=4096,Ge=JSON.stringify,Ke=JSON.parse,Qe=e=>Ge(e,((e,t)=>t instanceof Map?oe.fromEntries([...t]):t)),Xe=e=>new Set(x(e)||E(e)?e:[e]),Ye=(e,t)=>e?.add(t),Ze=([e,t])=>_e(e,t),$e=([e,t,s])=>[e,t,s],_e=(e,t)=>t?[e,t]:[e],et=(e,t,s)=>[e,t,s],tt=e=>e[2],st=(e,t)=>re(e+":"+t),lt=(e,t)=>t>e?(e?re(e):0)^re(t):0,at=(e,t)=>((e??"")>(t??"")?e:t)??"",nt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},rt=(e=t)=>_e(be(),e),ot=(e=t)=>[pe(),e,0],ct=([e,t,s],l=$e)=>[He(e,l),t,s],it=([e,t],s=Ze)=>_e(He(e,s),t),dt=(t,l)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==a&&J(t[2])&&l(t[0]);var n},ut=/^\d+$/,gt=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ut.test(t)&&A(e)<1e3&&K(e,t)}]},ht=e=>[e,e],bt=(e,t=Y)=>t(e[0])+t(e[1]),ft=()=>[pe(),pe()],Ct=e=>[...e],Tt=([e,t])=>e===t,vt=(e,t,s)=>Me(e,t,ye(e,t)==-s?void 0:s),wt=()=>{let e,s,l=!1,n=!1,d=0,R=[];const y=pe(),m=pe(),M=pe(),S=pe(),L=pe(),H=pe(),J=pe(),P=pe(),N=pe(),G=pe(),Q=pe(),te=pe(),ne=pe(),re=pe(),oe=Xe(),ce=pe(),ie=pe(),de=pe(),ge=pe(),be=ft(),Te=ft(),Ve=ft(),ze=ft(),Ae=ft(),Pe=ft(),We=ft(),ke=ft(),Ne=ft(),je=ft(),Ue=ft(),qe=ft(),Be=ft(),Ge=ft(),Ze=ft(),$e=ft(),_e=ft(),et=ft(),tt=ft(),st=ft(),lt=ft(),at=ft(),nt=pe(),rt=ft(),[ot,ct,it,dt]=(()=>{let e;const[s,l]=gt(),a=pe();return[(l,n,r,o=[],c=()=>[])=>{e??=Ws;const i=s(1);return Me(a,i,[l,n,r,o,c]),Ye(xe(n,r??[t],Xe),i),i},(s,l,...n)=>q(((e,s=[t])=>{const l=[],a=(e,t)=>t==A(s)?K(l,e):null===s[t]?le(e,(e=>a(e,t+1))):q([s[t],null],(s=>a(ye(e,s),t+1)));return a(e,0),l})(s,l),(t=>le(t,(t=>ye(a,t)[0](e,...l??[],...n))))),e=>D(ye(a,e),(([,s,n])=>(xe(s,n??[t],void 0,(t=>(ae(t,e),ee(t)?1:0))),Me(a,e),l(e),n))),t=>D(ye(a,t),(([t,,s=[],l,a])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...a(r)):E(s[o])?q(l[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),ut=e=>{if(!Ie(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=a||(k(e[o])!=t&&Ce(e,o),0))},Vt=x,It=(t,s)=>(!e||_(Q,s)||Yt(s))&&Ie(t,((e,t)=>pt(s,t,e)),(()=>Yt(s))),pt=(e,t,s,l)=>Ie(l?s:Mt(s,e,t),((l,a)=>D(Rt(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Yt(e,t))),Rt=(t,s,l,a)=>e?D(ye(ye(Q,t),l),(e=>k(a)!=e[r]?Yt(t,s,l,a,e[o]):a),(()=>Yt(t,s,l,a))):E(k(a))?Yt(t,s,l,a):a,yt=(e,t)=>Ie(t?e:St(e),((t,s)=>D(mt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Zt())),mt=(e,t)=>s?D(ye(ne,e),(s=>k(t)!=s[r]?Zt(e,t,s[o]):t),(()=>Zt(e,t))):E(k(t))?Zt(e,t):t,Mt=(e,t,s)=>(D(ye(te,t),(([l,a])=>{le(l,((t,s)=>{fe(e,s)||(e[s]=t)})),le(a,(l=>{fe(e,l)||Yt(t,s,l)}))})),e),St=e=>(s&&(le(re,((t,s)=>{fe(e,s)||(e[s]=t)})),le(oe,(t=>{fe(e,t)||Zt(t)}))),e),Lt=e=>Le(Q,e,((e,t,s)=>{const l=pe(),a=Xe();Le(Se(Q,t,pe),s,((e,t,s)=>{Me(e,t,s),D(s[o],(e=>Me(l,t,e)),(()=>Ye(a,t)))})),Me(te,t,[l,a])}),((e,t)=>{Me(Q,t),Me(te,t)})),Ht=e=>Le(ne,e,((e,t,s)=>{Me(ne,t,s),D(s[o],(e=>Me(re,t,e)),(()=>Ye(oe,t)))}),((e,t)=>{Me(ne,t),Me(re,t),ae(oe,t)})),Jt=e=>we(e)?Js():ms(e),Et=e=>Le(de,e,((e,t,s)=>Dt(t,s)),((e,t)=>kt(t))),Dt=(e,t)=>Le(Se(de,e,(()=>(qt(e,1),Me(ce,e,gt()),Me(ie,e,pe()),pe()))),t,((t,s,l)=>Ft(e,t,s,l)),((t,s)=>Nt(e,t,s))),Ft=(e,t,s,l,a)=>Le(Se(t,s,(()=>(Bt(e,s,1),pe()))),l,((t,l,a)=>Ot(e,s,t,l,a)),((l,n)=>jt(e,t,s,l,n,a))),Ot=(e,t,s,l,a)=>{_(s,l)||Gt(e,t,l,1);const n=ye(s,l);a!==n&&(Kt(e,t,l,n,a),Me(s,l,a))},xt=(e,t,s,l,a)=>D(ye(t,s),(t=>Ot(e,s,t,l,a)),(()=>Ft(e,t,s,Mt({[l]:a},e,s)))),zt=e=>we(e)?Fs():Ms(e),At=e=>Le(ge,e,((e,t,s)=>Pt(t,s)),((e,t)=>Ut(t))),Pt=(e,t)=>{_(ge,e)||Qt(e,1);const s=ye(ge,e);t!==s&&(Xt(e,s,t),Me(ge,e,t))},Wt=e=>ye(de,e)??Dt(e,{}),kt=e=>Dt(e,{}),Nt=(e,t,s)=>{const[,l]=ye(ce,e);l(s),Ft(e,t,s,{},!0)},jt=(e,t,s,l,a,n)=>{const r=ye(ye(te,e)?.[0],a);if(!E(r)&&!n)return Ot(e,s,l,a,r);const o=t=>{Kt(e,s,t,ye(l,t)),Gt(e,s,t,-1),Me(l,t)};E(r)?o(a):me(l,o),ee(l)&&(Bt(e,s,-1),ee(Me(t,s))&&(qt(e,-1),Me(de,e),Me(ce,e),Me(ie,e)))},Ut=e=>{const t=ye(re,e);if(!E(t))return Pt(e,t);Xt(e,ye(ge,e)),Qt(e,-1),Me(ge,e)},qt=(e,t)=>vt(y,e,t),Bt=(e,t,s)=>vt(Se(S,e,pe),t,s)&&Me(M,e,Se(M,e,(()=>0))+s),Gt=(e,t,s,l)=>{const a=ye(ie,e),n=ye(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&vt(Se(m,e,pe),s,l),Me(a,s,n!=-l?n+l:null),vt(Se(Se(L,e,pe),t,pe),s,l)},Kt=(e,t,s,l,a)=>{Se(Se(Se(H,e,pe),t,pe),s,(()=>[l,0]))[1]=a,R[3]?.(e,t,s,a)},Qt=(e,t)=>vt(J,e,t),Xt=(e,t,s)=>{Se(P,e,(()=>[t,0]))[1]=s,R[4]?.(e,s)},Yt=(e,t,s,l,a)=>(K(Se(Se(Se(N,e,pe),t,pe),s,(()=>[])),l),a),Zt=(e,t,s)=>(K(Se(G,e,(()=>[])),t),s),$t=(e,t,s)=>D(ye(ye(ye(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ht(bs(e,t,s))])),_t=e=>D(ye(P,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ht(Ts(e))])),es=e=>ee(N)||ee($e[e])?0:le(e?Oe(N):N,((t,s)=>le(t,((t,l)=>le(t,((t,a)=>ct($e[e],[s,l,a],t))))))),ts=e=>ee(G)||ee(_e[e])?0:le(e?De(G):G,((t,s)=>ct(_e[e],[s],t))),ss=(e,t,s,l)=>{if(!ee(e))return ct(t,l,(()=>He(e))),me(e,((e,t)=>ct(s,[...l??[],e],1==t))),1},ls=e=>{const t=vs();t!=l&&ct(be[e],void 0,t);const s=ee(je[e]),a=ee(Be[e])&&ee(Ge[e])&&ee(Ne[e])&&ee(Ue[e])&&ee(Pe[e])&&ee(We[e])&&ee(ke[e])&&s&&ee(Ve[e])&&ee(ze[e]),n=ee(Ze[e])&&ee(qe[e])&&ee(Ae[e])&&ee(Te[e]);if(!a||!n){const t=e?[De(y),Fe(m),De(M),Fe(S),Oe(L),Oe(H)]:[y,m,M,S,L,H];if(!a){ss(t[0],Ve[e],ze[e]),le(t[1],((t,s)=>ss(t,Pe[e],We[e],[s]))),le(t[2],((t,s)=>{0!=t&&ct(ke[e],[s],ds(s))}));const l=Xe();le(t[3],((t,a)=>{ss(t,Ne[e],Ue[e],[a])&&!s&&(ct(je[e],[a,null]),Ye(l,a))})),s||le(t[5],((t,s)=>{if(!_(l,s)){const l=Xe();le(t,(e=>le(e,(([t,s],a)=>s!==t?Ye(l,a):ae(e,a))))),le(l,(t=>ct(je[e],[s,t])))}})),le(t[4],((t,s)=>le(t,((t,l)=>ss(t,Be[e],Ge[e],[s,l])))))}if(!n){let s;le(t[5],((t,l)=>{let a;le(t,((t,n)=>{let r;le(t,(([t,o],c)=>{o!==t&&(ct(Ze[e],[l,n,c],o,t,$t),s=a=r=1)})),r&&ct(qe[e],[l,n],$t)})),a&&ct(Ae[e],[l],$t)})),s&&ct(Te[e],void 0,$t)}}},as=e=>{const t=Rs();t!=n&&ct(et[e],void 0,t);const s=ee(st[e])&&ee(lt[e]),l=ee(at[e])&&ee(tt[e]);if(!s||!l){const t=e?[De(J),De(P)]:[J,P];if(s||ss(t[0],st[e],lt[e]),!l){let s;le(t[1],(([t,l],a)=>{l!==t&&(ct(at[e],[a],l,t,_t),s=1)})),s&&ct(tt[e],void 0,_t)}}},ns=(e,...t)=>(zs((()=>e(...B(t,p)))),Ws),rs=(e,t,s,l,a)=>{let n=gs(e,t,...s);return ot((()=>{const a=gs(e,t,...s);var r,o,c;o=n,A(r=a)===A(o)&&(c=(e,t)=>o[t]===e,r.every(c))||(n=a,l(Ws,e,t,...s,n))}),je[a?1:0],[e,t],[cs])},os=()=>Ee(de),cs=()=>Re(de),is=e=>Re(ye(ie,p(e))),ds=e=>X(ye(de,p(e))),us=e=>Re(ye(de,p(e))),gs=(e,t,s,l=0,a)=>{return ue(e)?gs(e.tableId,e.cellId,e.descending,e.offset,e.limit):B(z((r=ye(de,p(e)),o=(e,s)=>[E(t)?s:ye(e,p(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),B([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),l,E(a)?a:l+a),(([,e])=>e));var n,r,o},hs=(e,t)=>Re(ye(ye(de,p(e)),p(t))),bs=(e,t,s)=>ye(ye(ye(de,p(e)),p(t)),p(s)),fs=()=>He(ge),Cs=()=>Re(ge),Ts=e=>ye(ge,p(e)),vs=()=>!ee(de),ws=e=>_(de,p(e)),Vs=(e,t)=>_(ye(ie,p(e)),p(t)),Is=(e,t)=>_(ye(de,p(e)),p(t)),ps=(e,t,s)=>_(ye(ye(de,p(e)),p(t)),p(s)),Rs=()=>!ee(ge),ys=e=>_(ge,p(e)),ms=e=>ns((()=>(e=>Ie(e,It,Yt))(e)?Et(e):0)),Ms=e=>ns((()=>yt(e)?At(e):0)),Ss=e=>(W((()=>Jt(Ke(e)))),Ws),Ls=t=>ns((()=>{if((e=Ie(t,(e=>Ie(e,ut))))&&(Lt(t),!ee(de))){const e=os();Js(),ms(e)}})),Hs=e=>ns((()=>{if(s=(e=>Ie(e,ut))(e)){const t=fs();xs(),Fs(),s=!0,Ht(e),Ms(t)}})),Js=()=>ns((()=>Et({}))),Es=e=>ns((e=>_(de,e)?kt(e):0),e),Ds=(e,t)=>ns(((e,t)=>D(ye(de,e),(s=>_(s,t)?Nt(e,s,t):0))),e,t),Fs=()=>ns((()=>At({}))),Os=()=>ns((()=>{Lt({}),e=!1})),xs=()=>ns((()=>{Ht({}),s=!1})),zs=(e,t)=>{if(-1!=d){As();const s=e();return Ps(t),s}},As=()=>(-1!=d&&d++,1==d&&(R[0]?.(),ct(nt)),Ws),Ps=e=>(d>0&&(d--,0==d&&(d=1,es(1),ee(H)||ls(1),ts(1),ee(P)||as(1),e?.(Ws)&&(le(H,((e,t)=>le(e,((e,s)=>le(e,(([e],l)=>j(Ws,t,s,l,e))))))),se(H),le(P,(([e],t)=>U(Ws,t,e))),se(P)),ct(rt[0],void 0),d=-1,es(0),ee(H)||ls(0),ts(0),ee(P)||as(0),R[1]?.(),ct(rt[1],void 0),R[2]?.(),d=0,l=vs(),n=Rs(),q([y,m,M,S,L,H,N,J,P,G],se))),Ws),Ws={getContent:()=>[os(),fs()],getTables:os,getTableIds:cs,getTable:e=>Je(ye(de,p(e))),getTableCellIds:is,getRowCount:ds,getRowIds:us,getSortedRowIds:gs,getRow:(e,t)=>He(ye(ye(de,p(e)),p(t))),getCellIds:hs,getCell:bs,getValues:fs,getValueIds:Cs,getValue:Ts,hasTables:vs,hasTable:ws,hasTableCell:Vs,hasRow:Is,hasCell:ps,hasValues:Rs,hasValue:ys,getTablesJson:()=>Qe(de),getValuesJson:()=>Qe(ge),getJson:()=>Qe([de,ge]),getTablesSchemaJson:()=>Qe(Q),getValuesSchemaJson:()=>Qe(ne),getSchemaJson:()=>Qe([Q,ne]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ns((()=>{const t=O(e)?e():e;Vt(t)&&(([e,t])=>{(we(e)?Js:ms)(e),(we(t)?Fs:Ms)(t)})(t)})),setTables:ms,setTable:(e,t)=>ns((e=>It(t,e)?Dt(e,t):0),e),setRow:(e,t,s)=>ns(((e,t)=>pt(e,t,s)?Ft(e,Wt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let l;return pt(e,l,t)&&(e=p(e),Ft(e,Wt(e),l=((e,t)=>{const[s]=ye(ce,e);let l;do{l=s(t)}while(_(ye(de,e),l));return l})(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>ns(((e,t)=>{if(pt(e,t,s,1)){const l=Wt(e);ve(s,((s,a)=>xt(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>ns(((e,t,s)=>D(Rt(e,t,s,O(l)?l(bs(e,t,s)):l),(l=>xt(e,Wt(e),t,s,l)))),e,t,s),setValues:Ms,setPartialValues:e=>ns((()=>yt(e,1)?ve(e,((e,t)=>Pt(t,e))):0)),setValue:(e,t)=>ns((e=>D(mt(e,O(t)?t(Ts(e)):t),(t=>Pt(e,t)))),e),applyChanges:e=>ns((()=>{ve(e[0],((e,t)=>E(e)?Es(t):ve(e,((e,s)=>E(e)?Ds(t,s):ve(e,((e,l)=>j(Ws,t,s,l,e))))))),ve(e[1],((e,t)=>U(Ws,t,e)))})),setTablesJson:Ss,setValuesJson:e=>(W((()=>zt(Ke(e)))),Ws),setJson:e=>ns((()=>W((()=>{const[t,s]=Ke(e);Jt(t),zt(s)}),(()=>Ss(e))))),setTablesSchema:Ls,setValuesSchema:Hs,setSchema:(e,t)=>ns((()=>{Ls(e),Hs(t)})),delTables:Js,delTable:Es,delRow:Ds,delCell:(e,t,s,l)=>ns(((e,t,s)=>D(ye(de,e),(a=>D(ye(a,t),(n=>_(n,s)?jt(e,a,t,n,s,l):0))))),e,t,s),delValues:Fs,delValue:e=>ns((e=>_(ge,e)?Ut(e):0),e),delTablesSchema:Os,delValuesSchema:xs,delSchema:()=>ns((()=>{Os(),xs()})),transaction:zs,startTransaction:As,getTransactionChanges:()=>[He(H,((e,t)=>-1===ye(y,t)?void 0:He(e,((e,s)=>-1===ye(ye(S,t),s)?void 0:He(e,(([,e])=>e),(e=>Tt(e)))),ee,we)),ee,we),He(P,(([,e])=>e),(e=>Tt(e))),1],getTransactionLog:()=>[!ee(H),!ee(P),Ee(H,Ct,Tt),Ee(N),He(P,Ct,Tt),He(G),He(y),Je(S),Ee(L),He(J)],finishTransaction:Ps,forEachTable:e=>le(de,((t,s)=>e(s,(e=>le(t,((t,s)=>e(s,(e=>me(t,e))))))))),forEachTableCell:(e,t)=>me(ye(ie,p(e)),t),forEachRow:(e,t)=>le(ye(de,p(e)),((e,s)=>t(s,(t=>me(e,t))))),forEachCell:(e,t,s)=>me(ye(ye(de,p(e)),p(t)),s),forEachValue:e=>me(ge,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>ue(e)?rs(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):rs(e,t,[s,l,a],n,r),addStartTransactionListener:e=>ot(e,nt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Ws),delListener:e=>(it(e),Ws),getListenerStats:()=>({hasTables:bt(be),tables:bt(Te),tableIds:bt(Ve),hasTable:bt(ze),table:bt(Ae),tableCellIds:bt(Pe),hasTableCell:bt(We,Z),rowCount:bt(ke),rowIds:bt(Ne),sortedRowIds:bt(je),hasRow:bt(Ue,Z),row:bt(qe,Z),cellIds:bt(Be,Z),hasCell:bt(Ge,$),cell:bt(Ze,$),invalidCell:bt($e,$),hasValues:bt(et),values:bt(tt),valueIds:bt(st),hasValue:bt(lt),value:bt(at),invalidValue:bt(_e),transaction:Y(nt)+bt(rt)}),isMergeable:()=>!1,createStore:wt,addListener:ot,callListeners:ct,setInternalListeners:(e,t,s,l,a)=>R=[e,t,s,l,a]};return ve({[i+g]:[0,be,[],()=>[vs()]],[g]:[0,Te],[h]:[0,Ve],[i+u]:[1,ze,[cs],e=>[ws(...e)]],[u]:[1,Ae,[cs]],[u+v]:[1,Pe,[cs]],[i+u+T]:[2,We,[cs,is],e=>[Vs(...e)]],[f]:[1,ke,[cs]],[C]:[1,Ne,[cs]],[i+b]:[2,Ue,[cs,us],e=>[Is(...e)]],[b]:[2,qe,[cs,us]],[v]:[2,Be,[cs,us]],[i+T]:[3,Ge,[cs,us,hs],e=>[ps(...e)]],[T]:[3,Ze,[cs,us,hs],e=>ht(bs(...e))],InvalidCell:[3,$e],[i+V]:[0,et,[],()=>[Rs()]],[V]:[0,tt],[I]:[0,st],[i+w]:[1,lt,[Cs],e=>[ys(...e)]],[w]:[1,at,[Cs],e=>ht(Ts(e[0]))],InvalidValue:[1,_e]},(([e,t,s,l],a)=>{Ws["add"+a+c]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)})),he(Ws)},Vt={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},It=(e=t)=>[ot(e),ot(e)],pt=(e,s)=>{let l=1,a=It(),n=0;const r=pe(),o=Xe(),[i,d]=((e,t=Date.now)=>{let s=0,l=-1;const a=D(e,(e=>{const t=re(e);return Pe(t/Ue)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)}),(()=>((e=16)=>G(ke(new Uint8Array(e)),((e,t)=>e+Pe(t)),""))(5))),n=e=>{const a=s,[n,r]=E(e)||""==e?[0,0]:[We(o=e,0)*Ne+We(o,1)*je+We(o,2)*Ue+We(o,3)*qe+We(o,4)*Be+64*We(o,5)+We(o,6),We(o,7)*qe+We(o,8)*Be+64*We(o,9)+We(o,10)];var o;s=L(a,n,t()),l=s==a?s==n?L(l,r):l:s==n?r:-1};return[()=>{return n(),t=++l,Pe((e=s)/Ne)+Pe(e/je)+Pe(e/Ue)+Pe(e/qe)+Pe(e/Be)+Pe(e/64)+Pe(e)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)+a;var e,t},n]})(e,s),u=wt(),g=e=>{const t=l;return l=0,e(),l=t,w},h=(e,s=0)=>{const l={},n={},[[r,o=t,c=0],i]=e,[u,g]=a,[h,f,C]=u;let T=s?c:C,v=o;Te(r,(([e,a=t,n=0],r)=>{const o=Se(h,r,ot),[c,i,d]=o;let u=s?n:d,g=a;Te(e,((e,t)=>{const[a,n,o]=b(e,Se(c,t,ot),Ve(Ve(l,r,be),t,be),s);u^=s?0:(n?st(t,n):0)^st(t,o),g=at(g,a)})),u^=s?0:lt(i,a),nt(o,a,u),T^=s?0:(d?st(r,d):0)^st(r,o[2]),v=at(v,g)})),T^=s?0:lt(f,o),nt(u,o,T);const[w]=b(i,g,n,s);return d(at(v,w)),[l,n,1]},b=(e,s,l,a)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=a?o:d;return Te(n,(([e,s=t,n=0],r)=>{const o=Se(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(nt(o,s,a?n:re(Qe(e??null)+":"+s)),o[0]=e,l[r]=e,g^=a?0:st(r,d)^st(r,o[2]),u=at(u,s))})),g^=a?0:lt(i,r),nt(s,r,g),[u,d,s[2]]},f=P,C=P,T=()=>[ct(a[0],(e=>ct(e,(e=>ct(e))))),ct(a[1])],v=e=>g((()=>u.applyChanges(h(e)))),w={getMergeableContent:T,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>He(a[0][0],tt),getMergeableTableDiff:e=>{const t=rt(a[0][1]),s={};return me(a[0][0],((l,[a,n,r])=>fe(e,l)?r!=e[l]?s[l]=r:0:t[0][l]=it([a,n],(e=>it(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(a[0][0],s),(([l,,a])=>a!=e?me(l,((e,[,,l])=>Ve(t,s,be)[e]=l)):0)))),t},getMergeableRowDiff:e=>{const t=rt(a[0][1]),s={};return Te(e,((e,l)=>me(ye(a[0][0],l)?.[0],((a,[n,r,o])=>fe(e,a)?o!==e[a]?Ve(s,l,be)[a]=o:0:Ve(t[0],l,rt)[0][a]=it([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(a[0][0],s),(([l])=>Te(e,((e,a)=>D(ye(l,a),(([l,,n])=>n!==e?me(l,((e,[,,l])=>Ve(Ve(t,s,be),a,be)[e]=l)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,l={};return Te(e,((e,s)=>Te(e,((e,a)=>D(ye(t,s),(([t,n])=>D(ye(t,a),(([t,r])=>me(t,((t,[o,c,i])=>i!==e[t]?Ve(Ve(l,s,(()=>rt(n)))[0],a,(()=>rt(r)))[0][t]=[o,c]:0)))))))))),_e(l,s)},getMergeableValueHashes:()=>He(a[1][0],tt),getMergeableValueDiff:e=>{const[,[t,s]]=a,l=He(t,Ze,(([,,t],s)=>t==e?.[s]));return _e(l,s)},setMergeableContent:e=>g((()=>(e=>x(e)&&2==A(e)&&dt(e[0],(e=>Ie(e,(e=>dt(e,(e=>Ie(e,(e=>dt(e,(e=>Ie(e,(e=>dt(e,N)),void 0,1)))),void 0,1)))),void 0,1)))&&dt(e[1],(e=>Ie(e,(e=>dt(e,N)),void 0,1))))(e)?u.transaction((()=>{u.delTables().delValues(),a=It(),u.applyChanges(h(e,1))})):0)),setDefaultContent:e=>(u.transaction((()=>{n=1,u.setContent(e),n=0})),w),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[n,c,i]]=a,d=e?et:_e,u={};le(r,((e,s)=>D(ye(t,s),(([t,l,a])=>{const n={};le(e,((e,s)=>D(ye(t,s),(([t,l,a])=>{const r={};le(e,(e=>{D(ye(t,e),(([t,s,l])=>r[e]=d(t,s,l)))})),n[s]=d(r,l,a)})))),u[s]=d(n,l,a)}))));const g={};return le(o,(e=>D(ye(n,e),(([t,s,l])=>g[e]=d(t,s,l))))),[d(u,s,l),d(g,c,i),1]},applyMergeableChanges:v,merge:e=>{const t=T(),s=e.getMergeableContent();return e.applyMergeableChanges(t),v(s)}};return u.setInternalListeners(f,C,(()=>{se(r),se(o)}),((e,s,a,o)=>{Ye(Se(Se(r,e,pe),s,Xe),a),l&&h([[{[e]:[{[s]:[{[a]:[o,n?t:i()]}]}]}],[{}],1])}),((e,s)=>{Ye(o,e),l&&h([[{}],[{[e]:[s,n?t:i()]}],1])})),ve(u,((e,t)=>w[t]=R(t,"set")||R(t,"del")||R(t,"apply")||y(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),w):R(t,"add")&&y(t,c)?(...s)=>{const l=Vt[z(t,3,-8)]??0,a=s[l];return s[l]=(e,...t)=>a(w,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),he(w)};export{pt as createMergeableStore};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",C=b+"Count",f=b+d,T="Cell",v=T+d,w="Value",V=w+"s",p=w+d,I=e=>t+e,R=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),M=(e,s=t,a)=>e.split(s,a),S=globalThis,m=Math,L=m.max,H=m.floor,J=isFinite,E=e=>null==e,D=(e,t,s)=>E(e)?s?.():t(e),F=e=>e==s||e==a,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=()=>{},W=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},k=t=>{const s=e(t);return F(s)||s==l&&J(t)?s:void 0},N=e=>E(e)||!E(k(e)),j=(e,t,s,a,l)=>E(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),U=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),q=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),Q=e=>t=>G(te(t),((t,s)=>t+e(s)),0),X=e=>e?.size??0,Y=Q(X),Z=Q(Y),$=Q(Z),_=(e,t)=>e?.has(t)??!1,ee=e=>E(e)||0==X(e),te=e=>[...e?.values()??[]],se=e=>e.clear(),ae=(e,t)=>e?.forEach(t),le=(e,t)=>e?.delete(t),ne=new S.TextEncoder,re=e=>{let t=2166136261;return q(ne.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},oe=Object,ce=e=>oe.getPrototypeOf(e),ie=oe.entries,de=oe.isFrozen,ue=e=>!E(e)&&D(ce(e),(e=>e==oe.prototype||E(ce(e))),(()=>!0)),ge=oe.keys,he=oe.freeze,be=(e=[])=>oe.fromEntries(e),Ce=(e,t)=>t in e,fe=(e,t)=>(delete e[t],e),Te=(e,t)=>q(ie(e),(([e,s])=>t(s,e))),ve=(e,t)=>be(((e,t)=>B(ie(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),we=e=>ue(e)&&0==(e=>A(ge(e)))(e),Ve=(e,t,s)=>(Ce(e,t)||(e[t]=s()),e[t]),pe=(e,t,s,a=0)=>E(e)||!ue(e)||!a&&we(e)||de(e)?(s?.(),!1):(Te(e,((s,a)=>{t(s,a)||fe(e,a)})),!!a||!we(e)),Ie=e=>new Map(e),Re=e=>[...e?.keys()??[]],ye=(e,t)=>e?.get(t),Me=(e,t)=>ae(e,((e,s)=>t(s,e))),Se=(e,t,s)=>E(s)?(le(e,t),e):e?.set(t,s),me=(e,t,s,a)=>(_(e,t)?a?.(ye(e,t)):Se(e,t,s()),ye(e,t)),Le=(e,t,s,a=Se)=>(ve(t,((t,a)=>s(e,a,t))),Me(e,(s=>Ce(t,s)?0:a(e,s))),e),He=(e,t,s,a)=>{const l={};return ae(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},Je=(e,t,s)=>He(e,(e=>He(e,t,s)),ee,we),Ee=(e,t,s)=>He(e,(e=>Je(e,t,s)),ee,we),De=(e,t)=>{const s=Ie();return ae(e,((e,a)=>s.set(a,t?.(e)??e))),s},Fe=e=>De(e,De),Oe=e=>De(e,Fe),xe=(e,t,s,a,l=0)=>D((s?me:ye)(e,t[l],l>A(t)-2?s:Ie),(n=>{if(l>A(t)-2)return a?.(n)&&Se(e,t[l]),n;const r=xe(n,t,s,a,l+1);return ee(n)&&Se(e,t[l]),r})),ze=M("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Ae=Ie(B(ze,((e,t)=>[e,t]))),Pe=e=>ze[63&e],We=(e,t)=>ye(Ae,e[t])??0,ke=S.crypto?e=>S.crypto.getRandomValues(e):e=>B(e,(()=>H(256*m.random()))),Ne=2**36,je=2**30,Ue=2**24,qe=2**18,Be=4096,Ge=JSON.stringify,Ke=JSON.parse,Qe=e=>Ge(e,((e,t)=>t instanceof Map?oe.fromEntries([...t]):t)),Xe=e=>new Set(x(e)||E(e)?e:[e]),Ye=(e,t)=>e?.add(t),Ze=([e,t])=>_e(e,t),$e=([e,t,s])=>[e,t,s],_e=(e,t)=>t?[e,t]:[e],et=(e,t,s)=>[e,t,s],tt=e=>e[2],st=(e,t)=>re(e+":"+t),at=(e,t)=>t>e?(e?re(e):0)^re(t):0,lt=(e,t)=>((e??"")>(t??"")?e:t)??"",nt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},rt=(e=t)=>_e(be(),e),ot=(e=t)=>[Ie(),e,0],ct=([e,t,s],a=$e)=>[He(e,a),t,s],it=([e,t],s=Ze)=>_e(He(e,s),t),dt=(t,a)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==l&&J(t[2])&&a(t[0]);var n},ut=/^\d+$/,gt=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{ut.test(t)&&A(e)<1e3&&K(e,t)}]},ht=e=>[e,e],bt=(e,t=Y)=>t(e[0])+t(e[1]),Ct=()=>[Ie(),Ie()],ft=e=>[...e],Tt=([e,t])=>e===t,vt=(e,t,s)=>Se(e,t,ye(e,t)==-s?void 0:s),wt=()=>{let e,s,a=!1,n=!1,d=0,R=[];const y=Ie(),M=Ie(),S=Ie(),m=Ie(),L=Ie(),H=Ie(),J=Ie(),P=Ie(),N=Ie(),G=Ie(),Q=Ie(),te=Ie(),ne=Ie(),re=Ie(),oe=Xe(),ce=Ie(),ie=Ie(),de=Ie(),ue=Ie(),ge=Ct(),be=Ct(),Te=Ct(),Ve=Ct(),ze=Ct(),Ae=Ct(),Pe=Ct(),We=Ct(),ke=Ct(),Ne=Ct(),je=Ct(),Ue=Ct(),qe=Ct(),Be=Ct(),Ge=Ct(),Ze=Ct(),$e=Ct(),_e=Ct(),et=Ct(),tt=Ct(),st=Ct(),at=Ct(),lt=Ie(),nt=Ct(),[rt,ot,ct,it]=(()=>{let e;const[s,a]=gt(),l=Ie();return[(a,n,r,o=[],c=()=>[])=>{e??=As;const i=s(1);return Se(l,i,[a,n,r,o,c]),Ye(xe(n,r??[t],Xe),i),i},(s,a,...n)=>q(((e,s=[t])=>{const a=[],l=(e,t)=>t==A(s)?K(a,e):null===s[t]?ae(e,(e=>l(e,t+1))):q([s[t],null],(s=>l(ye(e,s),t+1)));return l(e,0),a})(s,a),(t=>ae(t,(t=>ye(l,t)[0](e,...a??[],...n))))),e=>D(ye(l,e),(([,s,n])=>(xe(s,n??[t],void 0,(t=>(le(t,e),ee(t)?1:0))),Se(l,e),a(e),n))),t=>D(ye(l,t),(([t,,s=[],a,l])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...l(r)):E(s[o])?q(a[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),dt=e=>{if(!pe(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=l||(k(e[o])!=t&&fe(e,o),0))},ut=x,Vt=(t,s)=>(!e||_(Q,s)||Xt(s))&&pe(t,((e,t)=>pt(s,t,e)),(()=>Xt(s))),pt=(e,t,s,a)=>pe(a?s:Mt(s,e,t),((a,l)=>D(It(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Xt(e,t))),It=(t,s,a,l)=>e?D(ye(ye(Q,t),a),(e=>k(l)!=e[r]?Xt(t,s,a,l,e[o]):l),(()=>Xt(t,s,a,l))):E(k(l))?Xt(t,s,a,l):l,Rt=(e,t)=>pe(t?e:St(e),((t,s)=>D(yt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Yt())),yt=(e,t)=>s?D(ye(ne,e),(s=>k(t)!=s[r]?Yt(e,t,s[o]):t),(()=>Yt(e,t))):E(k(t))?Yt(e,t):t,Mt=(e,t,s)=>(D(ye(te,t),(([a,l])=>{ae(a,((t,s)=>{Ce(e,s)||(e[s]=t)})),ae(l,(a=>{Ce(e,a)||Xt(t,s,a)}))})),e),St=e=>(s&&(ae(re,((t,s)=>{Ce(e,s)||(e[s]=t)})),ae(oe,(t=>{Ce(e,t)||Yt(t)}))),e),mt=e=>Le(Q,e,((e,t,s)=>{const a=Ie(),l=Xe();Le(me(Q,t,Ie),s,((e,t,s)=>{Se(e,t,s),D(s[o],(e=>Se(a,t,e)),(()=>Ye(l,t)))})),Se(te,t,[a,l])}),((e,t)=>{Se(Q,t),Se(te,t)})),Lt=e=>Le(ne,e,((e,t,s)=>{Se(ne,t,s),D(s[o],(e=>Se(re,t,e)),(()=>Ye(oe,t)))}),((e,t)=>{Se(ne,t),Se(re,t),le(oe,t)})),Ht=e=>we(e)?Ls():Rs(e),Jt=e=>Le(de,e,((e,t,s)=>Et(t,s)),((e,t)=>Wt(t))),Et=(e,t)=>Le(me(de,e,(()=>(Ut(e,1),Se(ce,e,gt()),Se(ie,e,Ie()),Ie()))),t,((t,s,a)=>Dt(e,t,s,a)),((t,s)=>kt(e,t,s))),Dt=(e,t,s,a,l)=>Le(me(t,s,(()=>(qt(e,s,1),Ie()))),a,((t,a,l)=>Ft(e,s,t,a,l)),((a,n)=>Nt(e,t,s,a,n,l))),Ft=(e,t,s,a,l)=>{_(s,a)||Bt(e,t,a,1);const n=ye(s,a);l!==n&&(Gt(e,t,a,n,l),Se(s,a,l))},Ot=(e,t,s,a,l)=>D(ye(t,s),(t=>Ft(e,s,t,a,l)),(()=>Dt(e,t,s,Mt({[a]:l},e,s)))),xt=e=>we(e)?Es():ys(e),zt=e=>Le(ue,e,((e,t,s)=>At(t,s)),((e,t)=>jt(t))),At=(e,t)=>{_(ue,e)||Kt(e,1);const s=ye(ue,e);t!==s&&(Qt(e,s,t),Se(ue,e,t))},Pt=e=>ye(de,e)??Et(e,{}),Wt=e=>Et(e,{}),kt=(e,t,s)=>{const[,a]=ye(ce,e);a(s),Dt(e,t,s,{},!0)},Nt=(e,t,s,a,l,n)=>{const r=ye(ye(te,e)?.[0],l);if(!E(r)&&!n)return Ft(e,s,a,l,r);const o=t=>{Gt(e,s,t,ye(a,t)),Bt(e,s,t,-1),Se(a,t)};E(r)?o(l):Me(a,o),ee(a)&&(qt(e,s,-1),ee(Se(t,s))&&(Ut(e,-1),Se(de,e),Se(ce,e),Se(ie,e)))},jt=e=>{const t=ye(re,e);if(!E(t))return At(e,t);Qt(e,ye(ue,e)),Kt(e,-1),Se(ue,e)},Ut=(e,t)=>vt(y,e,t),qt=(e,t,s)=>vt(me(m,e,Ie),t,s)&&Se(S,e,me(S,e,(()=>0))+s),Bt=(e,t,s,a)=>{const l=ye(ie,e),n=ye(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&vt(me(M,e,Ie),s,a),Se(l,s,n!=-a?n+a:null),vt(me(me(L,e,Ie),t,Ie),s,a)},Gt=(e,t,s,a,l)=>{me(me(me(H,e,Ie),t,Ie),s,(()=>[a,0]))[1]=l,R[3]?.(e,t,s,l)},Kt=(e,t)=>vt(J,e,t),Qt=(e,t,s)=>{me(P,e,(()=>[t,0]))[1]=s,R[4]?.(e,s)},Xt=(e,t,s,a,l)=>(K(me(me(me(N,e,Ie),t,Ie),s,(()=>[])),a),l),Yt=(e,t,s)=>(K(me(G,e,(()=>[])),t),s),Zt=(e,t,s)=>D(ye(ye(ye(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ht(gs(e,t,s))])),$t=e=>D(ye(P,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ht(Cs(e))])),_t=e=>ee(N)||ee(Ze[e])?0:ae(e?Oe(N):N,((t,s)=>ae(t,((t,a)=>ae(t,((t,l)=>ot(Ze[e],[s,a,l],t))))))),es=e=>ee(G)||ee($e[e])?0:ae(e?De(G):G,((t,s)=>ot($e[e],[s],t))),ts=(e,t,s,a)=>{if(!ee(e))return ot(t,a,(()=>He(e))),Me(e,((e,t)=>ot(s,[...a??[],e],1==t))),1},ss=e=>{const t=fs();t!=a&&ot(ge[e],void 0,t);const s=ee(Ne[e]),l=ee(qe[e])&&ee(Be[e])&&ee(ke[e])&&ee(je[e])&&ee(Ae[e])&&ee(Pe[e])&&ee(We[e])&&s&&ee(Te[e])&&ee(Ve[e]),n=ee(Ge[e])&&ee(Ue[e])&&ee(ze[e])&&ee(be[e]);if(!l||!n){const t=e?[De(y),Fe(M),De(S),Fe(m),Oe(L),Oe(H)]:[y,M,S,m,L,H];if(!l){ts(t[0],Te[e],Ve[e]),ae(t[1],((t,s)=>ts(t,Ae[e],Pe[e],[s]))),ae(t[2],((t,s)=>{0!=t&&ot(We[e],[s],cs(s))}));const a=Xe();ae(t[3],((t,l)=>{ts(t,ke[e],je[e],[l])&&!s&&(ot(Ne[e],[l,null]),Ye(a,l))})),s||ae(t[5],((t,s)=>{if(!_(a,s)){const a=Xe();ae(t,(e=>ae(e,(([t,s],l)=>s!==t?Ye(a,l):le(e,l))))),ae(a,(t=>ot(Ne[e],[s,t])))}})),ae(t[4],((t,s)=>ae(t,((t,a)=>ts(t,qe[e],Be[e],[s,a])))))}if(!n){let s;ae(t[5],((t,a)=>{let l;ae(t,((t,n)=>{let r;ae(t,(([t,o],c)=>{o!==t&&(ot(Ge[e],[a,n,c],o,t,Zt),s=l=r=1)})),r&&ot(Ue[e],[a,n],Zt)})),l&&ot(ze[e],[a],Zt)})),s&&ot(be[e],void 0,Zt)}}},as=e=>{const t=ps();t!=n&&ot(_e[e],void 0,t);const s=ee(tt[e])&&ee(st[e]),a=ee(at[e])&&ee(et[e]);if(!s||!a){const t=e?[De(J),De(P)]:[J,P];if(s||ts(t[0],tt[e],st[e]),!a){let s;ae(t[1],(([t,a],l)=>{a!==t&&(ot(at[e],[l],a,t,$t),s=1)})),s&&ot(et[e],void 0,$t)}}},ls=(e,...t)=>(Os((()=>e(...B(t,I)))),As),ns=()=>Ee(de),rs=()=>Re(de),os=e=>Re(ye(ie,I(e))),cs=e=>X(ye(de,I(e))),is=e=>Re(ye(de,I(e))),ds=(e,t,s,a=0,l)=>{return B(z((r=ye(de,I(e)),o=(e,s)=>[E(t)?s:ye(e,I(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),B([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),a,E(l)?l:a+l),(([,e])=>e));var n,r,o},us=(e,t)=>Re(ye(ye(de,I(e)),I(t))),gs=(e,t,s)=>ye(ye(ye(de,I(e)),I(t)),I(s)),hs=()=>He(ue),bs=()=>Re(ue),Cs=e=>ye(ue,I(e)),fs=()=>!ee(de),Ts=e=>_(de,I(e)),vs=(e,t)=>_(ye(ie,I(e)),I(t)),ws=(e,t)=>_(ye(de,I(e)),I(t)),Vs=(e,t,s)=>_(ye(ye(de,I(e)),I(t)),I(s)),ps=()=>!ee(ue),Is=e=>_(ue,I(e)),Rs=e=>ls((()=>(e=>pe(e,Vt,Xt))(e)?Jt(e):0)),ys=e=>ls((()=>Rt(e)?zt(e):0)),Ms=e=>(W((()=>Ht(Ke(e)))),As),Ss=t=>ls((()=>{if((e=pe(t,(e=>pe(e,dt))))&&(mt(t),!ee(de))){const e=ns();Ls(),Rs(e)}})),ms=e=>ls((()=>{if(s=(e=>pe(e,dt))(e)){const t=hs();Fs(),Es(),s=!0,Lt(e),ys(t)}})),Ls=()=>ls((()=>Jt({}))),Hs=e=>ls((e=>_(de,e)?Wt(e):0),e),Js=(e,t)=>ls(((e,t)=>D(ye(de,e),(s=>_(s,t)?kt(e,s,t):0))),e,t),Es=()=>ls((()=>zt({}))),Ds=()=>ls((()=>{mt({}),e=!1})),Fs=()=>ls((()=>{Lt({}),s=!1})),Os=(e,t)=>{if(-1!=d){xs();const s=e();return zs(t),s}},xs=()=>(-1!=d&&d++,1==d&&(R[0]?.(),ot(lt)),As),zs=e=>(d>0&&(d--,0==d&&(d=1,_t(1),ee(H)||ss(1),es(1),ee(P)||as(1),e?.(As)&&(ae(H,((e,t)=>ae(e,((e,s)=>ae(e,(([e],a)=>j(As,t,s,a,e))))))),se(H),ae(P,(([e],t)=>U(As,t,e))),se(P)),ot(nt[0],void 0),d=-1,_t(0),ee(H)||ss(0),es(0),ee(P)||as(0),R[1]?.(),ot(nt[1],void 0),R[2]?.(),d=0,a=fs(),n=ps(),q([y,M,S,m,L,H,N,J,P,G],se))),As),As={getContent:()=>[ns(),hs()],getTables:ns,getTableIds:rs,getTable:e=>Je(ye(de,I(e))),getTableCellIds:os,getRowCount:cs,getRowIds:is,getSortedRowIds:ds,getRow:(e,t)=>He(ye(ye(de,I(e)),I(t))),getCellIds:us,getCell:gs,getValues:hs,getValueIds:bs,getValue:Cs,hasTables:fs,hasTable:Ts,hasTableCell:vs,hasRow:ws,hasCell:Vs,hasValues:ps,hasValue:Is,getTablesJson:()=>Qe(de),getValuesJson:()=>Qe(ue),getJson:()=>Qe([de,ue]),getTablesSchemaJson:()=>Qe(Q),getValuesSchemaJson:()=>Qe(ne),getSchemaJson:()=>Qe([Q,ne]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ls((()=>{const t=O(e)?e():e;ut(t)&&(([e,t])=>{(we(e)?Ls:Rs)(e),(we(t)?Es:ys)(t)})(t)})),setTables:Rs,setTable:(e,t)=>ls((e=>Vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ls(((e,t)=>pt(e,t,s)?Dt(e,Pt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Os((()=>{let a;return pt(e,a,t)&&(e=I(e),Dt(e,Pt(e),a=((e,t)=>{const[s]=ye(ce,e);let a;do{a=s(t)}while(_(ye(de,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>ls(((e,t)=>{if(pt(e,t,s,1)){const a=Pt(e);ve(s,((s,l)=>Ot(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>ls(((e,t,s)=>D(It(e,t,s,O(a)?a(gs(e,t,s)):a),(a=>Ot(e,Pt(e),t,s,a)))),e,t,s),setValues:ys,setPartialValues:e=>ls((()=>Rt(e,1)?ve(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>ls((e=>D(yt(e,O(t)?t(Cs(e)):t),(t=>At(e,t)))),e),applyChanges:e=>ls((()=>{ve(e[0],((e,t)=>E(e)?Hs(t):ve(e,((e,s)=>E(e)?Js(t,s):ve(e,((e,a)=>j(As,t,s,a,e))))))),ve(e[1],((e,t)=>U(As,t,e)))})),setTablesJson:Ms,setValuesJson:e=>(W((()=>xt(Ke(e)))),As),setJson:e=>ls((()=>W((()=>{const[t,s]=Ke(e);Ht(t),xt(s)}),(()=>Ms(e))))),setTablesSchema:Ss,setValuesSchema:ms,setSchema:(e,t)=>ls((()=>{Ss(e),ms(t)})),delTables:Ls,delTable:Hs,delRow:Js,delCell:(e,t,s,a)=>ls(((e,t,s)=>D(ye(de,e),(l=>D(ye(l,t),(n=>_(n,s)?Nt(e,l,t,n,s,a):0))))),e,t,s),delValues:Es,delValue:e=>ls((e=>_(ue,e)?jt(e):0),e),delTablesSchema:Ds,delValuesSchema:Fs,delSchema:()=>ls((()=>{Ds(),Fs()})),transaction:Os,startTransaction:xs,getTransactionChanges:()=>[He(H,((e,t)=>-1===ye(y,t)?void 0:He(e,((e,s)=>-1===ye(ye(m,t),s)?void 0:He(e,(([,e])=>e),(e=>Tt(e)))),ee,we)),ee,we),He(P,(([,e])=>e),(e=>Tt(e))),1],getTransactionLog:()=>[!ee(H),!ee(P),Ee(H,ft,Tt),Ee(N),He(P,ft,Tt),He(G),He(y),Je(m),Ee(L),He(J)],finishTransaction:zs,forEachTable:e=>ae(de,((t,s)=>e(s,(e=>ae(t,((t,s)=>e(s,(e=>Me(t,e))))))))),forEachTableCell:(e,t)=>Me(ye(ie,I(e)),t),forEachRow:(e,t)=>ae(ye(de,I(e)),((e,s)=>t(s,(t=>Me(e,t))))),forEachCell:(e,t,s)=>Me(ye(ye(de,I(e)),I(t)),s),forEachValue:e=>Me(ue,e),addSortedRowIdsListener:(e,t,s,a,l,n,r)=>{let o=ds(e,t,s,a,l);return rt((()=>{const r=ds(e,t,s,a,l);var c,i,d;i=o,A(c=r)===A(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,n(As,e,t,s,a,l,o))}),Ne[r?1:0],[e,t],[rs])},addStartTransactionListener:e=>rt(e,lt),addWillFinishTransactionListener:e=>rt(e,nt[0]),addDidFinishTransactionListener:e=>rt(e,nt[1]),callListener:e=>(it(e),As),delListener:e=>(ct(e),As),getListenerStats:()=>({hasTables:bt(ge),tables:bt(be),tableIds:bt(Te),hasTable:bt(Ve),table:bt(ze),tableCellIds:bt(Ae),hasTableCell:bt(Pe,Z),rowCount:bt(We),rowIds:bt(ke),sortedRowIds:bt(Ne),hasRow:bt(je,Z),row:bt(Ue,Z),cellIds:bt(qe,Z),hasCell:bt(Be,$),cell:bt(Ge,$),invalidCell:bt(Ze,$),hasValues:bt(_e),values:bt(et),valueIds:bt(tt),hasValue:bt(st),value:bt(at),invalidValue:bt($e),transaction:Y(lt)+bt(nt)}),isMergeable:()=>!1,createStore:wt,addListener:rt,callListeners:ot,setInternalListeners:(e,t,s,a,l)=>R=[e,t,s,a,l]};return ve({[i+g]:[0,ge,[],()=>[fs()]],[g]:[0,be],[h]:[0,Te],[i+u]:[1,Ve,[rs],e=>[Ts(...e)]],[u]:[1,ze,[rs]],[u+v]:[1,Ae,[rs]],[i+u+T]:[2,Pe,[rs,os],e=>[vs(...e)]],[C]:[1,We,[rs]],[f]:[1,ke,[rs]],[i+b]:[2,je,[rs,is],e=>[ws(...e)]],[b]:[2,Ue,[rs,is]],[v]:[2,qe,[rs,is]],[i+T]:[3,Be,[rs,is,us],e=>[Vs(...e)]],[T]:[3,Ge,[rs,is,us],e=>ht(gs(...e))],InvalidCell:[3,Ze],[i+V]:[0,_e,[],()=>[ps()]],[V]:[0,et],[p]:[0,tt],[i+w]:[1,st,[bs],e=>[Is(...e)]],[w]:[1,at,[bs],e=>ht(Cs(e[0]))],InvalidValue:[1,$e]},(([e,t,s,a],l)=>{As["add"+l+c]=(...l)=>rt(l[e],t[l[e+1]?1:0],e>0?z(l,0,e):void 0,s,a)})),he(As)},Vt={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},pt=(e=t)=>[ot(e),ot(e)],It=(e,s)=>{let a=1,l=pt(),n=0;const r=Ie(),o=Xe(),[i,d]=((e,t=Date.now)=>{let s=0,a=-1;const l=D(e,(e=>{const t=re(e);return Pe(t/Ue)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)}),(()=>((e=16)=>G(ke(new Uint8Array(e)),((e,t)=>e+Pe(t)),""))(5))),n=e=>{const l=s,[n,r]=E(e)||""==e?[0,0]:[We(o=e,0)*Ne+We(o,1)*je+We(o,2)*Ue+We(o,3)*qe+We(o,4)*Be+64*We(o,5)+We(o,6),We(o,7)*qe+We(o,8)*Be+64*We(o,9)+We(o,10)];var o;s=L(l,n,t()),a=s==l?s==n?L(a,r):a:s==n?r:-1};return[()=>{return n(),t=++a,Pe((e=s)/Ne)+Pe(e/je)+Pe(e/Ue)+Pe(e/qe)+Pe(e/Be)+Pe(e/64)+Pe(e)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)+l;var e,t},n]})(e,s),u=wt(),g=e=>{const t=a;return a=0,e(),a=t,w},h=(e,s=0)=>{const a={},n={},[[r,o=t,c=0],i]=e,[u,g]=l,[h,C,f]=u;let T=s?c:f,v=o;Te(r,(([e,l=t,n=0],r)=>{const o=me(h,r,ot),[c,i,d]=o;let u=s?n:d,g=l;Te(e,((e,t)=>{const[l,n,o]=b(e,me(c,t,ot),Ve(Ve(a,r,be),t,be),s);u^=s?0:(n?st(t,n):0)^st(t,o),g=lt(g,l)})),u^=s?0:at(i,l),nt(o,l,u),T^=s?0:(d?st(r,d):0)^st(r,o[2]),v=lt(v,g)})),T^=s?0:at(C,o),nt(u,o,T);const[w]=b(i,g,n,s);return d(lt(v,w)),[a,n,1]},b=(e,s,a,l)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=l?o:d;return Te(n,(([e,s=t,n=0],r)=>{const o=me(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(nt(o,s,l?n:re(Qe(e??null)+":"+s)),o[0]=e,a[r]=e,g^=l?0:st(r,d)^st(r,o[2]),u=lt(u,s))})),g^=l?0:at(i,r),nt(s,r,g),[u,d,s[2]]},C=P,f=P,T=()=>[ct(l[0],(e=>ct(e,(e=>ct(e))))),ct(l[1])],v=e=>g((()=>u.applyChanges(h(e)))),w={getMergeableContent:T,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>He(l[0][0],tt),getMergeableTableDiff:e=>{const t=rt(l[0][1]),s={};return Me(l[0][0],((a,[l,n,r])=>Ce(e,a)?r!=e[a]?s[a]=r:0:t[0][a]=it([l,n],(e=>it(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(l[0][0],s),(([a,,l])=>l!=e?Me(a,((e,[,,a])=>Ve(t,s,be)[e]=a)):0)))),t},getMergeableRowDiff:e=>{const t=rt(l[0][1]),s={};return Te(e,((e,a)=>Me(ye(l[0][0],a)?.[0],((l,[n,r,o])=>Ce(e,l)?o!==e[l]?Ve(s,a,be)[l]=o:0:Ve(t[0],a,rt)[0][l]=it([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(l[0][0],s),(([a])=>Te(e,((e,l)=>D(ye(a,l),(([a,,n])=>n!==e?Me(a,((e,[,,a])=>Ve(Ve(t,s,be),l,be)[e]=a)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=l,a={};return Te(e,((e,s)=>Te(e,((e,l)=>D(ye(t,s),(([t,n])=>D(ye(t,l),(([t,r])=>Me(t,((t,[o,c,i])=>i!==e[t]?Ve(Ve(a,s,(()=>rt(n)))[0],l,(()=>rt(r)))[0][t]=[o,c]:0)))))))))),_e(a,s)},getMergeableValueHashes:()=>He(l[1][0],tt),getMergeableValueDiff:e=>{const[,[t,s]]=l,a=He(t,Ze,(([,,t],s)=>t==e?.[s]));return _e(a,s)},setMergeableContent:e=>g((()=>(e=>x(e)&&2==A(e)&&dt(e[0],(e=>pe(e,(e=>dt(e,(e=>pe(e,(e=>dt(e,(e=>pe(e,(e=>dt(e,N)),void 0,1)))),void 0,1)))),void 0,1)))&&dt(e[1],(e=>pe(e,(e=>dt(e,N)),void 0,1))))(e)?u.transaction((()=>{u.delTables().delValues(),l=pt(),u.applyChanges(h(e,1))})):0)),setDefaultContent:e=>(u.transaction((()=>{n=1,u.setContent(e),n=0})),w),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,a],[n,c,i]]=l,d=e?et:_e,u={};ae(r,((e,s)=>D(ye(t,s),(([t,a,l])=>{const n={};ae(e,((e,s)=>D(ye(t,s),(([t,a,l])=>{const r={};ae(e,(e=>{D(ye(t,e),(([t,s,a])=>r[e]=d(t,s,a)))})),n[s]=d(r,a,l)})))),u[s]=d(n,a,l)}))));const g={};return ae(o,(e=>D(ye(n,e),(([t,s,a])=>g[e]=d(t,s,a))))),[d(u,s,a),d(g,c,i),1]},applyMergeableChanges:v,merge:e=>{const t=T(),s=e.getMergeableContent();return e.applyMergeableChanges(t),v(s)}};return u.setInternalListeners(C,f,(()=>{se(r),se(o)}),((e,s,l,o)=>{Ye(me(me(r,e,Ie),s,Xe),l),a&&h([[{[e]:[{[s]:[{[l]:[o,n?t:i()]}]}]}],[{}],1])}),((e,s)=>{Ye(o,e),a&&h([[{}],[{[e]:[s,n?t:i()]}],1])})),ve(u,((e,t)=>w[t]=R(t,"set")||R(t,"del")||R(t,"apply")||y(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),w):R(t,"add")&&y(t,c)?(...s)=>{const a=Vt[z(t,3,-8)]??0,l=s[a];return s[a]=(e,...t)=>l(w,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),he(w)};export{It as createMergeableStore};
1
+ const e=e=>typeof e,t="",s=e(t),l=e(!0),a=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",f=b+"Count",C=b+d,T="Cell",v=T+d,w="Value",V=w+"s",I=w+d,p=e=>t+e,R=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),m=(e,s=t,l)=>e.split(s,l),M=globalThis,S=Math,L=S.max,H=S.floor,J=isFinite,E=e=>null==e,D=(e,t,s)=>E(e)?s?.():t(e),F=e=>e==s||e==l,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=()=>{},W=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},k=t=>{const s=e(t);return F(s)||s==a&&J(t)?s:void 0},N=e=>E(e)||!E(k(e)),j=(e,t,s,l,a)=>E(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),U=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),q=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),Q=e=>t=>G(te(t),((t,s)=>t+e(s)),0),X=e=>e?.size??0,Y=Q(X),Z=Q(Y),$=Q(Z),_=(e,t)=>e?.has(t)??!1,ee=e=>E(e)||0==X(e),te=e=>[...e?.values()??[]],se=e=>e.clear(),le=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),ne=new M.TextEncoder,re=e=>{let t=2166136261;return q(ne.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},oe=Object,ce=e=>oe.getPrototypeOf(e),ie=oe.entries,de=oe.isFrozen,ue=e=>!E(e)&&D(ce(e),(e=>e==oe.prototype||E(ce(e))),(()=>!0)),ge=oe.keys,he=oe.freeze,be=(e=[])=>oe.fromEntries(e),fe=(e,t)=>t in e,Ce=(e,t)=>(delete e[t],e),Te=(e,t)=>q(ie(e),(([e,s])=>t(s,e))),ve=(e,t)=>be(((e,t)=>B(ie(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),we=e=>ue(e)&&0==(e=>A(ge(e)))(e),Ve=(e,t,s)=>(fe(e,t)||(e[t]=s()),e[t]),Ie=(e,t,s,l=0)=>E(e)||!ue(e)||!l&&we(e)||de(e)?(s?.(),!1):(Te(e,((s,l)=>{t(s,l)||Ce(e,l)})),!!l||!we(e)),pe=e=>new Map(e),Re=e=>[...e?.keys()??[]],ye=(e,t)=>e?.get(t),me=(e,t)=>le(e,((e,s)=>t(s,e))),Me=(e,t,s)=>E(s)?(ae(e,t),e):e?.set(t,s),Se=(e,t,s,l)=>(_(e,t)?l?.(ye(e,t)):Me(e,t,s()),ye(e,t)),Le=(e,t,s,l=Me)=>(ve(t,((t,l)=>s(e,l,t))),me(e,(s=>fe(t,s)?0:l(e,s))),e),He=(e,t,s,l)=>{const a={};return le(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;l?.(s)||(a[n]=s)}})),a},Je=(e,t,s)=>He(e,(e=>He(e,t,s)),ee,we),Ee=(e,t,s)=>He(e,(e=>Je(e,t,s)),ee,we),De=(e,t)=>{const s=pe();return le(e,((e,l)=>s.set(l,t?.(e)??e))),s},Fe=e=>De(e,De),Oe=e=>De(e,Fe),xe=(e,t,s,l,a=0)=>D((s?Se:ye)(e,t[a],a>A(t)-2?s:pe),(n=>{if(a>A(t)-2)return l?.(n)&&Me(e,t[a]),n;const r=xe(n,t,s,l,a+1);return ee(n)&&Me(e,t[a]),r})),ze=m("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Ae=pe(B(ze,((e,t)=>[e,t]))),Pe=e=>ze[63&e],We=(e,t)=>ye(Ae,e[t])??0,ke=M.crypto?e=>M.crypto.getRandomValues(e):e=>B(e,(()=>H(256*S.random()))),Ne=2**36,je=2**30,Ue=2**24,qe=2**18,Be=4096,Ge=JSON.stringify,Ke=JSON.parse,Qe=e=>Ge(e,((e,t)=>t instanceof Map?oe.fromEntries([...t]):t)),Xe=e=>new Set(x(e)||E(e)?e:[e]),Ye=(e,t)=>e?.add(t),Ze=([e,t])=>_e(e,t),$e=([e,t,s])=>[e,t,s],_e=(e,t)=>t?[e,t]:[e],et=(e,t,s)=>[e,t,s],tt=e=>e[2],st=(e,t)=>re(e+":"+t),lt=(e,t)=>t>e?(e?re(e):0)^re(t):0,at=(e,t)=>((e??"")>(t??"")?e:t)??"",nt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},rt=(e=t)=>_e(be(),e),ot=(e=t)=>[pe(),e,0],ct=([e,t,s],l=$e)=>[He(e,l),t,s],it=([e,t],s=Ze)=>_e(He(e,s),t),dt=(t,l)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==a&&J(t[2])&&l(t[0]);var n},ut=/^\d+$/,gt=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ut.test(t)&&A(e)<1e3&&K(e,t)}]},ht=e=>[e,e],bt=(e,t=Y)=>t(e[0])+t(e[1]),ft=()=>[pe(),pe()],Ct=e=>[...e],Tt=([e,t])=>e===t,vt=(e,t,s)=>Me(e,t,ye(e,t)==-s?void 0:s),wt=()=>{let e,s,l=!1,n=!1,d=0,R=[];const y=pe(),m=pe(),M=pe(),S=pe(),L=pe(),H=pe(),J=pe(),P=pe(),N=pe(),G=pe(),Q=pe(),te=pe(),ne=pe(),re=pe(),oe=Xe(),ce=pe(),ie=pe(),de=pe(),ge=pe(),be=ft(),Te=ft(),Ve=ft(),ze=ft(),Ae=ft(),Pe=ft(),We=ft(),ke=ft(),Ne=ft(),je=ft(),Ue=ft(),qe=ft(),Be=ft(),Ge=ft(),Ze=ft(),$e=ft(),_e=ft(),et=ft(),tt=ft(),st=ft(),lt=ft(),at=ft(),nt=pe(),rt=ft(),[ot,ct,it,dt]=(()=>{let e;const[s,l]=gt(),a=pe();return[(l,n,r,o=[],c=()=>[])=>{e??=Ws;const i=s(1);return Me(a,i,[l,n,r,o,c]),Ye(xe(n,r??[t],Xe),i),i},(s,l,...n)=>q(((e,s=[t])=>{const l=[],a=(e,t)=>t==A(s)?K(l,e):null===s[t]?le(e,(e=>a(e,t+1))):q([s[t],null],(s=>a(ye(e,s),t+1)));return a(e,0),l})(s,l),(t=>le(t,(t=>ye(a,t)[0](e,...l??[],...n))))),e=>D(ye(a,e),(([,s,n])=>(xe(s,n??[t],void 0,(t=>(ae(t,e),ee(t)?1:0))),Me(a,e),l(e),n))),t=>D(ye(a,t),(([t,,s=[],l,a])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...a(r)):E(s[o])?q(l[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),ut=e=>{if(!Ie(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=a||(k(e[o])!=t&&Ce(e,o),0))},Vt=x,It=(t,s)=>(!e||_(Q,s)||Yt(s))&&Ie(t,((e,t)=>pt(s,t,e)),(()=>Yt(s))),pt=(e,t,s,l)=>Ie(l?s:Mt(s,e,t),((l,a)=>D(Rt(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Yt(e,t))),Rt=(t,s,l,a)=>e?D(ye(ye(Q,t),l),(e=>k(a)!=e[r]?Yt(t,s,l,a,e[o]):a),(()=>Yt(t,s,l,a))):E(k(a))?Yt(t,s,l,a):a,yt=(e,t)=>Ie(t?e:St(e),((t,s)=>D(mt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Zt())),mt=(e,t)=>s?D(ye(ne,e),(s=>k(t)!=s[r]?Zt(e,t,s[o]):t),(()=>Zt(e,t))):E(k(t))?Zt(e,t):t,Mt=(e,t,s)=>(D(ye(te,t),(([l,a])=>{le(l,((t,s)=>{fe(e,s)||(e[s]=t)})),le(a,(l=>{fe(e,l)||Yt(t,s,l)}))})),e),St=e=>(s&&(le(re,((t,s)=>{fe(e,s)||(e[s]=t)})),le(oe,(t=>{fe(e,t)||Zt(t)}))),e),Lt=e=>Le(Q,e,((e,t,s)=>{const l=pe(),a=Xe();Le(Se(Q,t,pe),s,((e,t,s)=>{Me(e,t,s),D(s[o],(e=>Me(l,t,e)),(()=>Ye(a,t)))})),Me(te,t,[l,a])}),((e,t)=>{Me(Q,t),Me(te,t)})),Ht=e=>Le(ne,e,((e,t,s)=>{Me(ne,t,s),D(s[o],(e=>Me(re,t,e)),(()=>Ye(oe,t)))}),((e,t)=>{Me(ne,t),Me(re,t),ae(oe,t)})),Jt=e=>we(e)?Js():ms(e),Et=e=>Le(de,e,((e,t,s)=>Dt(t,s)),((e,t)=>kt(t))),Dt=(e,t)=>Le(Se(de,e,(()=>(qt(e,1),Me(ce,e,gt()),Me(ie,e,pe()),pe()))),t,((t,s,l)=>Ft(e,t,s,l)),((t,s)=>Nt(e,t,s))),Ft=(e,t,s,l,a)=>Le(Se(t,s,(()=>(Bt(e,s,1),pe()))),l,((t,l,a)=>Ot(e,s,t,l,a)),((l,n)=>jt(e,t,s,l,n,a))),Ot=(e,t,s,l,a)=>{_(s,l)||Gt(e,t,l,1);const n=ye(s,l);a!==n&&(Kt(e,t,l,n,a),Me(s,l,a))},xt=(e,t,s,l,a)=>D(ye(t,s),(t=>Ot(e,s,t,l,a)),(()=>Ft(e,t,s,Mt({[l]:a},e,s)))),zt=e=>we(e)?Fs():Ms(e),At=e=>Le(ge,e,((e,t,s)=>Pt(t,s)),((e,t)=>Ut(t))),Pt=(e,t)=>{_(ge,e)||Qt(e,1);const s=ye(ge,e);t!==s&&(Xt(e,s,t),Me(ge,e,t))},Wt=e=>ye(de,e)??Dt(e,{}),kt=e=>Dt(e,{}),Nt=(e,t,s)=>{const[,l]=ye(ce,e);l(s),Ft(e,t,s,{},!0)},jt=(e,t,s,l,a,n)=>{const r=ye(ye(te,e)?.[0],a);if(!E(r)&&!n)return Ot(e,s,l,a,r);const o=t=>{Kt(e,s,t,ye(l,t)),Gt(e,s,t,-1),Me(l,t)};E(r)?o(a):me(l,o),ee(l)&&(Bt(e,s,-1),ee(Me(t,s))&&(qt(e,-1),Me(de,e),Me(ce,e),Me(ie,e)))},Ut=e=>{const t=ye(re,e);if(!E(t))return Pt(e,t);Xt(e,ye(ge,e)),Qt(e,-1),Me(ge,e)},qt=(e,t)=>vt(y,e,t),Bt=(e,t,s)=>vt(Se(S,e,pe),t,s)&&Me(M,e,Se(M,e,(()=>0))+s),Gt=(e,t,s,l)=>{const a=ye(ie,e),n=ye(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&vt(Se(m,e,pe),s,l),Me(a,s,n!=-l?n+l:null),vt(Se(Se(L,e,pe),t,pe),s,l)},Kt=(e,t,s,l,a)=>{Se(Se(Se(H,e,pe),t,pe),s,(()=>[l,0]))[1]=a,R[3]?.(e,t,s,a)},Qt=(e,t)=>vt(J,e,t),Xt=(e,t,s)=>{Se(P,e,(()=>[t,0]))[1]=s,R[4]?.(e,s)},Yt=(e,t,s,l,a)=>(K(Se(Se(Se(N,e,pe),t,pe),s,(()=>[])),l),a),Zt=(e,t,s)=>(K(Se(G,e,(()=>[])),t),s),$t=(e,t,s)=>D(ye(ye(ye(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ht(bs(e,t,s))])),_t=e=>D(ye(P,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ht(Ts(e))])),es=e=>ee(N)||ee($e[e])?0:le(e?Oe(N):N,((t,s)=>le(t,((t,l)=>le(t,((t,a)=>ct($e[e],[s,l,a],t))))))),ts=e=>ee(G)||ee(_e[e])?0:le(e?De(G):G,((t,s)=>ct(_e[e],[s],t))),ss=(e,t,s,l)=>{if(!ee(e))return ct(t,l,(()=>He(e))),me(e,((e,t)=>ct(s,[...l??[],e],1==t))),1},ls=e=>{const t=vs();t!=l&&ct(be[e],void 0,t);const s=ee(je[e]),a=ee(Be[e])&&ee(Ge[e])&&ee(Ne[e])&&ee(Ue[e])&&ee(Pe[e])&&ee(We[e])&&ee(ke[e])&&s&&ee(Ve[e])&&ee(ze[e]),n=ee(Ze[e])&&ee(qe[e])&&ee(Ae[e])&&ee(Te[e]);if(!a||!n){const t=e?[De(y),Fe(m),De(M),Fe(S),Oe(L),Oe(H)]:[y,m,M,S,L,H];if(!a){ss(t[0],Ve[e],ze[e]),le(t[1],((t,s)=>ss(t,Pe[e],We[e],[s]))),le(t[2],((t,s)=>{0!=t&&ct(ke[e],[s],ds(s))}));const l=Xe();le(t[3],((t,a)=>{ss(t,Ne[e],Ue[e],[a])&&!s&&(ct(je[e],[a,null]),Ye(l,a))})),s||le(t[5],((t,s)=>{if(!_(l,s)){const l=Xe();le(t,(e=>le(e,(([t,s],a)=>s!==t?Ye(l,a):ae(e,a))))),le(l,(t=>ct(je[e],[s,t])))}})),le(t[4],((t,s)=>le(t,((t,l)=>ss(t,Be[e],Ge[e],[s,l])))))}if(!n){let s;le(t[5],((t,l)=>{let a;le(t,((t,n)=>{let r;le(t,(([t,o],c)=>{o!==t&&(ct(Ze[e],[l,n,c],o,t,$t),s=a=r=1)})),r&&ct(qe[e],[l,n],$t)})),a&&ct(Ae[e],[l],$t)})),s&&ct(Te[e],void 0,$t)}}},as=e=>{const t=Rs();t!=n&&ct(et[e],void 0,t);const s=ee(st[e])&&ee(lt[e]),l=ee(at[e])&&ee(tt[e]);if(!s||!l){const t=e?[De(J),De(P)]:[J,P];if(s||ss(t[0],st[e],lt[e]),!l){let s;le(t[1],(([t,l],a)=>{l!==t&&(ct(at[e],[a],l,t,_t),s=1)})),s&&ct(tt[e],void 0,_t)}}},ns=(e,...t)=>(zs((()=>e(...B(t,p)))),Ws),rs=(e,t,s,l,a)=>{let n=gs(e,t,...s);return ot((()=>{const a=gs(e,t,...s);var r,o,c;o=n,A(r=a)===A(o)&&(c=(e,t)=>o[t]===e,r.every(c))||(n=a,l(Ws,e,t,...s,n))}),je[a?1:0],[e,t],[cs])},os=()=>Ee(de),cs=()=>Re(de),is=e=>Re(ye(ie,p(e))),ds=e=>X(ye(de,p(e))),us=e=>Re(ye(de,p(e))),gs=(e,t,s,l=0,a)=>{return ue(e)?gs(e.tableId,e.cellId,e.descending,e.offset,e.limit):B(z((r=ye(de,p(e)),o=(e,s)=>[E(t)?s:ye(e,p(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),B([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),l,E(a)?a:l+a),(([,e])=>e));var n,r,o},hs=(e,t)=>Re(ye(ye(de,p(e)),p(t))),bs=(e,t,s)=>ye(ye(ye(de,p(e)),p(t)),p(s)),fs=()=>He(ge),Cs=()=>Re(ge),Ts=e=>ye(ge,p(e)),vs=()=>!ee(de),ws=e=>_(de,p(e)),Vs=(e,t)=>_(ye(ie,p(e)),p(t)),Is=(e,t)=>_(ye(de,p(e)),p(t)),ps=(e,t,s)=>_(ye(ye(de,p(e)),p(t)),p(s)),Rs=()=>!ee(ge),ys=e=>_(ge,p(e)),ms=e=>ns((()=>(e=>Ie(e,It,Yt))(e)?Et(e):0)),Ms=e=>ns((()=>yt(e)?At(e):0)),Ss=e=>(W((()=>Jt(Ke(e)))),Ws),Ls=t=>ns((()=>{if((e=Ie(t,(e=>Ie(e,ut))))&&(Lt(t),!ee(de))){const e=os();Js(),ms(e)}})),Hs=e=>ns((()=>{if(s=(e=>Ie(e,ut))(e)){const t=fs();xs(),Fs(),s=!0,Ht(e),Ms(t)}})),Js=()=>ns((()=>Et({}))),Es=e=>ns((e=>_(de,e)?kt(e):0),e),Ds=(e,t)=>ns(((e,t)=>D(ye(de,e),(s=>_(s,t)?Nt(e,s,t):0))),e,t),Fs=()=>ns((()=>At({}))),Os=()=>ns((()=>{Lt({}),e=!1})),xs=()=>ns((()=>{Ht({}),s=!1})),zs=(e,t)=>{if(-1!=d){As();const s=e();return Ps(t),s}},As=()=>(-1!=d&&d++,1==d&&(R[0]?.(),ct(nt)),Ws),Ps=e=>(d>0&&(d--,0==d&&(d=1,es(1),ee(H)||ls(1),ts(1),ee(P)||as(1),e?.(Ws)&&(le(H,((e,t)=>le(e,((e,s)=>le(e,(([e],l)=>j(Ws,t,s,l,e))))))),se(H),le(P,(([e],t)=>U(Ws,t,e))),se(P)),ct(rt[0],void 0),d=-1,es(0),ee(H)||ls(0),ts(0),ee(P)||as(0),R[1]?.(),ct(rt[1],void 0),R[2]?.(),d=0,l=vs(),n=Rs(),q([y,m,M,S,L,H,N,J,P,G],se))),Ws),Ws={getContent:()=>[os(),fs()],getTables:os,getTableIds:cs,getTable:e=>Je(ye(de,p(e))),getTableCellIds:is,getRowCount:ds,getRowIds:us,getSortedRowIds:gs,getRow:(e,t)=>He(ye(ye(de,p(e)),p(t))),getCellIds:hs,getCell:bs,getValues:fs,getValueIds:Cs,getValue:Ts,hasTables:vs,hasTable:ws,hasTableCell:Vs,hasRow:Is,hasCell:ps,hasValues:Rs,hasValue:ys,getTablesJson:()=>Qe(de),getValuesJson:()=>Qe(ge),getJson:()=>Qe([de,ge]),getTablesSchemaJson:()=>Qe(Q),getValuesSchemaJson:()=>Qe(ne),getSchemaJson:()=>Qe([Q,ne]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ns((()=>{const t=O(e)?e():e;Vt(t)&&(([e,t])=>{(we(e)?Js:ms)(e),(we(t)?Fs:Ms)(t)})(t)})),setTables:ms,setTable:(e,t)=>ns((e=>It(t,e)?Dt(e,t):0),e),setRow:(e,t,s)=>ns(((e,t)=>pt(e,t,s)?Ft(e,Wt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let l;return pt(e,l,t)&&(e=p(e),Ft(e,Wt(e),l=((e,t)=>{const[s]=ye(ce,e);let l;do{l=s(t)}while(_(ye(de,e),l));return l})(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>ns(((e,t)=>{if(pt(e,t,s,1)){const l=Wt(e);ve(s,((s,a)=>xt(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>ns(((e,t,s)=>D(Rt(e,t,s,O(l)?l(bs(e,t,s)):l),(l=>xt(e,Wt(e),t,s,l)))),e,t,s),setValues:Ms,setPartialValues:e=>ns((()=>yt(e,1)?ve(e,((e,t)=>Pt(t,e))):0)),setValue:(e,t)=>ns((e=>D(mt(e,O(t)?t(Ts(e)):t),(t=>Pt(e,t)))),e),applyChanges:e=>ns((()=>{ve(e[0],((e,t)=>E(e)?Es(t):ve(e,((e,s)=>E(e)?Ds(t,s):ve(e,((e,l)=>j(Ws,t,s,l,e))))))),ve(e[1],((e,t)=>U(Ws,t,e)))})),setTablesJson:Ss,setValuesJson:e=>(W((()=>zt(Ke(e)))),Ws),setJson:e=>ns((()=>W((()=>{const[t,s]=Ke(e);Jt(t),zt(s)}),(()=>Ss(e))))),setTablesSchema:Ls,setValuesSchema:Hs,setSchema:(e,t)=>ns((()=>{Ls(e),Hs(t)})),delTables:Js,delTable:Es,delRow:Ds,delCell:(e,t,s,l)=>ns(((e,t,s)=>D(ye(de,e),(a=>D(ye(a,t),(n=>_(n,s)?jt(e,a,t,n,s,l):0))))),e,t,s),delValues:Fs,delValue:e=>ns((e=>_(ge,e)?Ut(e):0),e),delTablesSchema:Os,delValuesSchema:xs,delSchema:()=>ns((()=>{Os(),xs()})),transaction:zs,startTransaction:As,getTransactionChanges:()=>[He(H,((e,t)=>-1===ye(y,t)?void 0:He(e,((e,s)=>-1===ye(ye(S,t),s)?void 0:He(e,(([,e])=>e),(e=>Tt(e)))),ee,we)),ee,we),He(P,(([,e])=>e),(e=>Tt(e))),1],getTransactionLog:()=>[!ee(H),!ee(P),Ee(H,Ct,Tt),Ee(N),He(P,Ct,Tt),He(G),He(y),Je(S),Ee(L),He(J)],finishTransaction:Ps,forEachTable:e=>le(de,((t,s)=>e(s,(e=>le(t,((t,s)=>e(s,(e=>me(t,e))))))))),forEachTableCell:(e,t)=>me(ye(ie,p(e)),t),forEachRow:(e,t)=>le(ye(de,p(e)),((e,s)=>t(s,(t=>me(e,t))))),forEachCell:(e,t,s)=>me(ye(ye(de,p(e)),p(t)),s),forEachValue:e=>me(ge,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>ue(e)?rs(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):rs(e,t,[s,l,a],n,r),addStartTransactionListener:e=>ot(e,nt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Ws),delListener:e=>(it(e),Ws),getListenerStats:()=>({hasTables:bt(be),tables:bt(Te),tableIds:bt(Ve),hasTable:bt(ze),table:bt(Ae),tableCellIds:bt(Pe),hasTableCell:bt(We,Z),rowCount:bt(ke),rowIds:bt(Ne),sortedRowIds:bt(je),hasRow:bt(Ue,Z),row:bt(qe,Z),cellIds:bt(Be,Z),hasCell:bt(Ge,$),cell:bt(Ze,$),invalidCell:bt($e,$),hasValues:bt(et),values:bt(tt),valueIds:bt(st),hasValue:bt(lt),value:bt(at),invalidValue:bt(_e),transaction:Y(nt)+bt(rt)}),isMergeable:()=>!1,createStore:wt,addListener:ot,callListeners:ct,setInternalListeners:(e,t,s,l,a)=>R=[e,t,s,l,a]};return ve({[i+g]:[0,be,[],()=>[vs()]],[g]:[0,Te],[h]:[0,Ve],[i+u]:[1,ze,[cs],e=>[ws(...e)]],[u]:[1,Ae,[cs]],[u+v]:[1,Pe,[cs]],[i+u+T]:[2,We,[cs,is],e=>[Vs(...e)]],[f]:[1,ke,[cs]],[C]:[1,Ne,[cs]],[i+b]:[2,Ue,[cs,us],e=>[Is(...e)]],[b]:[2,qe,[cs,us]],[v]:[2,Be,[cs,us]],[i+T]:[3,Ge,[cs,us,hs],e=>[ps(...e)]],[T]:[3,Ze,[cs,us,hs],e=>ht(bs(...e))],InvalidCell:[3,$e],[i+V]:[0,et,[],()=>[Rs()]],[V]:[0,tt],[I]:[0,st],[i+w]:[1,lt,[Cs],e=>[ys(...e)]],[w]:[1,at,[Cs],e=>ht(Ts(e[0]))],InvalidValue:[1,_e]},(([e,t,s,l],a)=>{Ws["add"+a+c]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)})),he(Ws)},Vt={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},It=(e=t)=>[ot(e),ot(e)],pt=(e,s)=>{let l=1,a=It(),n=0;const r=pe(),o=Xe(),[i,d]=((e,t=Date.now)=>{let s=0,l=-1;const a=D(e,(e=>{const t=re(e);return Pe(t/Ue)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)}),(()=>((e=16)=>G(ke(new Uint8Array(e)),((e,t)=>e+Pe(t)),""))(5))),n=e=>{const a=s,[n,r]=E(e)||""==e?[0,0]:[We(o=e,0)*Ne+We(o,1)*je+We(o,2)*Ue+We(o,3)*qe+We(o,4)*Be+64*We(o,5)+We(o,6),We(o,7)*qe+We(o,8)*Be+64*We(o,9)+We(o,10)];var o;s=L(a,n,t()),l=s==a?s==n?L(l,r):l:s==n?r:-1};return[()=>{return n(),t=++l,Pe((e=s)/Ne)+Pe(e/je)+Pe(e/Ue)+Pe(e/qe)+Pe(e/Be)+Pe(e/64)+Pe(e)+Pe(t/qe)+Pe(t/Be)+Pe(t/64)+Pe(t)+a;var e,t},n]})(e,s),u=wt(),g=e=>{const t=l;return l=0,e(),l=t,w},h=(e,s=0)=>{const l={},n={},[[r,o=t,c=0],i]=e,[u,g]=a,[h,f,C]=u;let T=s?c:C,v=o;Te(r,(([e,a=t,n=0],r)=>{const o=Se(h,r,ot),[c,i,d]=o;let u=s?n:d,g=a;Te(e,((e,t)=>{const[a,n,o]=b(e,Se(c,t,ot),Ve(Ve(l,r,be),t,be),s);u^=s?0:(n?st(t,n):0)^st(t,o),g=at(g,a)})),u^=s?0:lt(i,a),nt(o,a,u),T^=s?0:(d?st(r,d):0)^st(r,o[2]),v=at(v,g)})),T^=s?0:lt(f,o),nt(u,o,T);const[w]=b(i,g,n,s);return d(at(v,w)),[l,n,1]},b=(e,s,l,a)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=a?o:d;return Te(n,(([e,s=t,n=0],r)=>{const o=Se(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(nt(o,s,a?n:re(Qe(e??null)+":"+s)),o[0]=e,l[r]=e,g^=a?0:st(r,d)^st(r,o[2]),u=at(u,s))})),g^=a?0:lt(i,r),nt(s,r,g),[u,d,s[2]]},f=P,C=P,T=()=>[ct(a[0],(e=>ct(e,(e=>ct(e))))),ct(a[1])],v=e=>g((()=>u.applyChanges(h(e)))),w={getMergeableContent:T,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>He(a[0][0],tt),getMergeableTableDiff:e=>{const t=rt(a[0][1]),s={};return me(a[0][0],((l,[a,n,r])=>fe(e,l)?r!=e[l]?s[l]=r:0:t[0][l]=it([a,n],(e=>it(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(a[0][0],s),(([l,,a])=>a!=e?me(l,((e,[,,l])=>Ve(t,s,be)[e]=l)):0)))),t},getMergeableRowDiff:e=>{const t=rt(a[0][1]),s={};return Te(e,((e,l)=>me(ye(a[0][0],l)?.[0],((a,[n,r,o])=>fe(e,a)?o!==e[a]?Ve(s,l,be)[a]=o:0:Ve(t[0],l,rt)[0][a]=it([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Te(e,((e,s)=>D(ye(a[0][0],s),(([l])=>Te(e,((e,a)=>D(ye(l,a),(([l,,n])=>n!==e?me(l,((e,[,,l])=>Ve(Ve(t,s,be),a,be)[e]=l)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,l={};return Te(e,((e,s)=>Te(e,((e,a)=>D(ye(t,s),(([t,n])=>D(ye(t,a),(([t,r])=>me(t,((t,[o,c,i])=>i!==e[t]?Ve(Ve(l,s,(()=>rt(n)))[0],a,(()=>rt(r)))[0][t]=[o,c]:0)))))))))),_e(l,s)},getMergeableValueHashes:()=>He(a[1][0],tt),getMergeableValueDiff:e=>{const[,[t,s]]=a,l=He(t,Ze,(([,,t],s)=>t==e?.[s]));return _e(l,s)},setMergeableContent:e=>g((()=>(e=>x(e)&&2==A(e)&&dt(e[0],(e=>Ie(e,(e=>dt(e,(e=>Ie(e,(e=>dt(e,(e=>Ie(e,(e=>dt(e,N)),void 0,1)))),void 0,1)))),void 0,1)))&&dt(e[1],(e=>Ie(e,(e=>dt(e,N)),void 0,1))))(e)?u.transaction((()=>{u.delTables().delValues(),a=It(),u.applyChanges(h(e,1))})):0)),setDefaultContent:e=>(u.transaction((()=>{n=1,u.setContent(e),n=0})),w),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[n,c,i]]=a,d=e?et:_e,u={};le(r,((e,s)=>D(ye(t,s),(([t,l,a])=>{const n={};le(e,((e,s)=>D(ye(t,s),(([t,l,a])=>{const r={};le(e,(e=>{D(ye(t,e),(([t,s,l])=>r[e]=d(t,s,l)))})),n[s]=d(r,l,a)})))),u[s]=d(n,l,a)}))));const g={};return le(o,(e=>D(ye(n,e),(([t,s,l])=>g[e]=d(t,s,l))))),[d(u,s,l),d(g,c,i),1]},applyMergeableChanges:v,merge:e=>{const t=T(),s=e.getMergeableContent();return e.applyMergeableChanges(t),v(s)}};return u.setInternalListeners(f,C,(()=>{se(r),se(o)}),((e,s,a,o)=>{Ye(Se(Se(r,e,pe),s,Xe),a),l&&h([[{[e]:[{[s]:[{[a]:[o,n?t:i()]}]}]}],[{}],1])}),((e,s)=>{Ye(o,e),l&&h([[{}],[{[e]:[s,n?t:i()]}],1])})),ve(u,((e,t)=>w[t]=R(t,"set")||R(t,"del")||R(t,"apply")||y(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),w):R(t,"add")&&y(t,c)?(...s)=>{const l=Vt[z(t,3,-8)]??0,a=s[l];return s[l]=(e,...t)=>a(w,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),he(w)};export{pt as createMergeableStore};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",o=(a,t,e)=>a.replace(t,e),r=Promise,c=globalThis,l=clearInterval,w=a=>null==a,d=(a,t,e)=>w(a)?e?.():t(a),y=t=>a(t)==s,u=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),N=a=>a.length,$=async a=>r.all(a),A=a=>{throw Error(a)},g=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},O=(a,t)=>a.forEach(t),m=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),p=a=>0==N(a),v=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),S=a=>a.shift(),I=(a,t)=>a?.has(t)??!1,_=a=>w(a)||0==(a=>a?.size??0)(a),L=a=>[...a?.values()??[]],C=(a,t)=>a?.forEach(t),b=(a,t)=>a?.delete(t),D=Object,f=a=>D.getPrototypeOf(a),h=D.entries,M=D.keys,F=D.freeze,P=(a=[])=>D.fromEntries(a),U=(...a)=>D.assign({},...a),G=(a,t)=>(delete a[t],a),j=(a,t)=>T(h(a),(([a,e])=>t(e,a))),x=(a,t)=>P(j(a,((a,e)=>[e,t(a,e)]))),B=a=>D.values(a),H=a=>N(M(a)),W=a=>(a=>!w(a)&&d(f(a),(a=>a==D.prototype||w(f(a))),(()=>!0)))(a)&&0==H(a),Y=a=>new Map(a),X=(a,t)=>a?.get(t),J=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>w(e)?(b(a,t),a):a?.set(t,e),z=(a,t,e,n)=>(I(a,t)?n?.(X(a,t)):k(a,t,e()),X(a,t)),K=(a,t,e,n,s=0)=>d((e?z:X)(a,t[s],s>N(t)-2?e:Y),(i=>{if(s>N(t)-2)return n?.(i)&&k(a,t[s]),i;const o=K(i,t,e,n,s+1);return _(i)&&k(a,t[s]),o})),V=/^\d+$/,q=a=>new Set(u(a)||w(a)?a:[a]),Q=(a,t)=>a?.add(t),Z={Idle:0,Loading:1,Saving:2},aa={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ta=Y(),ea=Y(),na=(a,t,n,s,i,o,r,c={},l=0,y=[])=>{let E,$,m,T=0,p=0,v=0;z(ta,y,(()=>0)),z(ea,y,(()=>[]));const I=Y(),[L,D,f,h,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!W(a)||!W(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t),t.setContent]:A("Store type not supported by this Persister"))(r,a,l),[P,U,G]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?S(a):null)??e+t++,t=>{V.test(t)&&N(a)<1e3&&R(a,t)}]})(),s=Y();return[(n,i,o,r=[],c=()=>[])=>{a??=na;const l=t(1);return k(s,l,[n,i,o,r,c]),Q(K(i,o??[e],q),l),l},(t,n,...i)=>O(((a,t=[e])=>{const n=[],s=(a,e)=>e==N(t)?R(n,a):null===t[e]?C(a,(a=>s(a,e+1))):O([t[e],null],(t=>s(X(a,t),e+1)));return s(a,0),n})(t,n),(t=>C(t,(t=>X(s,t)[0](a,...n??[],...i))))),a=>d(X(s,a),(([,t,i])=>(K(t,i??[e],void 0,(t=>(b(t,a),_(t)?1:0))),k(s,a),n(a),i))),t=>d(X(s,t),(([t,,e=[],n,s])=>{const i=(...o)=>{const r=N(o);r==N(e)?t(a,...o,...s(o)):w(e[r])?O(n[r]?.(...o)??[],(a=>i(...o,a))):i(...o,e[r])};i()}))]})(),j=a=>{a!=T&&(T=a,U(I,void 0,T))},x=t=>{(L&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},B=async a=>(2!=T&&(j(1),p++,await aa((async()=>{await g((async()=>{const e=await t();u(e)?x(e):a?M(a):A("Content is not an array: "+e)}),(()=>{a&&M(a)})),j(0)}))),na),H=async()=>($&&(await g((()=>i($)),o),$=void 0),na),J=async a=>(1!=T&&(j(2),v++,await aa((async()=>{await g((()=>n(D,a)),o),j(0)}))),na),Z=async()=>(m&&(a.delListener(m),m=void 0),na),aa=async(...a)=>(R(X(ea,y),...a),await(async()=>{if(!X(ta,y)){for(k(ta,y,1);!w(E=S(X(ea,y)));)await g(E,o);k(ta,y,0)}})(),na),na={load:B,startAutoLoad:async a=>(H(),await B(a),await g((async()=>$=await s((async(a,t)=>{t||a?2!=T&&(j(1),p++,x(t??a),j(0)):await B()}))),o),na),stopAutoLoad:H,isAutoLoading:()=>!w($),save:J,startAutoSave:async()=>(Z(),await J(),m=a.addDidFinishTransactionListener((()=>{const a=f();h(a)&&J(a)})),na),stopAutoSave:Z,isAutoSaving:()=>!w(m),getStatus:()=>T,addStatusListener:a=>P(a,I),delListener:t=>(G(t),a),schedule:aa,getStore:()=>a,destroy:async()=>(X(ea,y).splice(0,void 0),await na.stopAutoLoad(),await na.stopAutoSave()),getStats:()=>({loads:p,saves:v}),...c};return F(na)},sa=new c.TextEncoder,ia=JSON.stringify,oa=JSON.parse,ra=a=>ia(a,((a,t)=>void 0===t?"":t)),ca="_",la="_id",wa="SELECT",da="WHERE",ya="TABLE",ua="INSERT",Ea="DELETE",Na="UPDATE",$a="ALTER "+ya,Aa="FROM",ga=Ea+" "+Aa,Oa=wa+"*"+Aa,ma="pragma_",Ta="data_version",pa="schema_version",va="pragma_table_",Ra="CREATE ",Sa=Ra+ya,Ia="OR REPLACE ",_a="FUNCTION",La="$tableName",Ca=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,ba=a=>`"${o(a,/"/g,'""')}"`,Da=(...a)=>ba(m(a,"_")),fa=(a,t=[1])=>m(T(a,(()=>"$"+t[0]++)),n),ha=(a,t=i)=>da+`(${o(t,La,ba(a))})`,Ma="ColumnName",Fa="store",Pa="json",Ua=Fa+"TableName",Ga=Fa+"Id"+Ma,ja=Fa+Ma,xa="autoLoadIntervalSeconds",Ba="rowId"+Ma,Ha="tableId",Wa="tableName",Ya="deleteEmptyColumns",Xa="deleteEmptyTable",Ja="condition",ka={mode:Pa,[xa]:1},za={load:0,save:0,[Wa]:t+"_values"},Ka=(a,t,e,n,s)=>{const i=Y();return x(a,((a,o)=>{const r=E(B(U(t,y(a)?{[e]:a}:a)),0,H(t));w(r[0])||n(o,r[0])||(s(o,r[0]),k(i,o,r))})),i},Va=a=>{const e=(a=>U(ka,y(a)?{[Ua]:a}:a??{}))(a),n=e[xa];if(e.mode==Pa){const a=e[Ua]??t;return[1,n,[a,e[Ga]??la,e[ja]??Fa],q(a)]}const{tables:{load:s={},save:o={}}={},values:r={}}=e,c=E(B(U(za,r)),0,H(za)),l=c[2],w=q(l),d=q(l),u=Ka(s,{[Ha]:null,[Ba]:la,[Ja]:i},Ha,(a=>I(d,a)),(a=>Q(w,a))),N=Ka(o,{[Wa]:null,[Ba]:la,[Ya]:0,[Xa]:0,[Ja]:null},Wa,((a,t)=>I(d,t)),((a,t)=>Q(w,t)));var $;return $=(a,t)=>t[4]??=X(u,t[0])?.[2]??i,C(N,((a,t)=>$(0,a))),[0,n,[u,N,c],w]},qa=(a,t,e,s,o,r=Qa,c,l)=>{const d=Y();return[async()=>{d.clear(),T(await e(a,t),(({tn:a,cn:t})=>Q(z(d,a,q),t)))},async(t,e,n)=>((a,t)=>I(X(d,a),t))(t,e)?P(v(T(await a(Oa+ba(t)+ha(t,n)),(a=>[a[e],l?x(G(a,e),l):G(a,e)])),(([a,t])=>!w(a)&&!W(t)))):{},async(t,e,s,l,y,u=!1,E=i)=>{const N=q();x(s??{},(a=>T(M(a??{}),(a=>Q(N,a)))));const A=L(N);if(!u&&y&&E==i&&p(A)&&I(d,t))return await a("DROP "+ya+ba(t)),void k(d,t);const g=X(d,t),O=q(L(g));if(p(A)||(I(d,t)?await $(T([e,...A],(async(n,s)=>{b(O,n)||(await a($a+ba(t)+"ADD"+ba(n)+o),0==s&&await a("CREATE UNIQUE INDEX pk ON "+ba(t)+`(${ba(e)})`),Q(g,n))}))):(await a(Sa+ba(t)+`(${ba(e)}${o} PRIMARY KEY${m(T(A,(a=>n+ba(a)+o)))});`),k(d,t,q([e,...A])))),await $([...!u&&l?T(L(O),(async n=>{n!=e&&(await a($a+ba(t)+"DROP"+ba(n)),b(g,n))})):[]]),u)w(s)?await a(ga+ba(t)+ha(t,E)):await $(j(s,(async(n,s)=>{w(n)?await a(ga+ba(t)+ha(t,E)+`AND(${ba(e)}=$1)`,[s]):p(A)||await r(a,t,e,M(n),{[s]:c?T(B(n),c):B(n)},g)})));else if(p(A))I(d,t)&&await a(ga+ba(t)+ha(t,E));else{const n=v(L(X(d,t)),(a=>a!=e)),i={},o=[];x(s??{},((a,t)=>{i[t]=T(n,(t=>c?c(a?.[t]):a?.[t])),R(o,t)})),await r(a,t,e,n,i),await a(ga+ba(t)+ha(t,E)+`AND${ba(e)}NOT IN(${fa(o)})`,o)}},async t=>{let e;return await a("BEGIN"),await g((async()=>e=await t()),s),await a("END"),e}]},Qa=async(a,t,e,s,i)=>{const o=[1];await a(ua+" INTO"+ba(t)+"("+((...a)=>m(T(a,ba),n))(e,...s)+")VALUES"+m(j(i,(a=>"($"+o[0]+++","+fa(a,o)+")")),n)+"ON CONFLICT("+ba(e)+`)DO ${Na} SET`+m(T(s,(a=>ba(a)+"=excluded."+ba(a))),n),j(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},Za=(a,t,e,n,s,i,o,[r,c,l],w,d,y,u,E,N)=>{const[$,A,g,O]=qa(t,w,d,s,E,N),m=na(a,(()=>O((async()=>{return await $(),a=(await A(r,c))[ca]?.[l]??"null",oa(a,((a,t)=>""===t?void 0:t));var a}))),(a=>O((async()=>{await $(),await g(r,c,{[ca]:{[l]:ra(a()??null)}},!0,!0)}))),e,n,s,o,{[u]:()=>y,destroy:async()=>(await m.stopAutoLoad(),await m.stopAutoSave(),i(),m)},0,y);return m},at=(a,t,e,n,s,i,o,[r,c,[l,d,y]],u,E,N,A,g,O,m,T)=>{const[p,R,S,I]=qa(t,u,E,s,g,O,m,T),_=(a,t)=>$(J(c,(async([e,n,s,i,o],r)=>{t&&!(r in a)||await S(e,n,a[r],s,i,t,o)}))),L=async(a,t)=>d?await S(y,la,{[ca]:a},!0,!0,t):null,C=na(a,(()=>I((async()=>{await p();const a=await(async()=>P(v(await $(J(r,(async([a,t,e],n)=>[a,await R(n,t,e)]))),(a=>!W(a[1])))))(),t=await(async()=>l?(await R(y,la))[ca]:{})();return W(a)&&w(t)?void 0:[a,t]}))),((a,t)=>I((async()=>{if(await p(),w(t)){const[t,e]=a();await _(t),await L(e)}else await _(t[0],!0),await L(t[1],!0)}))),e,n,s,o,{[A]:()=>N,destroy:async()=>(await C.stopAutoLoad(),await C.stopAutoSave(),i(),C)},0,N);return C},tt=/^([cd]:)(.+)/,et=(a,n,s,r,c,l,w,y,u,E,N="getDb")=>{const A=Ca(s,l),[g,,p,v]=Va(n),R=e+(a=>{let t=2166136261;return O(sa.encode(a),(a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(ra(p)),S=t+"_"+R,_=async(a,e,n="",s="")=>{const i=Da(t,a,R);return await A(Ra+Ia+_a+i+`()RETURNS ${n}trigger AS $$ ${s}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),i},C=async(a,t,e,n)=>(await A(Ra+a+"TRIGGER"+t+e+"EXECUTE "+_a+n+"()"),t),b=a=>`PERFORM pg_notify('${S}',${a});`,D=(a,t)=>g?i:2===t?D(a,0)+" OR "+D(a,1):o(X(p[0],a)?.[2]??i,La,0==t?"NEW":"OLD"),f=(a,e)=>$(T([ua,Ea,Na],((n,s)=>C(Ia,Da(t,"d",R,a,n),`AFTER ${n} ON${ba(a)}FOR EACH ROW WHEN(${D(a,s)})`,e))));return(g?Za:at)(a,A,(async a=>{const e=await _("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${da} command_tag='${Sa}' LOOP ${b("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await C("EVENT ",Da(t,"c",R),`ON ddl_command_end WHEN TAG IN('${Sa}')`,e);const n=await _("d",b("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await $(T(L(v),(async a=>(await A(Sa+` IF NOT EXISTS${ba(a)}("_id"text PRIMARY KEY)`),await f(a,n))))),[await r(S,(t=>{return d((e=t,s=tt,e?.match(s)),(async([,t,e])=>{I(v,e)&&("c:"==t&&await f(e,n),a())}));var e,s})),[e,n]]}),(async([a,t])=>{c(a),await A(`DROP FUNCTION IF EXISTS${m(t,",")}CASCADE`)}),w,y,u,p,L(v),(async(a,t)=>await a(wa+` table_name tn,column_name cn FROM information_schema.columns ${da} table_schema='public'AND table_name IN(${fa(t)})`,t)),E,N,"text",void 0,(a=>ia(a)),(a=>oa(a)))},nt=(a,t,n,s,i,o,r,c,w,d,y="getDb",u)=>{let E,N,$;const A=Ca(n,o),[O,m,T,p]=Va(t);return(O?Za:at)(a,A,(a=>{let t;const e=()=>t=setInterval((()=>g((async()=>{const[{d:t,s:e,c:n}]=await A(wa+` ${Ta} d,${pa} s,TOTAL_CHANGES() c FROM ${ma}${Ta} JOIN ${ma}${pa}`);t==E&&e==N&&n==$||(null!=E&&a(),E=t,N=e,$=n)}))),1e3*m),n=()=>{E=N=$=null,l(t)},o=s((t=>{p.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(o)}}),(a=>a()),r,c,w,T,L(p),(async(a,t)=>await a(wa+` t.name tn,c.name cn FROM ${va}list()t,${va}info(t.name)c ${da} t.schema='main'AND t.type IN('table','view')AND t.name IN(${fa(t)})ORDER BY t.name,c.name`,t)),d,y,e,u,(a=>!0===a?1:!1===a?0:a),void 0)};export{aa as Persists,Z as Status,na as createCustomPersister,et as createCustomPostgreSqlPersister,nt as createCustomSqlitePersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",r=(a,t,e)=>a.replace(t,e),o=Promise,c=globalThis,l=clearInterval,w=a=>null==a,y=(a,t,e)=>w(a)?e?.():t(a),d=t=>a(t)==s,u=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),N=a=>a.length,g=async a=>o.all(a),$=a=>{throw Error(a)},A=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},O=(a,t)=>a.forEach(t),m=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),R=a=>0==N(a),p=(a,t)=>a.filter(t),v=(a,...t)=>a.push(...t),I=a=>a.shift(),S=(a,t)=>a?.has(t)??!1,_=a=>w(a)||0==(a=>a?.size??0)(a),C=a=>[...a?.values()??[]],b=(a,t)=>a?.forEach(t),L=(a,t)=>a?.delete(t),D=Object,f=a=>D.getPrototypeOf(a),h=D.entries,P=D.keys,M=D.freeze,F=(a=[])=>D.fromEntries(a),U=(...a)=>D.assign({},...a),G=(a,t)=>(delete a[t],a),j=(a,t)=>T(h(a),(([a,e])=>t(e,a))),x=(a,t)=>F(j(a,((a,e)=>[e,t(a,e)]))),B=a=>D.values(a),H=a=>N(P(a)),W=a=>(a=>!w(a)&&y(f(a),(a=>a==D.prototype||w(f(a))),(()=>!0)))(a)&&0==H(a),Y=a=>new Map(a),X=(a,t)=>a?.get(t),J=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>w(e)?(L(a,t),a):a?.set(t,e),z=(a,t,e,n)=>(S(a,t)?n?.(X(a,t)):k(a,t,e()),X(a,t)),K=(a,t,e,n,s=0)=>y((e?z:X)(a,t[s],s>N(t)-2?e:Y),(i=>{if(s>N(t)-2)return n?.(i)&&k(a,t[s]),i;const r=K(i,t,e,n,s+1);return _(i)&&k(a,t[s]),r})),V=/^\d+$/,q=a=>new Set(u(a)||w(a)?a:[a]),Q=(a,t)=>a?.add(t),Z={Idle:0,Loading:1,Saving:2},aa={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ta=Y(),ea=Y(),na=(a,t,n,s,i,r,o,c={},l=0,d=[])=>{let E,g,m,T=0,R=0,p=0;z(ta,d,(()=>0)),z(ea,d,(()=>[]));const S=Y(),[C,D,f,h,P]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!W(a)||!W(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t),t.setContent]:$("Store type not supported by this Persister"))(o,a,l),[F,U,G]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?I(a):null)??e+t++,t=>{V.test(t)&&N(a)<1e3&&v(a,t)}]})(),s=Y();return[(n,i,r,o=[],c=()=>[])=>{a??=ra;const l=t(1);return k(s,l,[n,i,r,o,c]),Q(K(i,r??[e],q),l),l},(t,n,...i)=>O(((a,t=[e])=>{const n=[],s=(a,e)=>e==N(t)?v(n,a):null===t[e]?b(a,(a=>s(a,e+1))):O([t[e],null],(t=>s(X(a,t),e+1)));return s(a,0),n})(t,n),(t=>b(t,(t=>X(s,t)[0](a,...n??[],...i))))),a=>y(X(s,a),(([,t,i])=>(K(t,i??[e],void 0,(t=>(L(t,a),_(t)?1:0))),k(s,a),n(a),i))),t=>y(X(s,t),(([t,,e=[],n,s])=>{const i=(...r)=>{const o=N(r);o==N(e)?t(a,...r,...s(r)):w(e[o])?O(n[o]?.(...r)??[],(a=>i(...r,a))):i(...r,e[o])};i()}))]})(),j=a=>{a!=T&&(T=a,U(S,void 0,T))},x=t=>{(C&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},B=async a=>(2!=T&&(j(1),R++,await ia((async()=>{await A((async()=>{const e=await t();u(e)?x(e):a?P(a):$("Content is not an array: "+e)}),(()=>{a&&P(a)})),j(0)}))),ra),H=async a=>(J(),await B(a),await A((async()=>g=await s((async(a,t)=>{t||a?2!=T&&(j(1),R++,x(t??a),j(0)):await B()}))),r),ra),J=async()=>(g&&(await A((()=>i(g)),r),g=void 0),ra),Z=async a=>(1!=T&&(j(2),p++,await ia((async()=>{await A((()=>n(D,a)),r),j(0)}))),ra),aa=async()=>(na(),await Z(),m=a.addDidFinishTransactionListener((()=>{const a=f();h(a)&&Z(a)})),ra),na=async()=>(m&&(a.delListener(m),m=void 0),ra),sa=async(a=!1)=>{const[t,e]=a?[na,J]:[J,na];return await t(),await e(),ra},ia=async(...a)=>(v(X(ea,d),...a),await(async()=>{if(!X(ta,d)){for(k(ta,d,1);!w(E=I(X(ea,d)));)await A(E,r);k(ta,d,0)}})(),ra),ra={load:B,startAutoLoad:H,stopAutoLoad:J,isAutoLoading:()=>!w(g),save:Z,startAutoSave:aa,stopAutoSave:na,isAutoSaving:()=>!w(m),startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[aa,H]:[H,aa];return await e(a),await n(a),ra},stopAutoPersisting:sa,getStatus:()=>T,addStatusListener:a=>F(a,S),delListener:t=>(G(t),a),schedule:ia,getStore:()=>a,destroy:()=>(X(ea,d).splice(0,void 0),sa()),getStats:()=>({loads:R,saves:p}),...c};return M(ra)},sa=new c.TextEncoder,ia=JSON.stringify,ra=JSON.parse,oa=a=>ia(a,((a,t)=>void 0===t?"":t)),ca="_",la="_id",wa="SELECT",ya="WHERE",da="TABLE",ua="INSERT",Ea="DELETE",Na="UPDATE",ga="ALTER "+da,$a="FROM",Aa=Ea+" "+$a,Oa=wa+"*"+$a,ma="pragma_",Ta="data_version",Ra="schema_version",pa="pragma_table_",va="CREATE ",Ia=va+da,Sa="OR REPLACE ",_a="FUNCTION",Ca="$tableName",ba=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,La=a=>m(T(((a,t="",e)=>a.split(t,e))(a,"."),(a=>`"${r(a,/"/g,'""')}"`)),"."),Da=(...a)=>La(m(a,"_")),fa=(a,t=[1])=>m(T(a,(()=>"$"+t[0]++)),n),ha=(a,t=i)=>ya+`(${r(t,Ca,La(a))})`,Pa="ColumnName",Ma="store",Fa="json",Ua=Ma+"TableName",Ga=Ma+"Id"+Pa,ja=Ma+Pa,xa="autoLoadIntervalSeconds",Ba="rowId"+Pa,Ha="tableId",Wa="tableName",Ya="deleteEmptyColumns",Xa="deleteEmptyTable",Ja="condition",ka={mode:Fa,[xa]:1},za={load:0,save:0,[Wa]:t+"_values"},Ka=(a,t,e,n,s)=>{const i=Y();return x(a,((a,r)=>{const o=E(B(U(t,d(a)?{[e]:a}:a)),0,H(t));w(o[0])||n(r,o[0])||(s(r,o[0]),k(i,r,o))})),i},Va=a=>{const e=(a=>U(ka,d(a)?{[Ua]:a}:a??{}))(a),n=e[xa];if(e.mode==Fa){const a=e[Ua]??t;return[1,n,[a,e[Ga]??la,e[ja]??Ma],q(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=E(B(U(za,o)),0,H(za)),l=c[2],w=q(l),y=q(l),u=Ka(s,{[Ha]:null,[Ba]:la,[Ja]:i},Ha,(a=>S(y,a)),(a=>Q(w,a))),N=Ka(r,{[Wa]:null,[Ba]:la,[Ya]:0,[Xa]:0,[Ja]:null},Wa,((a,t)=>S(y,t)),((a,t)=>Q(w,t)));var g;return g=(a,t)=>t[4]??=X(u,t[0])?.[2]??i,b(N,((a,t)=>g(0,a))),[0,n,[u,N,c],w]},qa=(a,t,e,s,r,o=Qa,c,l)=>{const y=Y();return[async()=>{y.clear(),T(await e(a,t),(({tn:a,cn:t})=>Q(z(y,a,q),t)))},async(t,e,n)=>((a,t)=>S(X(y,a),t))(t,e)?F(p(T(await a(Oa+La(t)+ha(t,n)),(a=>[a[e],l?x(G(a,e),l):G(a,e)])),(([a,t])=>!w(a)&&!W(t)))):{},async(t,e,s,l,d,u=!1,E=i)=>{const N=q();x(s??{},(a=>T(P(a??{}),(a=>Q(N,a)))));const $=C(N);if(!u&&d&&E==i&&R($)&&S(y,t))return await a("DROP "+da+La(t)),void k(y,t);const A=X(y,t),O=q(C(A));if(R($)||(S(y,t)?await g(T([e,...$],(async(n,s)=>{L(O,n)||(await a(ga+La(t)+"ADD"+La(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+La(t)+`(${La(e)})`),Q(A,n))}))):(await a(Ia+La(t)+`(${La(e)}${r} PRIMARY KEY${m(T($,(a=>n+La(a)+r)))});`),k(y,t,q([e,...$])))),await g([...!u&&l?T(C(O),(async n=>{n!=e&&(await a(ga+La(t)+"DROP"+La(n)),L(A,n))})):[]]),u)w(s)?await a(Aa+La(t)+ha(t,E)):await g(j(s,(async(n,s)=>{w(n)?await a(Aa+La(t)+ha(t,E)+`AND(${La(e)}=$1)`,[s]):R($)||await o(a,t,e,P(n),{[s]:c?T(B(n),c):B(n)},A)})));else if(R($))S(y,t)&&await a(Aa+La(t)+ha(t,E));else{const n=p(C(X(y,t)),(a=>a!=e)),i={},r=[];x(s??{},((a,t)=>{i[t]=T(n,(t=>c?c(a?.[t]):a?.[t])),v(r,t)})),await o(a,t,e,n,i),await a(Aa+La(t)+ha(t,E)+`AND${La(e)}NOT IN(${fa(r)})`,r)}},async t=>{let e;return await a("BEGIN"),await A((async()=>e=await t()),s),await a("END"),e}]},Qa=async(a,t,e,s,i)=>{const r=[1];await a(ua+" INTO"+La(t)+"("+((...a)=>m(T(a,La),n))(e,...s)+")VALUES"+m(j(i,(a=>"($"+r[0]+++","+fa(a,r)+")")),n)+"ON CONFLICT("+La(e)+`)DO ${Na} SET`+m(T(s,(a=>La(a)+"=excluded."+La(a))),n),j(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},Za=(a,t,e,n,s,i,r,[o,c,l],w,y,d,u,E,N)=>{const[g,$,A,O]=qa(t,w,y,s,E,N),m=na(a,(()=>O((async()=>{return await g(),a=(await $(o,c))[ca]?.[l]??"null",ra(a,((a,t)=>""===t?void 0:t));var a}))),(a=>O((async()=>{await g(),await A(o,c,{[ca]:{[l]:oa(a()??null)}},!0,!0)}))),e,n,s,r,{[u]:()=>d,destroy:async()=>(await m.stopAutoPersisting(),i(),m)},0,d);return m},at=(a,t,e,n,s,i,r,[o,c,[l,y,d]],u,E,N,$,A,O,m,T)=>{const[R,v,I,S]=qa(t,u,E,s,A,O,m,T),_=(a,t)=>g(J(c,(async([e,n,s,i,r],o)=>{t&&!(o in a)||await I(e,n,a[o],s,i,t,r)}))),C=async(a,t)=>y?await I(d,la,{[ca]:a},!0,!0,t):null,b=na(a,(()=>S((async()=>{await R();const a=await(async()=>F(p(await g(J(o,(async([a,t,e],n)=>[a,await v(n,t,e)]))),(a=>!W(a[1])))))(),t=await(async()=>l?(await v(d,la))[ca]:{})();return W(a)&&w(t)?void 0:[a,t]}))),((a,t)=>S((async()=>{if(await R(),w(t)){const[t,e]=a();await _(t),await C(e)}else await _(t[0],!0),await C(t[1],!0)}))),e,n,s,r,{[$]:()=>N,destroy:async()=>(await b.stopAutoPersisting(),i(),b)},0,N);return b},tt=/^([cd]:)(.+)/,et=(a,n,s,o,c,l,w,d,u,E,N="getDb")=>{const $=ba(s,l),[A,,R,p]=Va(n),v=e+(a=>{let t=2166136261;return O(sa.encode(a),(a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(oa(R)),I=t+"_"+v,_=async(a,e,n="",s="")=>{const i=Da(t,a,v);return await $(va+Sa+_a+i+`()RETURNS ${n}trigger AS $$ ${s}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),i},b=async(a,t,e,n)=>(await $(va+a+"TRIGGER"+t+e+"EXECUTE "+_a+n+"()"),t),L=a=>`PERFORM pg_notify('${I}',${a});`,D=(a,t)=>A?i:2===t?D(a,0)+" OR "+D(a,1):r(X(R[0],a)?.[2]??i,Ca,0==t?"NEW":"OLD"),f=(a,e)=>g(T([ua,Ea,Na],((n,s)=>b(Sa,Da(t,"d",v,a,n),`AFTER ${n} ON${La(a)}FOR EACH ROW WHEN(${D(a,s)})`,e))));return(A?Za:at)(a,$,(async a=>{const e=await _("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${ya} command_tag='${Ia}' LOOP ${L("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await b("EVENT ",Da(t,"c",v),`ON ddl_command_end WHEN TAG IN('${Ia}')`,e);const n=await _("d",L("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await g(T(C(p),(async a=>(await $(Ia+` IF NOT EXISTS${La(a)}("_id"text PRIMARY KEY)`),await f(a,n))))),[await o(I,(t=>{return y((e=t,s=tt,e?.match(s)),(async([,t,e])=>{S(p,e)&&("c:"==t&&await f(e,n),a())}));var e,s})),[e,n]]}),(async([a,t])=>{c(a),await $(`DROP FUNCTION IF EXISTS${m(t,",")}CASCADE`)}),w,d,u,R,C(p),(async(a,t)=>await a(wa+` table_name tn,column_name cn FROM information_schema.columns ${ya} table_schema='public'AND table_name IN(${fa(t)})`,t)),E,N,"text",void 0,(a=>ia(a)),(a=>ra(a)))},nt=(a,t,n,s,i,r,o,c,w,y,d="getDb",u)=>{let E,N,g;const $=ba(n,r),[O,m,T,R]=Va(t);return(O?Za:at)(a,$,(a=>{let t;const e=()=>t=setInterval((()=>A((async()=>{const[{d:t,s:e,c:n}]=await $(wa+` ${Ta} d,${Ra} s,TOTAL_CHANGES() c FROM ${ma}${Ta} JOIN ${ma}${Ra}`);t==E&&e==N&&n==g||(null!=E&&a(),E=t,N=e,g=n)}))),1e3*m),n=()=>{E=N=g=null,l(t)},r=s((t=>{R.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(r)}}),(a=>a()),o,c,w,T,C(R),(async(a,t)=>await a(wa+` t.name tn,c.name cn FROM ${pa}list()t,${pa}info(t.name)c ${ya} t.schema='main'AND t.type IN('table','view')AND t.name IN(${fa(t)})ORDER BY t.name,c.name`,t)),y,d,e,u,(a=>!0===a?1:!1===a?0:a),void 0)};export{aa as Persists,Z as Status,na as createCustomPersister,et as createCustomPostgreSqlPersister,nt as createCustomSqlitePersister};
Binary file
@@ -1 +1 @@
1
- const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=t=>Array.isArray(t),n=t=>t.length,s=t=>{throw Error(t)},o=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},r=(t,e)=>t.forEach(e),i=(t,...e)=>t.push(...e),c=t=>t.shift(),d=Object,l=t=>d.getPrototypeOf(t),u=d.entries,y=d.keys,g=d.freeze,w=(t=[])=>d.fromEntries(t),h=(t,a)=>e(t,(t=>t[a])),p=(t,e)=>e in t,v=(t,e)=>(delete t[e],t),f=(t,e)=>w(((t,e)=>((t,e)=>t.map(e))(u(t),(([t,a])=>e(a,t))))(t,((t,a)=>[a,e(t,a)]))),C=t=>n(y(t)),A=a=>(a=>!t(a)&&e(l(a),(e=>e==d.prototype||t(l(e))),(()=>!0)))(a)&&0==C(a),S=(t,e,a)=>(p(t,e)||(t[e]=a()),t[e]),L=e=>t(e)||0==(t=>t?.size??0)(e),b=(t,e)=>t?.forEach(e),M=(t,e)=>t?.delete(e),E=t=>new Map(t),m=(t,e)=>t?.get(e),D=(e,a,n)=>t(n)?(M(e,a),e):e?.set(a,n),T=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(m(t,e)):D(t,e,a()),m(t,e)},z=(t,a,s,o,r=0)=>e((s?T:m)(t,a[r],r>n(a)-2?s:E),(e=>{if(r>n(a)-2)return o?.(e)&&D(t,a[r]),e;const i=z(e,a,s,o,r+1);return L(e)&&D(t,a[r]),i})),O=/^\d+$/,P=e=>new Set(a(e)||t(e)?e:[e]),j=E(),k=E(),x=(d,l,u,y,w,h,p,v={},f=0,C=[])=>{let S,x,F,H=0,$=0,q=0;T(j,C,(()=>0)),T(k,C,(()=>[]));const B=E(),[G,I,J,K,N]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!A(t)||!A(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!A(t)||!A(e),e.setContent]:s("Store type not supported by this Persister"))(p,d,f),[Q,R,U]=(()=>{let a;const[s,o]=(()=>{const t=[];let e=0;return[a=>(a?c(t):null)??""+e++,e=>{O.test(e)&&n(t)<1e3&&i(t,e)}]})(),d=E();return[(t,e,n,o=[],r=()=>[])=>{a??=et;const i=s(1);var c,l;return D(d,i,[t,e,n,o,r]),c=z(e,n??[""],P),l=i,c?.add(l),i},(t,e,...s)=>r(((t,e=[""])=>{const a=[],s=(t,o)=>o==n(e)?i(a,t):null===e[o]?b(t,(t=>s(t,o+1))):r([e[o],null],(e=>s(m(t,e),o+1)));return s(t,0),a})(t,e),(t=>b(t,(t=>m(d,t)[0](a,...e??[],...s))))),t=>e(m(d,t),(([,e,a])=>(z(e,a??[""],void 0,(e=>(M(e,t),L(e)?1:0))),D(d,t),o(t),a))),s=>e(m(d,s),(([e,,s=[],o,i])=>{const c=(...d)=>{const l=n(d);l==n(s)?e(a,...d,...i(d)):t(s[l])?r(o[l]?.(...d)??[],(t=>c(...d,t))):c(...d,s[l])};c()}))]})(),V=t=>{t!=H&&(H=t,R(B,void 0,H))},W=t=>{(G&&a(t?.[0])?1===t?.[2]?d.applyMergeableChanges:d.setMergeableContent:1===t?.[2]?d.applyChanges:d.setContent)(t)},X=async t=>(2!=H&&(V(1),$++,await tt((async()=>{await o((async()=>{const e=await l();a(e)?W(e):t?N(t):s("Content is not an array: "+e)}),(()=>{t&&N(t)})),V(0)}))),et),Y=async()=>(x&&(await o((()=>w(x)),h),x=void 0),et),Z=async t=>(1!=H&&(V(2),q++,await tt((async()=>{await o((()=>u(I,t)),h),V(0)}))),et),_=async()=>(F&&(d.delListener(F),F=void 0),et),tt=async(...e)=>(i(m(k,C),...e),await(async()=>{if(!m(j,C)){for(D(j,C,1);!t(S=c(m(k,C)));)await o(S,h);D(j,C,0)}})(),et),et={load:X,startAutoLoad:async t=>(Y(),await X(t),await o((async()=>x=await y((async(t,e)=>{e||t?2!=H&&(V(1),$++,W(e??t),V(0)):await X()}))),h),et),stopAutoLoad:Y,isAutoLoading:()=>!t(x),save:Z,startAutoSave:async()=>(_(),await Z(),F=d.addDidFinishTransactionListener((()=>{const t=J();K(t)&&Z(t)})),et),stopAutoSave:_,isAutoSaving:()=>!t(F),getStatus:()=>H,addStatusListener:t=>Q(t,B),delListener:t=>(U(t),d),schedule:tt,getStore:()=>d,destroy:async()=>(m(k,C).splice(0,void 0),await et.stopAutoLoad(),await et.stopAutoSave()),getStats:()=>({loads:$,saves:q}),...v};return g(et)},F=(t,e)=>[t[e].t,t[e].v],H=(e,a,n,s)=>{const o=t(a)?e:S(e,a,(()=>({})));let r;return f(n,((t,e)=>{s(o,e,t)&&(r=1)})),f(o,((t,e)=>{p(n,e)||(v(o,e),r=1)})),!t(a)&&A(o)&&v(e,a),r},$=(a,n,s="tinybase",o)=>(n.change((t=>S(t,s,w))),x(a,(async()=>{const t=await n.doc();return 2==C(t?.[s])?F(t,s):void 0}),(async(a,o)=>n.change((n=>((a,n,s,o)=>{((t,e)=>{A(t[e])&&(t[e]={t:{},v:{}})})(a,n);const[r,i]=F(a,n),c=()=>{d=1};let d=1;if(e(o,(([a,n])=>{d=0,f(a,((a,n)=>d?0:t(a)?v(r,n):e(r[n],(n=>f(a,((a,s)=>d?0:t(a)?v(n,s):e(h(n,s),(e=>f(a,((a,n)=>t(a)?v(e,n):e[n]=a))),c)))),c))),f(n,((e,a)=>d?0:t(e)?v(i,a):i[a]=e))})),d){const[t,e]=s();H(r,void 0,t,((t,e,a)=>H(r,e,a,((t,e,a)=>H(t,e,a,((t,e,a)=>{if(h(t,e)!==a)return t[e]=a,1})))))),H(i,void 0,e,((t,e,a)=>{h(i,e)!==a&&(i[e]=a)}))}})(n,s,a,o)))),(t=>{const e=({doc:e})=>t(F(e,s));return n.on("change",e),e}),(t=>{n.removeListener("change",t)}),o,1,{getDocHandle:()=>n}));export{$ as createAutomergePersister};
1
+ const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=t=>Array.isArray(t),n=t=>t.length,s=t=>{throw Error(t)},r=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},o=(t,e)=>t.forEach(e),i=(t,...e)=>t.push(...e),c=t=>t.shift(),u=Object,d=t=>u.getPrototypeOf(t),l=u.entries,y=u.keys,g=u.freeze,w=(t=[])=>u.fromEntries(t),h=(t,a)=>e(t,(t=>t[a])),p=(t,e)=>e in t,v=(t,e)=>(delete t[e],t),f=(t,e)=>w(((t,e)=>((t,e)=>t.map(e))(l(t),(([t,a])=>e(a,t))))(t,((t,a)=>[a,e(t,a)]))),C=t=>n(y(t)),A=a=>(a=>!t(a)&&e(d(a),(e=>e==u.prototype||t(d(e))),(()=>!0)))(a)&&0==C(a),S=(t,e,a)=>(p(t,e)||(t[e]=a()),t[e]),b=e=>t(e)||0==(t=>t?.size??0)(e),L=(t,e)=>t?.forEach(e),M=(t,e)=>t?.delete(e),E=t=>new Map(t),P=(t,e)=>t?.get(e),m=(e,a,n)=>t(n)?(M(e,a),e):e?.set(a,n),D=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(P(t,e)):m(t,e,a()),P(t,e)},T=(t,a,s,r,o=0)=>e((s?D:P)(t,a[o],o>n(a)-2?s:E),(e=>{if(o>n(a)-2)return r?.(e)&&m(t,a[o]),e;const i=T(e,a,s,r,o+1);return b(e)&&m(t,a[o]),i})),z=/^\d+$/,O=e=>new Set(a(e)||t(e)?e:[e]),j=E(),k=E(),x=(u,d,l,y,w,h,p,v={},f=0,C=[])=>{let S,x,F,H=0,$=0,q=0;D(j,C,(()=>0)),D(k,C,(()=>[]));const B=E(),[G,I,J,K,N]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!A(t)||!A(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!A(t)||!A(e),e.setContent]:s("Store type not supported by this Persister"))(p,u,f),[Q,R,U]=(()=>{let a;const[s,r]=(()=>{const t=[];let e=0;return[a=>(a?c(t):null)??""+e++,e=>{z.test(e)&&n(t)<1e3&&i(t,e)}]})(),u=E();return[(t,e,n,r=[],o=()=>[])=>{a??=st;const i=s(1);var c,d;return m(u,i,[t,e,n,r,o]),c=T(e,n??[""],O),d=i,c?.add(d),i},(t,e,...s)=>o(((t,e=[""])=>{const a=[],s=(t,r)=>r==n(e)?i(a,t):null===e[r]?L(t,(t=>s(t,r+1))):o([e[r],null],(e=>s(P(t,e),r+1)));return s(t,0),a})(t,e),(t=>L(t,(t=>P(u,t)[0](a,...e??[],...s))))),t=>e(P(u,t),(([,e,a])=>(T(e,a??[""],void 0,(e=>(M(e,t),b(e)?1:0))),m(u,t),r(t),a))),s=>e(P(u,s),(([e,,s=[],r,i])=>{const c=(...u)=>{const d=n(u);d==n(s)?e(a,...u,...i(u)):t(s[d])?o(r[d]?.(...u)??[],(t=>c(...u,t))):c(...u,s[d])};c()}))]})(),V=t=>{t!=H&&(H=t,R(B,void 0,H))},W=t=>{(G&&a(t?.[0])?1===t?.[2]?u.applyMergeableChanges:u.setMergeableContent:1===t?.[2]?u.applyChanges:u.setContent)(t)},X=async t=>(2!=H&&(V(1),$++,await nt((async()=>{await r((async()=>{const e=await d();a(e)?W(e):t?N(t):s("Content is not an array: "+e)}),(()=>{t&&N(t)})),V(0)}))),st),Y=async t=>(Z(),await X(t),await r((async()=>x=await y((async(t,e)=>{e||t?2!=H&&(V(1),$++,W(e??t),V(0)):await X()}))),h),st),Z=async()=>(x&&(await r((()=>w(x)),h),x=void 0),st),_=async t=>(1!=H&&(V(2),q++,await nt((async()=>{await r((()=>l(I,t)),h),V(0)}))),st),tt=async()=>(et(),await _(),F=u.addDidFinishTransactionListener((()=>{const t=J();K(t)&&_(t)})),st),et=async()=>(F&&(u.delListener(F),F=void 0),st),at=async(t=!1)=>{const[e,a]=t?[et,Z]:[Z,et];return await e(),await a(),st},nt=async(...e)=>(i(P(k,C),...e),await(async()=>{if(!P(j,C)){for(m(j,C,1);!t(S=c(P(k,C)));)await r(S,h);m(j,C,0)}})(),st),st={load:X,startAutoLoad:Y,stopAutoLoad:Z,isAutoLoading:()=>!t(x),save:_,startAutoSave:tt,stopAutoSave:et,isAutoSaving:()=>!t(F),startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[tt,Y]:[Y,tt];return await a(t),await n(t),st},stopAutoPersisting:at,getStatus:()=>H,addStatusListener:t=>Q(t,B),delListener:t=>(U(t),u),schedule:nt,getStore:()=>u,destroy:()=>(P(k,C).splice(0,void 0),at()),getStats:()=>({loads:$,saves:q}),...v};return g(st)},F=(t,e)=>[t[e].t,t[e].v],H=(e,a,n,s)=>{const r=t(a)?e:S(e,a,(()=>({})));let o;return f(n,((t,e)=>{s(r,e,t)&&(o=1)})),f(r,((t,e)=>{p(n,e)||(v(r,e),o=1)})),!t(a)&&A(r)&&v(e,a),o},$=(a,n,s="tinybase",r)=>(n.change((t=>S(t,s,w))),x(a,(async()=>{const t=await n.doc();return 2==C(t?.[s])?F(t,s):void 0}),(async(a,r)=>n.change((n=>((a,n,s,r)=>{((t,e)=>{A(t[e])&&(t[e]={t:{},v:{}})})(a,n);const[o,i]=F(a,n),c=()=>{u=1};let u=1;if(e(r,(([a,n])=>{u=0,f(a,((a,n)=>u?0:t(a)?v(o,n):e(o[n],(n=>f(a,((a,s)=>u?0:t(a)?v(n,s):e(h(n,s),(e=>f(a,((a,n)=>t(a)?v(e,n):e[n]=a))),c)))),c))),f(n,((e,a)=>u?0:t(e)?v(i,a):i[a]=e))})),u){const[t,e]=s();H(o,void 0,t,((t,e,a)=>H(o,e,a,((t,e,a)=>H(t,e,a,((t,e,a)=>{if(h(t,e)!==a)return t[e]=a,1})))))),H(i,void 0,e,((t,e,a)=>{h(i,e)!==a&&(i[e]=a)}))}})(n,s,a,r)))),(t=>{const e=({doc:e})=>t(F(e,s));return n.on("change",e),e}),(t=>{n.removeListener("change",t)}),r,1,{getDocHandle:()=>n}));export{$ as createAutomergePersister};