tinybase 6.1.0-beta.3 → 6.1.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/persisters/index.d.ts +83 -40
- package/@types/persisters/persister-automerge/index.d.ts +4 -4
- package/@types/persisters/persister-automerge/with-schemas/index.d.ts +4 -4
- package/@types/persisters/persister-browser/index.d.ts +4 -4
- package/@types/persisters/persister-browser/with-schemas/index.d.ts +4 -4
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +3 -3
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-electric-sql/index.d.ts +3 -3
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-expo-sqlite/index.d.ts +3 -3
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-file/index.d.ts +2 -2
- package/@types/persisters/persister-file/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-indexed-db/index.d.ts +2 -2
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-libsql/index.d.ts +3 -3
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-partykit-client/index.d.ts +2 -2
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-pglite/index.d.ts +3 -3
- package/@types/persisters/persister-pglite/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-postgres/index.d.ts +3 -3
- package/@types/persisters/persister-postgres/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-powersync/index.d.ts +3 -3
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-remote/index.d.ts +2 -2
- package/@types/persisters/persister-remote/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-sqlite-bun/index.d.ts +159 -0
- package/@types/persisters/persister-sqlite-bun/with-schemas/index.d.ts +178 -0
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +3 -3
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-sqlite3/index.d.ts +3 -3
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-yjs/index.d.ts +4 -4
- package/@types/persisters/persister-yjs/with-schemas/index.d.ts +4 -4
- package/@types/persisters/with-schemas/index.d.ts +87 -42
- package/@types/synchronizers/index.d.ts +18 -16
- package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +3 -3
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +3 -3
- package/@types/synchronizers/synchronizer-local/index.d.ts +2 -2
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +2 -2
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +5 -5
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +5 -5
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +37 -37
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +37 -37
- package/@types/synchronizers/synchronizer-ws-server-simple/index.d.ts +7 -7
- package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.ts +7 -7
- package/@types/synchronizers/with-schemas/index.d.ts +18 -16
- package/@types/ui-react/index.d.ts +2 -2
- package/@types/ui-react/with-schemas/index.d.ts +2 -2
- package/index.js +23 -17
- package/mergeable-store/index.js +23 -17
- package/mergeable-store/with-schemas/index.js +23 -17
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/index.js +1 -0
- package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -0
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/package.json +46 -6
- package/persisters/index.js +293 -161
- package/persisters/persister-automerge/index.js +55 -50
- package/persisters/persister-automerge/with-schemas/index.js +55 -50
- package/persisters/persister-browser/index.js +56 -55
- package/persisters/persister-browser/with-schemas/index.js +56 -55
- package/persisters/persister-cr-sqlite-wasm/index.js +181 -134
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +181 -134
- package/persisters/persister-durable-object-storage/index.js +58 -53
- package/persisters/persister-durable-object-storage/with-schemas/index.js +58 -53
- package/persisters/persister-electric-sql/index.js +181 -134
- package/persisters/persister-electric-sql/with-schemas/index.js +181 -134
- package/persisters/persister-expo-sqlite/index.js +181 -134
- package/persisters/persister-expo-sqlite/with-schemas/index.js +181 -134
- package/persisters/persister-file/index.js +55 -50
- package/persisters/persister-file/with-schemas/index.js +55 -50
- package/persisters/persister-indexed-db/index.js +82 -78
- package/persisters/persister-indexed-db/with-schemas/index.js +82 -78
- package/persisters/persister-libsql/index.js +182 -135
- package/persisters/persister-libsql/with-schemas/index.js +182 -135
- package/persisters/persister-partykit-client/index.js +56 -51
- package/persisters/persister-partykit-client/with-schemas/index.js +56 -51
- package/persisters/persister-pglite/index.js +299 -173
- package/persisters/persister-pglite/with-schemas/index.js +299 -173
- package/persisters/persister-postgres/index.js +296 -171
- package/persisters/persister-postgres/with-schemas/index.js +296 -171
- package/persisters/persister-powersync/index.js +189 -138
- package/persisters/persister-powersync/with-schemas/index.js +189 -138
- package/persisters/persister-remote/index.js +55 -50
- package/persisters/persister-remote/with-schemas/index.js +55 -50
- package/persisters/persister-sqlite-bun/index.js +1171 -0
- package/persisters/persister-sqlite-bun/with-schemas/index.js +1171 -0
- package/persisters/persister-sqlite-wasm/index.js +182 -135
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +182 -135
- package/persisters/persister-sqlite3/index.js +181 -134
- package/persisters/persister-sqlite3/with-schemas/index.js +181 -134
- package/persisters/persister-yjs/index.js +55 -50
- package/persisters/persister-yjs/with-schemas/index.js +55 -50
- package/persisters/with-schemas/index.js +293 -161
- package/readme.md +2 -2
- package/releases.md +29 -1
- package/store/index.js +20 -15
- package/store/with-schemas/index.js +20 -15
- package/synchronizers/index.js +68 -63
- package/synchronizers/synchronizer-broadcast-channel/index.js +68 -63
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +68 -63
- package/synchronizers/synchronizer-local/index.js +68 -63
- package/synchronizers/synchronizer-local/with-schemas/index.js +68 -63
- package/synchronizers/synchronizer-ws-client/index.js +68 -63
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +68 -63
- package/synchronizers/synchronizer-ws-server/index.js +79 -70
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +79 -70
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +69 -51
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +69 -51
- package/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
- package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
- package/synchronizers/with-schemas/index.js +68 -63
- package/ui-react-inspector/index.js +68 -60
- package/ui-react-inspector/with-schemas/index.js +68 -60
- package/with-schemas/index.js +23 -17
|
@@ -13552,8 +13552,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
13552
13552
|
* root.unmount(); // !act
|
|
13553
13553
|
* // -> 'Synchronizer destroyed for ws://localhost:8045/'
|
|
13554
13554
|
*
|
|
13555
|
-
* server1.destroy();
|
|
13556
|
-
* server2.destroy();
|
|
13555
|
+
* await server1.destroy();
|
|
13556
|
+
* await server2.destroy();
|
|
13557
13557
|
* ```
|
|
13558
13558
|
* @category Synchronizer hooks
|
|
13559
13559
|
* @since v5.0.0
|
package/index.js
CHANGED
|
@@ -55,6 +55,15 @@ const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
|
55
55
|
const size = (arrayOrString) => arrayOrString.length;
|
|
56
56
|
const test = (regex, subject) => regex.test(subject);
|
|
57
57
|
const getUndefined = () => void 0;
|
|
58
|
+
const noop = () => {};
|
|
59
|
+
const tryCatch = async (action, then1, then2) => {
|
|
60
|
+
try {
|
|
61
|
+
return await action();
|
|
62
|
+
} catch (error) {
|
|
63
|
+
/* istanbul ignore next */
|
|
64
|
+
then1?.(error);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
58
67
|
|
|
59
68
|
const arrayHas = (array, value) => array.includes(value);
|
|
60
69
|
const arrayEvery = (array, cb) => array.every(cb);
|
|
@@ -1951,27 +1960,24 @@ const createStore = () => {
|
|
|
1951
1960
|
);
|
|
1952
1961
|
});
|
|
1953
1962
|
const setTablesJson = (tablesJson) => {
|
|
1954
|
-
|
|
1955
|
-
setOrDelTables(jsonParse(tablesJson));
|
|
1956
|
-
} catch {}
|
|
1963
|
+
tryCatch(() => setOrDelTables(jsonParse(tablesJson)));
|
|
1957
1964
|
return store;
|
|
1958
1965
|
};
|
|
1959
1966
|
const setValuesJson = (valuesJson) => {
|
|
1960
|
-
|
|
1961
|
-
setOrDelValues(jsonParse(valuesJson));
|
|
1962
|
-
} catch {}
|
|
1967
|
+
tryCatch(() => setOrDelValues(jsonParse(valuesJson)));
|
|
1963
1968
|
return store;
|
|
1964
1969
|
};
|
|
1965
1970
|
const setJson = (tablesAndValuesJson) =>
|
|
1966
|
-
fluentTransaction(() =>
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1971
|
+
fluentTransaction(() =>
|
|
1972
|
+
tryCatch(
|
|
1973
|
+
() => {
|
|
1974
|
+
const [tables, values] = jsonParse(tablesAndValuesJson);
|
|
1975
|
+
setOrDelTables(tables);
|
|
1976
|
+
setOrDelValues(values);
|
|
1977
|
+
},
|
|
1978
|
+
() => setTablesJson(tablesAndValuesJson),
|
|
1979
|
+
),
|
|
1980
|
+
);
|
|
1975
1981
|
const setTablesSchema = (tablesSchema) =>
|
|
1976
1982
|
fluentTransaction(() => {
|
|
1977
1983
|
if ((hasTablesSchema = validateTablesSchema(tablesSchema))) {
|
|
@@ -2629,8 +2635,8 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
2629
2635
|
stampUpdate(thingsStampMap, incomingThingsTime, thingsHash);
|
|
2630
2636
|
return [thingsTime, oldThingsHash, thingsStampMap[2]];
|
|
2631
2637
|
};
|
|
2632
|
-
const preStartTransaction =
|
|
2633
|
-
const preFinishTransaction =
|
|
2638
|
+
const preStartTransaction = noop;
|
|
2639
|
+
const preFinishTransaction = noop;
|
|
2634
2640
|
const postFinishTransaction = () => {
|
|
2635
2641
|
collClear(touchedCells);
|
|
2636
2642
|
collClear(touchedValues);
|
package/mergeable-store/index.js
CHANGED
|
@@ -46,6 +46,15 @@ const isArray = (thing) => Array.isArray(thing);
|
|
|
46
46
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
47
47
|
const size = (arrayOrString) => arrayOrString.length;
|
|
48
48
|
const test = (regex, subject) => regex.test(subject);
|
|
49
|
+
const noop = () => {};
|
|
50
|
+
const tryCatch = async (action, then1, then2) => {
|
|
51
|
+
try {
|
|
52
|
+
return await action();
|
|
53
|
+
} catch (error) {
|
|
54
|
+
/* istanbul ignore next */
|
|
55
|
+
then1?.(error);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
49
58
|
|
|
50
59
|
const getCellOrValueType = (cellOrValue) => {
|
|
51
60
|
const type = getTypeOf(cellOrValue);
|
|
@@ -1299,27 +1308,24 @@ const createStore = () => {
|
|
|
1299
1308
|
);
|
|
1300
1309
|
});
|
|
1301
1310
|
const setTablesJson = (tablesJson) => {
|
|
1302
|
-
|
|
1303
|
-
setOrDelTables(jsonParse(tablesJson));
|
|
1304
|
-
} catch {}
|
|
1311
|
+
tryCatch(() => setOrDelTables(jsonParse(tablesJson)));
|
|
1305
1312
|
return store;
|
|
1306
1313
|
};
|
|
1307
1314
|
const setValuesJson = (valuesJson) => {
|
|
1308
|
-
|
|
1309
|
-
setOrDelValues(jsonParse(valuesJson));
|
|
1310
|
-
} catch {}
|
|
1315
|
+
tryCatch(() => setOrDelValues(jsonParse(valuesJson)));
|
|
1311
1316
|
return store;
|
|
1312
1317
|
};
|
|
1313
1318
|
const setJson = (tablesAndValuesJson) =>
|
|
1314
|
-
fluentTransaction(() =>
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1319
|
+
fluentTransaction(() =>
|
|
1320
|
+
tryCatch(
|
|
1321
|
+
() => {
|
|
1322
|
+
const [tables, values] = jsonParse(tablesAndValuesJson);
|
|
1323
|
+
setOrDelTables(tables);
|
|
1324
|
+
setOrDelValues(values);
|
|
1325
|
+
},
|
|
1326
|
+
() => setTablesJson(tablesAndValuesJson),
|
|
1327
|
+
),
|
|
1328
|
+
);
|
|
1323
1329
|
const setTablesSchema = (tablesSchema) =>
|
|
1324
1330
|
fluentTransaction(() => {
|
|
1325
1331
|
if ((hasTablesSchema = validateTablesSchema(tablesSchema))) {
|
|
@@ -1977,8 +1983,8 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
1977
1983
|
stampUpdate(thingsStampMap, incomingThingsTime, thingsHash);
|
|
1978
1984
|
return [thingsTime, oldThingsHash, thingsStampMap[2]];
|
|
1979
1985
|
};
|
|
1980
|
-
const preStartTransaction =
|
|
1981
|
-
const preFinishTransaction =
|
|
1986
|
+
const preStartTransaction = noop;
|
|
1987
|
+
const preFinishTransaction = noop;
|
|
1982
1988
|
const postFinishTransaction = () => {
|
|
1983
1989
|
collClear(touchedCells);
|
|
1984
1990
|
collClear(touchedValues);
|
|
@@ -46,6 +46,15 @@ const isArray = (thing) => Array.isArray(thing);
|
|
|
46
46
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
47
47
|
const size = (arrayOrString) => arrayOrString.length;
|
|
48
48
|
const test = (regex, subject) => regex.test(subject);
|
|
49
|
+
const noop = () => {};
|
|
50
|
+
const tryCatch = async (action, then1, then2) => {
|
|
51
|
+
try {
|
|
52
|
+
return await action();
|
|
53
|
+
} catch (error) {
|
|
54
|
+
/* istanbul ignore next */
|
|
55
|
+
then1?.(error);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
49
58
|
|
|
50
59
|
const getCellOrValueType = (cellOrValue) => {
|
|
51
60
|
const type = getTypeOf(cellOrValue);
|
|
@@ -1299,27 +1308,24 @@ const createStore = () => {
|
|
|
1299
1308
|
);
|
|
1300
1309
|
});
|
|
1301
1310
|
const setTablesJson = (tablesJson) => {
|
|
1302
|
-
|
|
1303
|
-
setOrDelTables(jsonParse(tablesJson));
|
|
1304
|
-
} catch {}
|
|
1311
|
+
tryCatch(() => setOrDelTables(jsonParse(tablesJson)));
|
|
1305
1312
|
return store;
|
|
1306
1313
|
};
|
|
1307
1314
|
const setValuesJson = (valuesJson) => {
|
|
1308
|
-
|
|
1309
|
-
setOrDelValues(jsonParse(valuesJson));
|
|
1310
|
-
} catch {}
|
|
1315
|
+
tryCatch(() => setOrDelValues(jsonParse(valuesJson)));
|
|
1311
1316
|
return store;
|
|
1312
1317
|
};
|
|
1313
1318
|
const setJson = (tablesAndValuesJson) =>
|
|
1314
|
-
fluentTransaction(() =>
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1319
|
+
fluentTransaction(() =>
|
|
1320
|
+
tryCatch(
|
|
1321
|
+
() => {
|
|
1322
|
+
const [tables, values] = jsonParse(tablesAndValuesJson);
|
|
1323
|
+
setOrDelTables(tables);
|
|
1324
|
+
setOrDelValues(values);
|
|
1325
|
+
},
|
|
1326
|
+
() => setTablesJson(tablesAndValuesJson),
|
|
1327
|
+
),
|
|
1328
|
+
);
|
|
1323
1329
|
const setTablesSchema = (tablesSchema) =>
|
|
1324
1330
|
fluentTransaction(() => {
|
|
1325
1331
|
if ((hasTablesSchema = validateTablesSchema(tablesSchema))) {
|
|
@@ -1977,8 +1983,8 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
1977
1983
|
stampUpdate(thingsStampMap, incomingThingsTime, thingsHash);
|
|
1978
1984
|
return [thingsTime, oldThingsHash, thingsStampMap[2]];
|
|
1979
1985
|
};
|
|
1980
|
-
const preStartTransaction =
|
|
1981
|
-
const preFinishTransaction =
|
|
1986
|
+
const preStartTransaction = noop;
|
|
1987
|
+
const preFinishTransaction = noop;
|
|
1982
1988
|
const postFinishTransaction = () => {
|
|
1983
1989
|
collClear(touchedCells);
|
|
1984
1990
|
collClear(touchedValues);
|
package/min/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),n=e(!0),o=e(0),l=e(e),r="type",a="default",i="Listener",c="Result",d="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)==l,W=e=>Array.isArray(e),A=(e,t,s)=>e.slice(t,s),P=e=>e.length,j=()=>{},_=(e,t)=>e.includes(t),B=(e,t)=>e.every(t),U=(e,t)=>P(e)===P(t)&&B(e,((e,s)=>t[s]===e)),q=(e,t)=>B(e,((s,n)=>0==n||t(e[n-1],s)<=0)),G=(e,t)=>e.sort(t),K=(e,t)=>e.forEach(t),X=(e,t)=>e.map(t),Y=e=>$(e,((e,t)=>e+t),0),Z=e=>0==P(e),$=(e,t,s)=>e.reduce(t,s),ee=(e,...t)=>e.push(...t),te=e=>e.pop(),se=e=>e.shift(),ne=t=>{const s=e(t);return z(s)||s==o&&x(t)?s:void 0},oe=e=>F(e)||!F(ne(e)),le=(e,t,s,n,o)=>F(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),re=(e,t,s)=>F(s)?e.delValue(t):e.setValue(t,s),ae=e=>t=>$(fe(t),((t,s)=>t+e(s)),0),ie=e=>e?.size??0,ce=ae(ie),de=ae(ce),ue=ae(de),ge=(e,t)=>e?.has(t)??!1,he=e=>F(e)||0==ie(e),fe=e=>[...e?.values()??[]],be=e=>e.clear(),Ie=(e,t)=>e?.forEach(t),we=(e,t)=>e?.delete(t),Le=Object,Ce=e=>Le.getPrototypeOf(e),Re=Le.entries,Te=Le.isFrozen,ve=e=>!F(e)&&Q(Ce(e),(e=>e==Le.prototype||F(Ce(e))),(()=>!0)),pe=Le.keys,Se=Le.freeze,ye=(e=[])=>Le.fromEntries(e),Ve=(e,t)=>t in e,Me=(e,t)=>(delete e[t],e),me=(e,t)=>K(Re(e),(([e,s])=>t(s,e))),Ee=(e,t)=>ye(((e,t)=>X(Re(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),ke=e=>ve(e)&&0==(e=>P(pe(e)))(e),De=(e,t,s)=>(Ve(e,t)||(e[t]=s()),e[t]),He=(e,t,s,n=0)=>F(e)||!ve(e)||!n&&ke(e)||Te(e)?(s?.(),!1):(me(e,((s,n)=>{t(s,n)||Me(e,n)})),!!n||!ke(e)),Je=e=>new Map(e),xe=e=>[...e?.keys()??[]],Fe=(e,t)=>e?.get(t),Qe=(e,t)=>Ie(e,((e,s)=>t(s,e))),ze=(e,t,s)=>F(s)?(we(e,t),e):e?.set(t,s),Ne=(e,t,s,n)=>(ge(e,t)?n?.(Fe(e,t)):ze(e,t,s()),Fe(e,t)),Oe=(e,t,s,n=ze)=>(Ee(t,((t,n)=>s(e,n,t))),Qe(e,(s=>Ve(t,s)?0:n(e,s))),e),We=(e,t,s,n)=>{const o={};return Ie(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;n?.(s)||(o[l]=s)}})),o},Ae=(e,t,s)=>We(e,(e=>We(e,t,s)),he,ke),Pe=(e,t,s)=>We(e,(e=>Ae(e,t,s)),he,ke),je=(e,t)=>{const s=Je();return Ie(e,((e,n)=>s.set(n,t?.(e)??e))),s},_e=e=>je(e,je),Be=e=>je(e,_e),Ue=(e,t,s,n,o=0)=>Q((s?Ne:Fe)(e,t[o],o>P(t)-2?s:Je),(l=>{if(o>P(t)-2)return n?.(l)&&ze(e,t[o]),l;const r=Ue(l,t,s,n,o+1);return he(l)&&ze(e,t[o]),r})),qe=e=>new Set(W(e)||F(e)?e:[e]),Ge=(e,t)=>e?.add(t),Ke=(e,t,s,n,o)=>{const l=e.hasRow,r=Je(),a=Je(),i=Je(),c=Je(),d=Je(),u=Je(),g=(t,s,...n)=>{const o=Ne(u,t,qe);return K(n,(t=>Ge(o,t)&&s&&e.callListener(t))),n},h=(t,...s)=>Q(Fe(u,t),(n=>{K(Z(s)?fe(n):s,(t=>{e.delListener(t),we(n,t)})),he(n)&&ze(u,t)})),f=(e,s)=>{ze(r,e,s),ge(a,e)||(ze(a,e,t()),ze(c,e,Je()),ze(d,e,Je()),o(i))},b=e=>{ze(r,e),ze(a,e),ze(c,e),ze(d,e),h(e),o(i)};return[()=>e,()=>xe(r),e=>Qe(a,e),e=>ge(a,e),e=>Fe(r,e),e=>Fe(a,e),(e,t)=>ze(a,e,t),f,(t,n,o,r,a)=>{f(t,n);const i=Je(),u=Je(),b=Fe(c,t),I=Fe(d,t),w=t=>{const o=s=>e.getCell(n,t,s),c=Fe(b,t),d=l(n,t)?s(r(o,t)):void 0;if(c===d||W(c)&&W(d)&&U(c,d)||ze(i,t,[c,d]),!F(a)){const e=Fe(I,t),s=l(n,t)?a(o,t):void 0;e!=s&&ze(u,t,s)}},L=e=>{o((()=>{Ie(i,(([,e],t)=>ze(b,t,e))),Ie(u,((e,t)=>ze(I,t,e)))}),i,u,b,I,e),be(i),be(u)};Qe(b,w),e.hasTable(n)&&K(e.getRowIds(n),(e=>{ge(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),()=>Qe(u,b),g,h]},Xe=(e,s)=>N(e)?t=>t(e):e??(()=>s??t),Ye=(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}},Ze=/^\d+$/,$e=()=>{const e=[];let s=0;return[n=>(n?se(e):null)??t+s++,t=>{Ze.test(t)&&P(e)<1e3&&ee(e,t)}]},et=e=>{let s;const[n,o]=$e(),l=Je();return[(o,r,a,i=[],c=()=>[])=>{s??=e();const d=n(1);return ze(l,d,[o,r,a,i,c]),Ge(Ue(r,a??[t],qe),d),d},(e,n,...o)=>K(((e,s=[t])=>{const n=[],o=(e,t)=>t==P(s)?ee(n,e):null===s[t]?Ie(e,(e=>o(e,t+1))):K([s[t],null],(s=>o(Fe(e,s),t+1)));return o(e,0),n})(e,n),(e=>Ie(e,(e=>Fe(l,e)[0](s,...n??[],...o))))),e=>Q(Fe(l,e),(([,s,n])=>(Ue(s,n??[t],void 0,(t=>(we(t,e),he(t)?1:0))),ze(l,e),o(e),n))),e=>Q(Fe(l,e),(([e,,t=[],n,o])=>{const l=(...r)=>{const a=P(r);a==P(t)?e(s,...r,...o(r)):F(t[a])?K(n[a]?.(...r)??[],(e=>l(...r,e))):l(...r,t[a])};l()}))]},tt=Ye((e=>{let s,n,o,l=100,r=Je(),a=Je(),i=1;const c=Je(),d=Je(),[u,g,h]=et((()=>J)),f=Je(),b=Je(),I=[],w=[],L=(t,s)=>{i=0,e.transaction((()=>{const[n,o]=Fe(f,s);Ie(n,((s,n)=>Ie(s,((s,o)=>Ie(s,((s,l)=>le(e,n,o,l,s[t]))))))),Ie(o,((s,n)=>re(e,n,s[t])))})),i=1},C=e=>{ze(f,e),ze(b,e),g(d,[e])},R=(e,t)=>K(((e,t)=>e.splice(0,t))(e,t??P(e)),C),T=()=>R(I,P(I)-l),v=()=>Q(s,(()=>{ee(I,s),T(),R(w),s=void 0,o=1})),p=()=>{s=te(I),o=1};let S,y;const V=(e=t)=>(F(s)&&(s=t+n++,ze(f,s,[r,a]),D(s,e),r=Je(),a=Je(),o=1),s),M=()=>{Z(I)||(((e,...t)=>{e.unshift(...t)})(w,V()),L(0,s),s=te(I),o=1)},m=()=>{Z(w)||(ee(I,s),s=se(w),L(1,s),o=1)},E=()=>{o&&(g(c),o=0)},k=e=>{const t=V(e);return E(),t},D=(e,t)=>(H(e)&&Fe(b,e)!==t&&(ze(b,e,t),g(d,[e])),J),H=e=>ge(f,e),J={setSize:e=>(l=e,T(),J),addCheckpoint:k,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...I],s,[...w]],forEachCheckpoint:e=>Qe(b,e),hasCheckpoint:H,getCheckpoint:e=>Fe(b,e),goBackward:()=>(M(),E(),J),goForward:()=>(m(),E(),J),goTo:e=>{const t=_(I,e)?M:_(w,e)?m:null;for(;!F(t)&&e!=s;)t();return E(),J},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),J),clear:()=>(R(I),R(w),F(s)||C(s),s=void 0,n=0,k(),J),clearForward:()=>(Z(w)||(R(w),g(c)),J),destroy:()=>{e.delListener(S),e.delListener(y)},getListenerStats:()=>({checkpointIds:ce(c),checkpoint:ce(d)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,((e,t,s,n,o,l)=>{if(i){v();const e=Ne(r,t,Je),a=Ne(e,s,Je),i=Ne(a,n,(()=>[l,void 0]));i[1]=o,i[0]===o&&he(ze(a,n))&&he(ze(e,s))&&he(ze(r,t))&&p(),E()}})),y=e.addValueListener(null,((e,t,s,n)=>{if(i){v();const e=Ne(a,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&he(ze(a,t))&&p(),E()}}))}};return Se(J.clear())}),(e=>e._registerListeners())),st=m("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),nt=Je(X(st,((e,t)=>[e,t]))),ot=e=>st[63&e],lt=(e,t)=>Fe(nt,e[t])??0,rt=E.crypto?e=>E.crypto.getRandomValues(e):e=>X(e,(()=>J(256*k.random()))),at=(e,t)=>(e??0)<(t??0)?-1:1,it=(e=16)=>$(rt(new Uint8Array(e)),((e,t)=>e+ot(t)),""),ct=Ye((e=>{const s=Je(),n=Je(),[o,l,r]=et((()=>C)),[a,i,c,d,u,g,h,,f,b,I,w]=Ke(e,Je,(e=>F(e)?t:W(e)?X(e,y):y(e)),o,l),L=(t,s,n)=>{const o=u(t);Ie(n,((t,n)=>s(n,(s=>Ie(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},C={setIndexDefinition:(e,t,o,r,a,i=at)=>{const c=F(a)?void 0:([e],[t])=>a(e,t);return f(e,t,((t,o,a,d,u,f)=>{let b=0;const I=qe(),w=qe(),L=g(e);if(Ie(o,(([e,t],s)=>{const n=qe(e),o=qe(t);Ie(n,(e=>we(o,e)?we(n,e):0)),Ie(n,(e=>{Ge(I,e),Q(Fe(L,e),(t=>{we(t,s),he(t)&&(ze(L,e),b=1)}))})),Ie(o,(e=>{Ge(I,e),ge(L,e)||(ze(L,e,qe()),b=1),Ge(Fe(L,e),s),F(r)||Ge(w,e)}))})),t(),he(u)||(f?Qe(L,(e=>Ge(w,e))):Qe(a,(e=>Q(Fe(d,e),(e=>K(W(e)?e:[e],(e=>Ge(w,e))))))),Ie(w,(e=>{const t=(t,s)=>i(Fe(u,t),Fe(u,s),e),s=[...Fe(L,e)];q(s,t)||(ze(L,e,qe(G(s,t))),Ge(I,e))}))),(b||f)&&!F(c)){const t=[...L];q(t,c)||(h(e,Je(G(t,c))),b=1)}b&&l(s,[e]),Ie(I,(t=>l(n,[e,t])))}),Xe(o),Q(r,Xe)),C},delIndexDefinition:e=>(b(e),C),getStore:a,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>L(t,e,s))))),forEachSlice:(e,t)=>L(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>ge(g(e),t),getTableId:u,getSliceIds:e=>xe(g(e)),getSliceRowIds:(e,t)=>fe(Fe(g(e),t)),addIndexIdsListener:I,addSliceIdsListener:(e,t)=>o(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>o(s,n,[e,t]),delListener:e=>(r(e),C),destroy:w,getListenerStats:()=>({sliceIds:ce(s),sliceRowIds:de(n)})};return Se(C)})),dt=new E.TextEncoder,ut=e=>{let t=2166136261;return K(dt.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},gt=2**36,ht=2**30,ft=2**24,bt=2**18,It=4096,wt=JSON.stringify,Lt=JSON.parse,Ct=e=>wt(e,((e,t)=>t instanceof Map?Le.fromEntries([...t]):t)),Rt=([e,t])=>vt(e,t),Tt=([e,t,s])=>[e,t,s],vt=(e,t)=>t?[e,t]:[e],pt=(e,t,s)=>[e,t,s],St=e=>e[2],yt=(e,t)=>ut(e+":"+t),Vt=(e,t)=>t>e?(e?ut(e):0)^ut(t):0,Mt=(e,t)=>((e??"")>(t??"")?e:t)??"",mt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},Et=(e=t)=>vt(ye(),e),kt=(e=t)=>[Je(),e,0],Dt=([e,t,s],n=Tt)=>[We(e,n),t,s],Ht=([e,t],s=Rt)=>vt(We(e,s),t),Jt=(t,s)=>W(t)&&3==P(t)&&N(t[1])&&e(t[2])==o&&x(t[2])&&s(t[0]),xt=e=>[e,e],Ft=(e,t=ce)=>t(e[0])+t(e[1]),Qt=()=>[Je(),Je()],zt=e=>[...e],Nt=([e,t])=>e===t,Ot=(e,t,s)=>ze(e,t,Fe(e,t)==-s?void 0:s),Wt=()=>{let e,t,s=!1,n=!1,l=0,c=[];const g=Je(),C=Je(),V=Je(),M=Je(),m=Je(),E=Je(),k=Je(),D=Je(),H=Je(),J=Je(),x=Je(),N=Je(),P=Je(),j=Je(),B=qe(),q=Je(),Y=Je(),Z=Je(),$=Je(),te=Qt(),se=Qt(),oe=Qt(),ae=Qt(),fe=Qt(),Le=Qt(),Ce=Qt(),Re=Qt(),Te=Qt(),ve=Qt(),pe=Qt(),ye=Qt(),me=Qt(),De=Qt(),Ue=Qt(),Ke=Qt(),Xe=Qt(),Ye=Qt(),Ze=Qt(),tt=Qt(),st=Qt(),nt=Qt(),ot=Je(),lt=Qt(),[rt,it,ct,dt]=et((()=>Os)),ut=e=>{if(!He(e,((e,t)=>_([r,a],t))))return!1;const t=e[r];return!(!z(t)&&t!=o||(ne(e[a])!=t&&Me(e,a),0))},gt=W,ht=(t,s)=>(!e||ge(x,s)||Yt(s))&&He(t,((e,t)=>ft(s,t,e)),(()=>Yt(s))),ft=(e,t,s,n)=>He(n?s:Rt(s,e,t),((n,o)=>Q(bt(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>Yt(e,t))),bt=(t,s,n,o)=>e?Q(Fe(Fe(x,t),n),(e=>ne(o)!=e[r]?Yt(t,s,n,o,e[a]):o),(()=>Yt(t,s,n,o))):F(ne(o))?Yt(t,s,n,o):o,It=(e,t)=>He(t?e:Tt(e),((t,s)=>Q(wt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Zt())),wt=(e,s)=>t?Q(Fe(P,e),(t=>ne(s)!=t[r]?Zt(e,s,t[a]):s),(()=>Zt(e,s))):F(ne(s))?Zt(e,s):s,Rt=(e,t,s)=>(Q(Fe(N,t),(([n,o])=>{Ie(n,((t,s)=>{Ve(e,s)||(e[s]=t)})),Ie(o,(n=>{Ve(e,n)||Yt(t,s,n)}))})),e),Tt=e=>(t&&(Ie(j,((t,s)=>{Ve(e,s)||(e[s]=t)})),Ie(B,(t=>{Ve(e,t)||Zt(t)}))),e),vt=e=>Oe(x,e,((e,t,s)=>{const n=Je(),o=qe();Oe(Ne(x,t,Je),s,((e,t,s)=>{ze(e,t,s),Q(s[a],(e=>ze(n,t,e)),(()=>Ge(o,t)))})),ze(N,t,[n,o])}),((e,t)=>{ze(x,t),ze(N,t)})),pt=e=>Oe(P,e,((e,t,s)=>{ze(P,t,s),Q(s[a],(e=>ze(j,t,e)),(()=>Ge(B,t)))}),((e,t)=>{ze(P,t),ze(j,t),we(B,t)})),St=e=>ke(e)?ks():ys(e),yt=e=>Oe(Z,e,((e,t,s)=>Vt(t,s)),((e,t)=>At(t))),Vt=(e,t)=>Oe(Ne(Z,e,(()=>(Bt(e,1),ze(q,e,$e()),ze(Y,e,Je()),Je()))),t,((t,s,n)=>Mt(e,t,s,n)),((t,s)=>Pt(e,t,s))),Mt=(e,t,s,n,o)=>Oe(Ne(t,s,(()=>(Ut(e,s,1),Je()))),n,((t,n,o)=>mt(e,s,t,n,o)),((n,l)=>jt(e,t,s,n,l,o))),mt=(e,t,s,n,o)=>{ge(s,n)||qt(e,t,n,1);const l=Fe(s,n);o!==l&&(Gt(e,t,n,l,o),ze(s,n,o))},Et=(e,t,s,n,o)=>Q(Fe(t,s),(t=>mt(e,s,t,n,o)),(()=>Mt(e,t,s,Rt({[n]:o},e,s)))),kt=e=>ke(e)?Js():Vs(e),Dt=e=>Oe($,e,((e,t,s)=>Ht(t,s)),((e,t)=>_t(t))),Ht=(e,t)=>{ge($,e)||Kt(e,1);const s=Fe($,e);t!==s&&(Xt(e,s,t),ze($,e,t))},Jt=e=>Fe(Z,e)??Vt(e,{}),At=e=>Vt(e,{}),Pt=(e,t,s)=>{const[,n]=Fe(q,e);n(s),Mt(e,t,s,{},!0)},jt=(e,t,s,n,o,l)=>{const r=Fe(Fe(N,e)?.[0],o);if(!F(r)&&!l)return mt(e,s,n,o,r);const a=t=>{Gt(e,s,t,Fe(n,t)),qt(e,s,t,-1),ze(n,t)};F(r)?a(o):Qe(n,a),he(n)&&(Ut(e,s,-1),he(ze(t,s))&&(Bt(e,-1),ze(Z,e),ze(q,e),ze(Y,e)))},_t=e=>{const t=Fe(j,e);if(!F(t))return Ht(e,t);Xt(e,Fe($,e)),Kt(e,-1),ze($,e)},Bt=(e,t)=>Ot(g,e,t),Ut=(e,t,s)=>Ot(Ne(M,e,Je),t,s)&&ze(V,e,Ne(V,e,(()=>0))+s),qt=(e,t,s,n)=>{const o=Fe(Y,e),l=Fe(o,s)??0;(0==l&&1==n||1==l&&-1==n)&&Ot(Ne(C,e,Je),s,n),ze(o,s,l!=-n?l+n:null),Ot(Ne(Ne(m,e,Je),t,Je),s,n)},Gt=(e,t,s,n,o)=>{Ne(Ne(Ne(E,e,Je),t,Je),s,(()=>[n,0]))[1]=o,c[3]?.(e,t,s,o)},Kt=(e,t)=>Ot(k,e,t),Xt=(e,t,s)=>{Ne(D,e,(()=>[t,0]))[1]=s,c[4]?.(e,s)},Yt=(e,t,s,n,o)=>(ee(Ne(Ne(Ne(H,e,Je),t,Je),s,(()=>[])),n),o),Zt=(e,t,s)=>(ee(Ne(J,e,(()=>[])),t),s),$t=(e,t,s)=>Q(Fe(Fe(Fe(E,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...xt(fs(e,t,s))])),es=e=>Q(Fe(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...xt(ws(e))])),ts=e=>he(H)||he(Ke[e])?0:Ie(e?Be(H):H,((t,s)=>Ie(t,((t,n)=>Ie(t,((t,o)=>it(Ke[e],[s,n,o],t))))))),ss=e=>he(J)||he(Xe[e])?0:Ie(e?je(J):J,((t,s)=>it(Xe[e],[s],t))),ns=(e,t,s,n)=>{if(!he(e))return it(t,n,(()=>We(e))),Qe(e,((e,t)=>it(s,[...n??[],e],1==t))),1},os=e=>{const t=Ls();t!=s&&it(te[e],void 0,t);const n=he(ve[e]),o=he(me[e])&&he(De[e])&&he(Te[e])&&he(pe[e])&&he(Le[e])&&he(Ce[e])&&he(Re[e])&&n&&he(oe[e])&&he(ae[e]),l=he(Ue[e])&&he(ye[e])&&he(fe[e])&&he(se[e]);if(!o||!l){const t=e?[je(g),_e(C),je(V),_e(M),Be(m),Be(E)]:[g,C,V,M,m,E];if(!o){ns(t[0],oe[e],ae[e]),Ie(t[1],((t,s)=>ns(t,Le[e],Ce[e],[s]))),Ie(t[2],((t,s)=>{0!=t&&it(Re[e],[s],ds(s))}));const s=qe();Ie(t[3],((t,o)=>{ns(t,Te[e],pe[e],[o])&&!n&&(it(ve[e],[o,null]),Ge(s,o))})),n||Ie(t[5],((t,n)=>{if(!ge(s,n)){const s=qe();Ie(t,(e=>Ie(e,(([t,n],o)=>n!==t?Ge(s,o):we(e,o))))),Ie(s,(t=>it(ve[e],[n,t])))}})),Ie(t[4],((t,s)=>Ie(t,((t,n)=>ns(t,me[e],De[e],[s,n])))))}if(!l){let s;Ie(t[5],((t,n)=>{let o;Ie(t,((t,l)=>{let r;Ie(t,(([t,a],i)=>{a!==t&&(it(Ue[e],[n,l,i],a,t,$t),s=o=r=1)})),r&&it(ye[e],[n,l],$t)})),o&&it(fe[e],[n],$t)})),s&&it(se[e],void 0,$t)}}},ls=e=>{const t=ps();t!=n&&it(Ye[e],void 0,t);const s=he(tt[e])&&he(st[e]),o=he(nt[e])&&he(Ze[e]);if(!s||!o){const t=e?[je(k),je(D)]:[k,D];if(s||ns(t[0],tt[e],st[e]),!o){let s;Ie(t[1],(([t,n],o)=>{n!==t&&(it(nt[e],[o],n,t,es),s=1)})),s&&it(Ze[e],void 0,es)}}},rs=(e,...t)=>(Qs((()=>e(...X(t,y)))),Os),as=()=>Pe(Z),is=()=>xe(Z),cs=e=>xe(Fe(Y,y(e))),ds=e=>ie(Fe(Z,y(e))),us=e=>xe(Fe(Z,y(e))),gs=(e,t,s,n=0,o)=>{return X(A(G((l=Fe(Z,y(e)),r=(e,s)=>[F(t)?s:Fe(e,y(t)),s],X([...l?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>at(e,t)*(s?-1:1))),n,F(o)?o:n+o),(([,e])=>e));var l,r},hs=(e,t)=>xe(Fe(Fe(Z,y(e)),y(t))),fs=(e,t,s)=>Fe(Fe(Fe(Z,y(e)),y(t)),y(s)),bs=()=>We($),Is=()=>xe($),ws=e=>Fe($,y(e)),Ls=()=>!he(Z),Cs=e=>ge(Z,y(e)),Rs=(e,t)=>ge(Fe(Y,y(e)),y(t)),Ts=(e,t)=>ge(Fe(Z,y(e)),y(t)),vs=(e,t,s)=>ge(Fe(Fe(Z,y(e)),y(t)),y(s)),ps=()=>!he($),Ss=e=>ge($,y(e)),ys=e=>rs((()=>(e=>He(e,ht,Yt))(e)?yt(e):0)),Vs=e=>rs((()=>It(e)?Dt(e):0)),Ms=e=>{try{St(Lt(e))}catch{}return Os},ms=t=>rs((()=>{if((e=He(t,(e=>He(e,ut))))&&(vt(t),!he(Z))){const e=as();ks(),ys(e)}})),Es=e=>rs((()=>{if(t=(e=>He(e,ut))(e)){const s=bs();Fs(),Js(),t=!0,pt(e),Vs(s)}})),ks=()=>rs((()=>yt({}))),Ds=e=>rs((e=>ge(Z,e)?At(e):0),e),Hs=(e,t)=>rs(((e,t)=>Q(Fe(Z,e),(s=>ge(s,t)?Pt(e,s,t):0))),e,t),Js=()=>rs((()=>Dt({}))),xs=()=>rs((()=>{vt({}),e=!1})),Fs=()=>rs((()=>{pt({}),t=!1})),Qs=(e,t)=>{if(-1!=l){zs();const s=e();return Ns(t),s}},zs=()=>(-1!=l&&l++,1==l&&(c[0]?.(),it(ot)),Os),Ns=e=>(l>0&&(l--,0==l&&(l=1,ts(1),he(E)||os(1),ss(1),he(D)||ls(1),e?.(Os)&&(Ie(E,((e,t)=>Ie(e,((e,s)=>Ie(e,(([e],n)=>le(Os,t,s,n,e))))))),be(E),Ie(D,(([e],t)=>re(Os,t,e))),be(D)),it(lt[0],void 0),l=-1,ts(0),he(E)||os(0),ss(0),he(D)||ls(0),c[1]?.(),it(lt[1],void 0),c[2]?.(),l=0,s=Ls(),n=ps(),K([g,C,V,M,m,E,H,k,D,J],be))),Os),Os={getContent:()=>[as(),bs()],getTables:as,getTableIds:is,getTable:e=>Ae(Fe(Z,y(e))),getTableCellIds:cs,getRowCount:ds,getRowIds:us,getSortedRowIds:gs,getRow:(e,t)=>We(Fe(Fe(Z,y(e)),y(t))),getCellIds:hs,getCell:fs,getValues:bs,getValueIds:Is,getValue:ws,hasTables:Ls,hasTable:Cs,hasTableCell:Rs,hasRow:Ts,hasCell:vs,hasValues:ps,hasValue:Ss,getTablesJson:()=>Ct(Z),getValuesJson:()=>Ct($),getJson:()=>Ct([Z,$]),getTablesSchemaJson:()=>Ct(x),getValuesSchemaJson:()=>Ct(P),getSchemaJson:()=>Ct([x,P]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>rs((()=>{const t=O(e)?e():e;gt(t)&&(([e,t])=>{(ke(e)?ks:ys)(e),(ke(t)?Js:Vs)(t)})(t)})),setTables:ys,setTable:(e,t)=>rs((e=>ht(t,e)?Vt(e,t):0),e),setRow:(e,t,s)=>rs(((e,t)=>ft(e,t,s)?Mt(e,Jt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Qs((()=>{let n;return ft(e,n,t)&&(e=y(e),Mt(e,Jt(e),n=((e,t)=>{const[s]=Fe(q,e);let n;do{n=s(t)}while(ge(Fe(Z,e),n));return n})(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>rs(((e,t)=>{if(ft(e,t,s,1)){const n=Jt(e);Ee(s,((s,o)=>Et(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>rs(((e,t,s)=>Q(bt(e,t,s,O(n)?n(fs(e,t,s)):n),(n=>Et(e,Jt(e),t,s,n)))),e,t,s),setValues:Vs,setPartialValues:e=>rs((()=>It(e,1)?Ee(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>rs((e=>Q(wt(e,O(t)?t(ws(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>rs((()=>{Ee(e[0],((e,t)=>F(e)?Ds(t):Ee(e,((e,s)=>F(e)?Hs(t,s):Ee(e,((e,n)=>le(Os,t,s,n,e))))))),Ee(e[1],((e,t)=>re(Os,t,e)))})),setTablesJson:Ms,setValuesJson:e=>{try{kt(Lt(e))}catch{}return Os},setJson:e=>rs((()=>{try{const[t,s]=Lt(e);St(t),kt(s)}catch{Ms(e)}})),setTablesSchema:ms,setValuesSchema:Es,setSchema:(e,t)=>rs((()=>{ms(e),Es(t)})),delTables:ks,delTable:Ds,delRow:Hs,delCell:(e,t,s,n)=>rs(((e,t,s)=>Q(Fe(Z,e),(o=>Q(Fe(o,t),(l=>ge(l,s)?jt(e,o,t,l,s,n):0))))),e,t,s),delValues:Js,delValue:e=>rs((e=>ge($,e)?_t(e):0),e),delTablesSchema:xs,delValuesSchema:Fs,delSchema:()=>rs((()=>{xs(),Fs()})),transaction:Qs,startTransaction:zs,getTransactionChanges:()=>[We(E,((e,t)=>-1===Fe(g,t)?void 0:We(e,((e,s)=>-1===Fe(Fe(M,t),s)?void 0:We(e,(([,e])=>e),(e=>Nt(e)))),he,ke)),he,ke),We(D,(([,e])=>e),(e=>Nt(e))),1],getTransactionLog:()=>[!he(E),!he(D),Pe(E,zt,Nt),Pe(H),We(D,zt,Nt),We(J),We(g),Ae(M),Pe(m),We(k)],finishTransaction:Ns,forEachTable:e=>Ie(Z,((t,s)=>e(s,(e=>Ie(t,((t,s)=>e(s,(e=>Qe(t,e))))))))),forEachTableCell:(e,t)=>Qe(Fe(Y,y(e)),t),forEachRow:(e,t)=>Ie(Fe(Z,y(e)),((e,s)=>t(s,(t=>Qe(e,t))))),forEachCell:(e,t,s)=>Qe(Fe(Fe(Z,y(e)),y(t)),s),forEachValue:e=>Qe($,e),addSortedRowIdsListener:(e,t,s,n,o,l,r)=>{let a=gs(e,t,s,n,o);return rt((()=>{const r=gs(e,t,s,n,o);U(r,a)||(a=r,l(Os,e,t,s,n,o,a))}),ve[r?1:0],[e,t],[is])},addStartTransactionListener:e=>rt(e,ot),addWillFinishTransactionListener:e=>rt(e,lt[0]),addDidFinishTransactionListener:e=>rt(e,lt[1]),callListener:e=>(dt(e),Os),delListener:e=>(ct(e),Os),getListenerStats:()=>({hasTables:Ft(te),tables:Ft(se),tableIds:Ft(oe),hasTable:Ft(ae),table:Ft(fe),tableCellIds:Ft(Le),hasTableCell:Ft(Ce,de),rowCount:Ft(Re),rowIds:Ft(Te),sortedRowIds:Ft(ve),hasRow:Ft(pe,de),row:Ft(ye,de),cellIds:Ft(me,de),hasCell:Ft(De,ue),cell:Ft(Ue,ue),invalidCell:Ft(Ke,ue),hasValues:Ft(Ye),values:Ft(Ze),valueIds:Ft(tt),hasValue:Ft(st),value:Ft(nt),invalidValue:Ft(Xe),transaction:ce(ot)+Ft(lt)}),isMergeable:()=>!1,createStore:Wt,addListener:rt,callListeners:it,setInternalListeners:(e,t,s,n,o)=>c=[e,t,s,n,o]};return Ee({[u+f]:[0,te,[],()=>[Ls()]],[f]:[0,se],[b]:[0,oe],[u+h]:[1,ae,[is],e=>[Cs(...e)]],[h]:[1,fe,[is]],[h+T]:[1,Le,[is]],[u+h+R]:[2,Ce,[is,cs],e=>[Rs(...e)]],[w]:[1,Re,[is]],[L]:[1,Te,[is]],[u+I]:[2,pe,[is,us],e=>[Ts(...e)]],[I]:[2,ye,[is,us]],[T]:[2,me,[is,us]],[u+R]:[3,De,[is,us,hs],e=>[vs(...e)]],[R]:[3,Ue,[is,us,hs],e=>xt(fs(...e))],InvalidCell:[3,Ke],[u+p]:[0,Ye,[],()=>[ps()]],[p]:[0,Ze],[S]:[0,tt],[u+v]:[1,st,[Is],e=>[Ss(...e)]],[v]:[1,nt,[Is],e=>xt(ws(e[0]))],InvalidValue:[1,Xe]},(([e,t,s,n],o)=>{Os[d+o+i]=(...o)=>rt(o[e],t[o[e+1]?1:0],e>0?A(o,0,e):void 0,s,n)})),Se(Os)},At={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)=>[kt(e),kt(e)],jt=(e,s)=>{let n=1,o=Pt(),l=0;const r=Je(),a=qe(),[c,u]=((e,t=Date.now)=>{let s=0,n=-1;const o=Q(e,(e=>{const t=ut(e);return ot(t/ft)+ot(t/bt)+ot(t/It)+ot(t/64)+ot(t)}),(()=>it(5))),l=e=>{const o=s,[l,r]=F(e)||""==e?[0,0]:[lt(a=e,0)*gt+lt(a,1)*ht+lt(a,2)*ft+lt(a,3)*bt+lt(a,4)*It+64*lt(a,5)+lt(a,6),lt(a,7)*bt+lt(a,8)*It+64*lt(a,9)+lt(a,10)];var a;s=D(o,l,t()),n=s==o?s==l?D(n,r):n:s==l?r:-1};return[()=>{return l(),t=++n,ot((e=s)/gt)+ot(e/ht)+ot(e/ft)+ot(e/bt)+ot(e/It)+ot(e/64)+ot(e)+ot(t/bt)+ot(t/It)+ot(t/64)+ot(t)+o;var e,t},l]})(e,s),g=Wt(),h=e=>{const t=n;return n=0,e(),n=t,L},f=(e,s=0)=>{const n={},l={},[[r,a=t,i=0],c]=e,[d,g]=o,[h,f,I]=d;let w=s?i:I,L=a;me(r,(([e,o=t,l=0],r)=>{const a=Ne(h,r,kt),[i,c,d]=a;let u=s?l:d,g=o;me(e,((e,t)=>{const[o,l,a]=b(e,Ne(i,t,kt),De(De(n,r,ye),t,ye),s);u^=s?0:(l?yt(t,l):0)^yt(t,a),g=Mt(g,o)})),u^=s?0:Vt(c,o),mt(a,o,u),w^=s?0:(d?yt(r,d):0)^yt(r,a[2]),L=Mt(L,g)})),w^=s?0:Vt(f,a),mt(d,a,w);const[C]=b(c,g,l,s);return u(Mt(L,C)),[n,l,1]},b=(e,s,n,o)=>{const[l,r=t,a=0]=e,[i,c,d]=s;let u=r,g=o?a:d;return me(l,(([e,s=t,l=0],r)=>{const a=Ne(i,r,(()=>[void 0,t,0])),[,c,d]=a;(!c||s>c)&&(mt(a,s,o?l:ut(Ct(e??null)+":"+s)),a[0]=e,n[r]=e,g^=o?0:yt(r,d)^yt(r,a[2]),u=Mt(u,s))})),g^=o?0:Vt(c,r),mt(s,r,g),[u,d,s[2]]},I=()=>[Dt(o[0],(e=>Dt(e,(e=>Dt(e))))),Dt(o[1])],w=e=>h((()=>g.applyChanges(f(e)))),L={getMergeableContent:I,getMergeableContentHashes:()=>[o[0][2],o[1][2]],getMergeableTableHashes:()=>We(o[0][0],St),getMergeableTableDiff:e=>{const t=Et(o[0][1]),s={};return Qe(o[0][0],((n,[o,l,r])=>Ve(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=Ht([o,l],(e=>Ht(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return me(e,((e,s)=>Q(Fe(o[0][0],s),(([n,,o])=>o!=e?Qe(n,((e,[,,n])=>De(t,s,ye)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=Et(o[0][1]),s={};return me(e,((e,n)=>Qe(Fe(o[0][0],n)?.[0],((o,[l,r,a])=>Ve(e,o)?a!==e[o]?De(s,n,ye)[o]=a:0:De(t[0],n,Et)[0][o]=Ht([l,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return me(e,((e,s)=>Q(Fe(o[0][0],s),(([n])=>me(e,((e,o)=>Q(Fe(n,o),(([n,,l])=>l!==e?Qe(n,((e,[,,n])=>De(De(t,s,ye),o,ye)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=o,n={};return me(e,((e,s)=>me(e,((e,o)=>Q(Fe(t,s),(([t,l])=>Q(Fe(t,o),(([t,r])=>Qe(t,((t,[a,i,c])=>c!==e[t]?De(De(n,s,(()=>Et(l)))[0],o,(()=>Et(r)))[0][t]=[a,i]:0)))))))))),vt(n,s)},getMergeableValueHashes:()=>We(o[1][0],St),getMergeableValueDiff:e=>{const[,[t,s]]=o,n=We(t,Rt,(([,,t],s)=>t==e?.[s]));return vt(n,s)},setMergeableContent:e=>h((()=>(e=>W(e)&&2==P(e)&&Jt(e[0],(e=>He(e,(e=>Jt(e,(e=>He(e,(e=>Jt(e,(e=>He(e,(e=>Jt(e,oe)),void 0,1)))),void 0,1)))),void 0,1)))&&Jt(e[1],(e=>He(e,(e=>Jt(e,oe)),void 0,1))))(e)?g.transaction((()=>{g.delTables().delValues(),o=Pt(),g.applyChanges(f(e,1))})):0)),setDefaultContent:e=>(g.transaction((()=>{l=1,g.setContent(e),l=0})),L),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,n],[l,i,c]]=o,d=e?pt:vt,u={};Ie(r,((e,s)=>Q(Fe(t,s),(([t,n,o])=>{const l={};Ie(e,((e,s)=>Q(Fe(t,s),(([t,n,o])=>{const r={};Ie(e,(e=>{Q(Fe(t,e),(([t,s,n])=>r[e]=d(t,s,n)))})),l[s]=d(r,n,o)})))),u[s]=d(l,n,o)}))));const g={};return Ie(a,(e=>Q(Fe(l,e),(([t,s,n])=>g[e]=d(t,s,n))))),[d(u,s,n),d(g,i,c),1]},applyMergeableChanges:w,merge:e=>{const t=I(),s=e.getMergeableContent();return e.applyMergeableChanges(t),w(s)}};return g.setInternalListeners((()=>{}),(()=>{}),(()=>{be(r),be(a)}),((e,s,o,a)=>{Ge(Ne(Ne(r,e,Je),s,qe),o),n&&f([[{[e]:[{[s]:[{[o]:[a,l?t:c()]}]}]}],[{}],1])}),((e,s)=>{Ge(a,e),n&&f([[{}],[{[e]:[s,l?t:c()]}],1])})),Ee(g,((e,t)=>L[t]=V(t,"set")||V(t,"del")||V(t,"apply")||M(t,"Transaction")||t=="call"+i?(...t)=>(e(...t),L):V(t,d)&&M(t,i)?(...s)=>{const n=At[A(t,3,-8)]??0,o=s[n];return s[n]=(e,...t)=>o(L,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),Se(L)},_t=Je([["avg",[(e,t)=>Y(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=>Y(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Bt=(e,t,s,n,o,l=!1)=>{if(he(s))return;const[r,a,i,c]=o;return l||=F(e),Ie(n,(([s,n])=>{l||(e=F(s)?a?.(e,n,t++):F(n)?i?.(e,s,t--):c?.(e,n,s,t),l||=F(e))})),l?r(fe(s),ie(s)):e},Ut=Ye((e=>{const s=Je(),[n,o,l]=et((()=>w)),[r,a,i,c,d,u,g,,h,f,b,I]=Ke(e,j,(e=>isNaN(e)||F(e)||!0===e||!1===e||e===t?void 0:1*e),n,o),w={setMetricDefinition:(e,t,n,l,r,a,i)=>{const c=O(n)?[n,r,a,i]:Fe(_t,n)??Fe(_t,"sum");return h(e,t,((t,n,l,r,a,i)=>{const d=u(e),h=ie(r);i||=F(d),t();let f=Bt(d,h,r,n,c,i);x(f)||(f=void 0),f!=d&&(g(e,f),o(s,[e],f,d))}),Xe(l,1)),w},delMetricDefinition:e=>(f(e),w),getStore:r,getMetricIds:a,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(l(e),w),destroy:I,getListenerStats:()=>({metric:ce(s)})};return Se(w)})),qt=Ye((e=>{const s=e.createStore,n=s(),o=s(),l=Je(),{addListener:r,callListeners:a,delListener:u}=o,[g,f,b,v,p,,,S,,y,V,M,m,E]=Ke(e,(()=>!0),j,r,a),k=(e,t,...s)=>K(s,(s=>Ge(Ne(Ne(l,t,Je),e,qe),s))),D=e=>{Q(Fe(l,e),(e=>{Qe(e,((e,t)=>Ie(t,(t=>e.delListener(t))))),be(e)})),K([o,n],(t=>t.delTable(e)))},H=(e,t,s)=>k(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),J={setQueryDefinition:(s,l,r)=>{S(s,l),D(s);const a=[],i=[[null,[l,null,null,[],Je()]]],c=[],d=[],u=[];r({select:(e,s)=>{const n=O(e)?[P(a)+t,e]:[F(s)?e:s,t=>t(e,s)];return ee(a,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=F(s)||O(t)?null:t,o=F(n)?t:s,l=[e,[e,n,O(o)?o:e=>e(o),[],Je()]];return ee(i,l),{as:e=>l[0]=e}},where:(e,t,s)=>ee(c,O(e)?e:F(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const l=[e,[e,O(t)?[t,s,n,o]:Fe(_t,t)??[(e,t)=>t]]];return ee(d,l),{as:e=>l[0]=e}},having:(e,t)=>ee(u,O(e)?e:s=>s(e)===t)});const g=Je(a);if(he(g))return J;const h=Je(i);Qe(h,((e,[,t])=>Q(Fe(h,t),(({3:t})=>F(e)?0:ee(t,e)))));const f=Je(d);let b=n;if(he(f)&&Z(u))b=o;else{H(s,b,o);const e=Je();Qe(f,((t,[s,n])=>Ge(Ne(e,s,qe),[t,n])));const t=qe();Qe(g,(s=>ge(e,s)?0:Ge(t,s)));const n=Je(),l=(t,n,l,r)=>Q(t,(([a,i,c,d])=>{Qe(n,((t,[s])=>{const n=Ne(a,t,Je),o=Fe(n,l),i=r?void 0:s;if(o!==i){const s=qe([[o,i]]),r=ie(n);ze(n,l,i),Ie(Fe(e,t),(([e,t])=>{const o=Bt(d[e],r,n,s,t);d[e]=F(ne(o))?null:o}))}})),he(i)||!B(u,(e=>e((e=>d[e]))))?o.delRow(s,c):F(c)?t[2]=o.addRow(s,d):o.setRow(s,c,d)}));k(b,s,b.addRowListener(s,null,((o,r,a,i)=>{const c=[],d=[],u=Je(),g=b.hasRow(s,a);let h=!g;Ie(t,(e=>{const[t,n,o]=i(s,a,e);ee(c,n),ee(d,o),h||=t})),Qe(e,(e=>{const[t,,n]=i(s,a,e);(h||t)&&ze(u,e,[n])})),h&&l(Ue(n,c,void 0,(([,e])=>(we(e,a),he(e)))),u,a,1),g&&l(Ue(n,d,(()=>{const e={};return Ie(t,(t=>e[t]=b.getCell(s,a,t))),[Je(),qe(),void 0,e]}),(([,e])=>{Ge(e,a)})),u,a)})))}H(s,e,b);const I=(t,n,o,r)=>{const a=t=>e.getCell(n,o,t);K(r,(n=>{const[o,,l,r,i]=Fe(h,n),c=l?.(a,t),[d,u]=Fe(i,t)??[];c!=d&&(F(u)||E(s,u),ze(i,t,F(c)?null:[c,...m(s,1,e.addRowListener(o,c,(()=>I(t,o,c,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...F(n)?[l,t,s]:s===l?[l,t,n]:[Fe(h,s)?.[0],Fe(Fe(h,s)?.[4],t)?.[0],n]);b.transaction((()=>B(c,(e=>e(n)))?Qe(g,((e,o)=>le(b,s,t,e,o(n,t)))):b.delRow(s,t)))})(t)},{3:w}=Fe(h,null);return b.transaction((()=>m(s,1,e.addRowListener(l,null,((t,n,o)=>{e.hasRow(l,o)?I(o,l,o,w):(b.delRow(s,o),Ie(h,(({4:e})=>Q(Fe(e,o),(([,t])=>{E(s,t),ze(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 Ee({[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)=>{K(e?["get","has","forEach"]:["get"],(e=>J[e+c+s]=(...t)=>o[e+s](...t))),J[d+c+s+i]=(...e)=>o[d+s+i](...A(e,0,t),((s,...n)=>e[t](J,...n)),!0)})),Se(J)})),Gt=Ye((e=>{const s=Je(),n=Je(),o=Je(),l=Je(),[r,a,i]=et((()=>v)),[c,d,u,g,h,f,,,b,I,w,L]=Ke(e,(()=>[Je(),Je(),Je(),Je()]),(e=>F(e)?void 0:e+t),r,a),C=(e,t,s)=>Q(f(e),(([n,,o])=>{if(!ge(o,t)){const l=qe();if(h(e)!=T(e))Ge(l,t);else{let e=t;for(;!F(e)&&!ge(l,e);)Ge(l,e),e=Fe(n,e)}if(s)return l;ze(o,t,l)}return Fe(o,t)})),R=(e,t)=>Q(f(e),(([,,e])=>ze(e,t))),T=e=>Fe(s,e),v={setRelationshipDefinition:(e,t,r,i)=>(ze(s,e,r),b(e,t,((t,s)=>{const r=qe(),i=qe(),c=qe(),[d,u]=f(e);Ie(s,(([t,s],n)=>{F(t)||(Ge(i,t),Q(Fe(u,t),(e=>{we(e,n),he(e)&&ze(u,t)}))),F(s)||(Ge(i,s),ge(u,s)||ze(u,s,qe()),Ge(Fe(u,s),n)),Ge(r,n),ze(d,n,s),Qe(Fe(l,e),(t=>{ge(C(e,t),n)&&Ge(c,t)}))})),t(),Ie(r,(t=>a(n,[e,t]))),Ie(i,(t=>a(o,[e,t]))),Ie(c,(t=>{R(e,t),a(l,[e,t])}))}),Xe(i)),v),delRelationshipDefinition:e=>(ze(s,e),I(e),v),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:T,getRemoteRowId:(e,t)=>Fe(f(e)?.[0],t),getLocalRowIds:(e,t)=>fe(Fe(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>F(f(e))?[t]:fe(C(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(C(e,t),r(s,l,[e,t])),delListener:e=>(R(...i(e)??[]),v),destroy:L,getListenerStats:()=>({remoteRowId:de(n),localRowIds:de(o),linkedRowIds:de(l)})};return Se(v)}));export{tt as createCheckpoints,ct as createIndexes,jt as createMergeableStore,Ut as createMetrics,qt as createQueries,Gt as createRelationships,Wt as createStore,at as defaultSorter,it as getUniqueId};
|
|
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};
|
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,V="Value",w=V+"s",p=V+d,I=e=>t+e,y=(e,t)=>e.startsWith(t),R=(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=t=>{const s=e(t);return F(s)||s==l&&J(t)?s:void 0},W=e=>E(e)||!E(P(e)),k=(e,t,s,a,l)=>E(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),N=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),j=(e,t)=>e.forEach(t),U=(e,t)=>e.map(t),q=(e,t,s)=>e.reduce(t,s),B=(e,...t)=>e.push(...t),G=e=>t=>q(_(t),((t,s)=>t+e(s)),0),K=e=>e?.size??0,Q=G(K),X=G(Q),Y=G(X),Z=(e,t)=>e?.has(t)??!1,$=e=>E(e)||0==K(e),_=e=>[...e?.values()??[]],ee=e=>e.clear(),te=(e,t)=>e?.forEach(t),se=(e,t)=>e?.delete(t),ae=new S.TextEncoder,le=e=>{let t=2166136261;return j(ae.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},ne=Object,re=e=>ne.getPrototypeOf(e),oe=ne.entries,ce=ne.isFrozen,ie=e=>!E(e)&&D(re(e),(e=>e==ne.prototype||E(re(e))),(()=>!0)),de=ne.keys,ue=ne.freeze,ge=(e=[])=>ne.fromEntries(e),he=(e,t)=>t in e,be=(e,t)=>(delete e[t],e),Ce=(e,t)=>j(oe(e),(([e,s])=>t(s,e))),fe=(e,t)=>ge(((e,t)=>U(oe(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),Te=e=>ie(e)&&0==(e=>A(de(e)))(e),ve=(e,t,s)=>(he(e,t)||(e[t]=s()),e[t]),Ve=(e,t,s,a=0)=>E(e)||!ie(e)||!a&&Te(e)||ce(e)?(s?.(),!1):(Ce(e,((s,a)=>{t(s,a)||be(e,a)})),!!a||!Te(e)),we=e=>new Map(e),pe=e=>[...e?.keys()??[]],Ie=(e,t)=>e?.get(t),ye=(e,t)=>te(e,((e,s)=>t(s,e))),Re=(e,t,s)=>E(s)?(se(e,t),e):e?.set(t,s),Me=(e,t,s,a)=>(Z(e,t)?a?.(Ie(e,t)):Re(e,t,s()),Ie(e,t)),Se=(e,t,s,a=Re)=>(fe(t,((t,a)=>s(e,a,t))),ye(e,(s=>he(t,s)?0:a(e,s))),e),me=(e,t,s,a)=>{const l={};return te(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},Le=(e,t,s)=>me(e,(e=>me(e,t,s)),$,Te),He=(e,t,s)=>me(e,(e=>Le(e,t,s)),$,Te),Je=(e,t)=>{const s=we();return te(e,((e,a)=>s.set(a,t?.(e)??e))),s},Ee=e=>Je(e,Je),De=e=>Je(e,Ee),Fe=(e,t,s,a,l=0)=>D((s?Me:Ie)(e,t[l],l>A(t)-2?s:we),(n=>{if(l>A(t)-2)return a?.(n)&&Re(e,t[l]),n;const r=Fe(n,t,s,a,l+1);return $(n)&&Re(e,t[l]),r})),Oe=M("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),xe=we(U(Oe,((e,t)=>[e,t]))),ze=e=>Oe[63&e],Ae=(e,t)=>Ie(xe,e[t])??0,Pe=S.crypto?e=>S.crypto.getRandomValues(e):e=>U(e,(()=>H(256*m.random()))),We=2**36,ke=2**30,Ne=2**24,je=2**18,Ue=4096,qe=JSON.stringify,Be=JSON.parse,Ge=e=>qe(e,((e,t)=>t instanceof Map?ne.fromEntries([...t]):t)),Ke=e=>new Set(x(e)||E(e)?e:[e]),Qe=(e,t)=>e?.add(t),Xe=([e,t])=>Ze(e,t),Ye=([e,t,s])=>[e,t,s],Ze=(e,t)=>t?[e,t]:[e],$e=(e,t,s)=>[e,t,s],_e=e=>e[2],et=(e,t)=>le(e+":"+t),tt=(e,t)=>t>e?(e?le(e):0)^le(t):0,st=(e,t)=>((e??"")>(t??"")?e:t)??"",at=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},lt=(e=t)=>Ze(ge(),e),nt=(e=t)=>[we(),e,0],rt=([e,t,s],a=Ye)=>[me(e,a),t,s],ot=([e,t],s=Xe)=>Ze(me(e,s),t),ct=(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},it=/^\d+$/,dt=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{it.test(t)&&A(e)<1e3&&B(e,t)}]},ut=e=>[e,e],gt=(e,t=Q)=>t(e[0])+t(e[1]),ht=()=>[we(),we()],bt=e=>[...e],Ct=([e,t])=>e===t,ft=(e,t,s)=>Re(e,t,Ie(e,t)==-s?void 0:s),Tt=()=>{let e,s,a=!1,n=!1,d=0,y=[];const R=we(),M=we(),S=we(),m=we(),L=we(),H=we(),J=we(),W=we(),q=we(),G=we(),_=we(),ae=we(),le=we(),ne=we(),re=Ke(),oe=we(),ce=we(),ie=we(),de=we(),ge=ht(),Ce=ht(),ve=ht(),Oe=ht(),xe=ht(),ze=ht(),Ae=ht(),Pe=ht(),We=ht(),ke=ht(),Ne=ht(),je=ht(),Ue=ht(),qe=ht(),Xe=ht(),Ye=ht(),Ze=ht(),$e=ht(),_e=ht(),et=ht(),tt=ht(),st=ht(),at=we(),lt=ht(),[nt,rt,ot,ct]=(()=>{let e;const[s,a]=dt(),l=we();return[(a,n,r,o=[],c=()=>[])=>{e??=zs;const i=s(1);return Re(l,i,[a,n,r,o,c]),Qe(Fe(n,r??[t],Ke),i),i},(s,a,...n)=>j(((e,s=[t])=>{const a=[],l=(e,t)=>t==A(s)?B(a,e):null===s[t]?te(e,(e=>l(e,t+1))):j([s[t],null],(s=>l(Ie(e,s),t+1)));return l(e,0),a})(s,a),(t=>te(t,(t=>Ie(l,t)[0](e,...a??[],...n))))),e=>D(Ie(l,e),(([,s,n])=>(Fe(s,n??[t],void 0,(t=>(se(t,e),$(t)?1:0))),Re(l,e),a(e),n))),t=>D(Ie(l,t),(([t,,s=[],a,l])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...l(r)):E(s[o])?j(a[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),it=e=>{if(!Ve(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=l||(P(e[o])!=t&&be(e,o),0))},vt=x,Vt=(t,s)=>(!e||Z(_,s)||Qt(s))&&Ve(t,((e,t)=>wt(s,t,e)),(()=>Qt(s))),wt=(e,t,s,a)=>Ve(a?s:Rt(s,e,t),((a,l)=>D(pt(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Qt(e,t))),pt=(t,s,a,l)=>e?D(Ie(Ie(_,t),a),(e=>P(l)!=e[r]?Qt(t,s,a,l,e[o]):l),(()=>Qt(t,s,a,l))):E(P(l))?Qt(t,s,a,l):l,It=(e,t)=>Ve(t?e:Mt(e),((t,s)=>D(yt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Xt())),yt=(e,t)=>s?D(Ie(le,e),(s=>P(t)!=s[r]?Xt(e,t,s[o]):t),(()=>Xt(e,t))):E(P(t))?Xt(e,t):t,Rt=(e,t,s)=>(D(Ie(ae,t),(([a,l])=>{te(a,((t,s)=>{he(e,s)||(e[s]=t)})),te(l,(a=>{he(e,a)||Qt(t,s,a)}))})),e),Mt=e=>(s&&(te(ne,((t,s)=>{he(e,s)||(e[s]=t)})),te(re,(t=>{he(e,t)||Xt(t)}))),e),St=e=>Se(_,e,((e,t,s)=>{const a=we(),l=Ke();Se(Me(_,t,we),s,((e,t,s)=>{Re(e,t,s),D(s[o],(e=>Re(a,t,e)),(()=>Qe(l,t)))})),Re(ae,t,[a,l])}),((e,t)=>{Re(_,t),Re(ae,t)})),mt=e=>Se(le,e,((e,t,s)=>{Re(le,t,s),D(s[o],(e=>Re(ne,t,e)),(()=>Qe(re,t)))}),((e,t)=>{Re(le,t),Re(ne,t),se(re,t)})),Lt=e=>Te(e)?ms():Is(e),Ht=e=>Se(ie,e,((e,t,s)=>Jt(t,s)),((e,t)=>Pt(t))),Jt=(e,t)=>Se(Me(ie,e,(()=>(jt(e,1),Re(oe,e,dt()),Re(ce,e,we()),we()))),t,((t,s,a)=>Et(e,t,s,a)),((t,s)=>Wt(e,t,s))),Et=(e,t,s,a,l)=>Se(Me(t,s,(()=>(Ut(e,s,1),we()))),a,((t,a,l)=>Dt(e,s,t,a,l)),((a,n)=>kt(e,t,s,a,n,l))),Dt=(e,t,s,a,l)=>{Z(s,a)||qt(e,t,a,1);const n=Ie(s,a);l!==n&&(Bt(e,t,a,n,l),Re(s,a,l))},Ft=(e,t,s,a,l)=>D(Ie(t,s),(t=>Dt(e,s,t,a,l)),(()=>Et(e,t,s,Rt({[a]:l},e,s)))),Ot=e=>Te(e)?Js():ys(e),xt=e=>Se(de,e,((e,t,s)=>zt(t,s)),((e,t)=>Nt(t))),zt=(e,t)=>{Z(de,e)||Gt(e,1);const s=Ie(de,e);t!==s&&(Kt(e,s,t),Re(de,e,t))},At=e=>Ie(ie,e)??Jt(e,{}),Pt=e=>Jt(e,{}),Wt=(e,t,s)=>{const[,a]=Ie(oe,e);a(s),Et(e,t,s,{},!0)},kt=(e,t,s,a,l,n)=>{const r=Ie(Ie(ae,e)?.[0],l);if(!E(r)&&!n)return Dt(e,s,a,l,r);const o=t=>{Bt(e,s,t,Ie(a,t)),qt(e,s,t,-1),Re(a,t)};E(r)?o(l):ye(a,o),$(a)&&(Ut(e,s,-1),$(Re(t,s))&&(jt(e,-1),Re(ie,e),Re(oe,e),Re(ce,e)))},Nt=e=>{const t=Ie(ne,e);if(!E(t))return zt(e,t);Kt(e,Ie(de,e)),Gt(e,-1),Re(de,e)},jt=(e,t)=>ft(R,e,t),Ut=(e,t,s)=>ft(Me(m,e,we),t,s)&&Re(S,e,Me(S,e,(()=>0))+s),qt=(e,t,s,a)=>{const l=Ie(ce,e),n=Ie(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&ft(Me(M,e,we),s,a),Re(l,s,n!=-a?n+a:null),ft(Me(Me(L,e,we),t,we),s,a)},Bt=(e,t,s,a,l)=>{Me(Me(Me(H,e,we),t,we),s,(()=>[a,0]))[1]=l,y[3]?.(e,t,s,l)},Gt=(e,t)=>ft(J,e,t),Kt=(e,t,s)=>{Me(W,e,(()=>[t,0]))[1]=s,y[4]?.(e,s)},Qt=(e,t,s,a,l)=>(B(Me(Me(Me(q,e,we),t,we),s,(()=>[])),a),l),Xt=(e,t,s)=>(B(Me(G,e,(()=>[])),t),s),Yt=(e,t,s)=>D(Ie(Ie(Ie(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ut(us(e,t,s))])),Zt=e=>D(Ie(W,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ut(bs(e))])),$t=e=>$(q)||$(Ye[e])?0:te(e?De(q):q,((t,s)=>te(t,((t,a)=>te(t,((t,l)=>rt(Ye[e],[s,a,l],t))))))),_t=e=>$(G)||$(Ze[e])?0:te(e?Je(G):G,((t,s)=>rt(Ze[e],[s],t))),es=(e,t,s,a)=>{if(!$(e))return rt(t,a,(()=>me(e))),ye(e,((e,t)=>rt(s,[...a??[],e],1==t))),1},ts=e=>{const t=Cs();t!=a&&rt(ge[e],void 0,t);const s=$(ke[e]),l=$(Ue[e])&&$(qe[e])&&$(We[e])&&$(Ne[e])&&$(ze[e])&&$(Ae[e])&&$(Pe[e])&&s&&$(ve[e])&&$(Oe[e]),n=$(Xe[e])&&$(je[e])&&$(xe[e])&&$(Ce[e]);if(!l||!n){const t=e?[Je(R),Ee(M),Je(S),Ee(m),De(L),De(H)]:[R,M,S,m,L,H];if(!l){es(t[0],ve[e],Oe[e]),te(t[1],((t,s)=>es(t,ze[e],Ae[e],[s]))),te(t[2],((t,s)=>{0!=t&&rt(Pe[e],[s],os(s))}));const a=Ke();te(t[3],((t,l)=>{es(t,We[e],Ne[e],[l])&&!s&&(rt(ke[e],[l,null]),Qe(a,l))})),s||te(t[5],((t,s)=>{if(!Z(a,s)){const a=Ke();te(t,(e=>te(e,(([t,s],l)=>s!==t?Qe(a,l):se(e,l))))),te(a,(t=>rt(ke[e],[s,t])))}})),te(t[4],((t,s)=>te(t,((t,a)=>es(t,Ue[e],qe[e],[s,a])))))}if(!n){let s;te(t[5],((t,a)=>{let l;te(t,((t,n)=>{let r;te(t,(([t,o],c)=>{o!==t&&(rt(Xe[e],[a,n,c],o,t,Yt),s=l=r=1)})),r&&rt(je[e],[a,n],Yt)})),l&&rt(xe[e],[a],Yt)})),s&&rt(Ce[e],void 0,Yt)}}},ss=e=>{const t=ws();t!=n&&rt($e[e],void 0,t);const s=$(et[e])&&$(tt[e]),a=$(st[e])&&$(_e[e]);if(!s||!a){const t=e?[Je(J),Je(W)]:[J,W];if(s||es(t[0],et[e],tt[e]),!a){let s;te(t[1],(([t,a],l)=>{a!==t&&(rt(st[e],[l],a,t,Zt),s=1)})),s&&rt(_e[e],void 0,Zt)}}},as=(e,...t)=>(Fs((()=>e(...U(t,I)))),zs),ls=()=>He(ie),ns=()=>pe(ie),rs=e=>pe(Ie(ce,I(e))),os=e=>K(Ie(ie,I(e))),cs=e=>pe(Ie(ie,I(e))),is=(e,t,s,a=0,l)=>{return U(z((r=Ie(ie,I(e)),o=(e,s)=>[E(t)?s:Ie(e,I(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),U([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),a,E(l)?l:a+l),(([,e])=>e));var n,r,o},ds=(e,t)=>pe(Ie(Ie(ie,I(e)),I(t))),us=(e,t,s)=>Ie(Ie(Ie(ie,I(e)),I(t)),I(s)),gs=()=>me(de),hs=()=>pe(de),bs=e=>Ie(de,I(e)),Cs=()=>!$(ie),fs=e=>Z(ie,I(e)),Ts=(e,t)=>Z(Ie(ce,I(e)),I(t)),vs=(e,t)=>Z(Ie(ie,I(e)),I(t)),Vs=(e,t,s)=>Z(Ie(Ie(ie,I(e)),I(t)),I(s)),ws=()=>!$(de),ps=e=>Z(de,I(e)),Is=e=>as((()=>(e=>Ve(e,Vt,Qt))(e)?Ht(e):0)),ys=e=>as((()=>It(e)?xt(e):0)),Rs=e=>{try{Lt(Be(e))}catch{}return zs},Ms=t=>as((()=>{if((e=Ve(t,(e=>Ve(e,it))))&&(St(t),!$(ie))){const e=ls();ms(),Is(e)}})),Ss=e=>as((()=>{if(s=(e=>Ve(e,it))(e)){const t=gs();Ds(),Js(),s=!0,mt(e),ys(t)}})),ms=()=>as((()=>Ht({}))),Ls=e=>as((e=>Z(ie,e)?Pt(e):0),e),Hs=(e,t)=>as(((e,t)=>D(Ie(ie,e),(s=>Z(s,t)?Wt(e,s,t):0))),e,t),Js=()=>as((()=>xt({}))),Es=()=>as((()=>{St({}),e=!1})),Ds=()=>as((()=>{mt({}),s=!1})),Fs=(e,t)=>{if(-1!=d){Os();const s=e();return xs(t),s}},Os=()=>(-1!=d&&d++,1==d&&(y[0]?.(),rt(at)),zs),xs=e=>(d>0&&(d--,0==d&&(d=1,$t(1),$(H)||ts(1),_t(1),$(W)||ss(1),e?.(zs)&&(te(H,((e,t)=>te(e,((e,s)=>te(e,(([e],a)=>k(zs,t,s,a,e))))))),ee(H),te(W,(([e],t)=>N(zs,t,e))),ee(W)),rt(lt[0],void 0),d=-1,$t(0),$(H)||ts(0),_t(0),$(W)||ss(0),y[1]?.(),rt(lt[1],void 0),y[2]?.(),d=0,a=Cs(),n=ws(),j([R,M,S,m,L,H,q,J,W,G],ee))),zs),zs={getContent:()=>[ls(),gs()],getTables:ls,getTableIds:ns,getTable:e=>Le(Ie(ie,I(e))),getTableCellIds:rs,getRowCount:os,getRowIds:cs,getSortedRowIds:is,getRow:(e,t)=>me(Ie(Ie(ie,I(e)),I(t))),getCellIds:ds,getCell:us,getValues:gs,getValueIds:hs,getValue:bs,hasTables:Cs,hasTable:fs,hasTableCell:Ts,hasRow:vs,hasCell:Vs,hasValues:ws,hasValue:ps,getTablesJson:()=>Ge(ie),getValuesJson:()=>Ge(de),getJson:()=>Ge([ie,de]),getTablesSchemaJson:()=>Ge(_),getValuesSchemaJson:()=>Ge(le),getSchemaJson:()=>Ge([_,le]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>as((()=>{const t=O(e)?e():e;vt(t)&&(([e,t])=>{(Te(e)?ms:Is)(e),(Te(t)?Js:ys)(t)})(t)})),setTables:Is,setTable:(e,t)=>as((e=>Vt(t,e)?Jt(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>wt(e,t,s)?Et(e,At(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Fs((()=>{let a;return wt(e,a,t)&&(e=I(e),Et(e,At(e),a=((e,t)=>{const[s]=Ie(oe,e);let a;do{a=s(t)}while(Z(Ie(ie,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(wt(e,t,s,1)){const a=At(e);fe(s,((s,l)=>Ft(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>as(((e,t,s)=>D(pt(e,t,s,O(a)?a(us(e,t,s)):a),(a=>Ft(e,At(e),t,s,a)))),e,t,s),setValues:ys,setPartialValues:e=>as((()=>It(e,1)?fe(e,((e,t)=>zt(t,e))):0)),setValue:(e,t)=>as((e=>D(yt(e,O(t)?t(bs(e)):t),(t=>zt(e,t)))),e),applyChanges:e=>as((()=>{fe(e[0],((e,t)=>E(e)?Ls(t):fe(e,((e,s)=>E(e)?Hs(t,s):fe(e,((e,a)=>k(zs,t,s,a,e))))))),fe(e[1],((e,t)=>N(zs,t,e)))})),setTablesJson:Rs,setValuesJson:e=>{try{Ot(Be(e))}catch{}return zs},setJson:e=>as((()=>{try{const[t,s]=Be(e);Lt(t),Ot(s)}catch{Rs(e)}})),setTablesSchema:Ms,setValuesSchema:Ss,setSchema:(e,t)=>as((()=>{Ms(e),Ss(t)})),delTables:ms,delTable:Ls,delRow:Hs,delCell:(e,t,s,a)=>as(((e,t,s)=>D(Ie(ie,e),(l=>D(Ie(l,t),(n=>Z(n,s)?kt(e,l,t,n,s,a):0))))),e,t,s),delValues:Js,delValue:e=>as((e=>Z(de,e)?Nt(e):0),e),delTablesSchema:Es,delValuesSchema:Ds,delSchema:()=>as((()=>{Es(),Ds()})),transaction:Fs,startTransaction:Os,getTransactionChanges:()=>[me(H,((e,t)=>-1===Ie(R,t)?void 0:me(e,((e,s)=>-1===Ie(Ie(m,t),s)?void 0:me(e,(([,e])=>e),(e=>Ct(e)))),$,Te)),$,Te),me(W,(([,e])=>e),(e=>Ct(e))),1],getTransactionLog:()=>[!$(H),!$(W),He(H,bt,Ct),He(q),me(W,bt,Ct),me(G),me(R),Le(m),He(L),me(J)],finishTransaction:xs,forEachTable:e=>te(ie,((t,s)=>e(s,(e=>te(t,((t,s)=>e(s,(e=>ye(t,e))))))))),forEachTableCell:(e,t)=>ye(Ie(ce,I(e)),t),forEachRow:(e,t)=>te(Ie(ie,I(e)),((e,s)=>t(s,(t=>ye(e,t))))),forEachCell:(e,t,s)=>ye(Ie(Ie(ie,I(e)),I(t)),s),forEachValue:e=>ye(de,e),addSortedRowIdsListener:(e,t,s,a,l,n,r)=>{let o=is(e,t,s,a,l);return nt((()=>{const r=is(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(zs,e,t,s,a,l,o))}),ke[r?1:0],[e,t],[ns])},addStartTransactionListener:e=>nt(e,at),addWillFinishTransactionListener:e=>nt(e,lt[0]),addDidFinishTransactionListener:e=>nt(e,lt[1]),callListener:e=>(ct(e),zs),delListener:e=>(ot(e),zs),getListenerStats:()=>({hasTables:gt(ge),tables:gt(Ce),tableIds:gt(ve),hasTable:gt(Oe),table:gt(xe),tableCellIds:gt(ze),hasTableCell:gt(Ae,X),rowCount:gt(Pe),rowIds:gt(We),sortedRowIds:gt(ke),hasRow:gt(Ne,X),row:gt(je,X),cellIds:gt(Ue,X),hasCell:gt(qe,Y),cell:gt(Xe,Y),invalidCell:gt(Ye,Y),hasValues:gt($e),values:gt(_e),valueIds:gt(et),hasValue:gt(tt),value:gt(st),invalidValue:gt(Ze),transaction:Q(at)+gt(lt)}),isMergeable:()=>!1,createStore:Tt,addListener:nt,callListeners:rt,setInternalListeners:(e,t,s,a,l)=>y=[e,t,s,a,l]};return fe({[i+g]:[0,ge,[],()=>[Cs()]],[g]:[0,Ce],[h]:[0,ve],[i+u]:[1,Oe,[ns],e=>[fs(...e)]],[u]:[1,xe,[ns]],[u+v]:[1,ze,[ns]],[i+u+T]:[2,Ae,[ns,rs],e=>[Ts(...e)]],[C]:[1,Pe,[ns]],[f]:[1,We,[ns]],[i+b]:[2,Ne,[ns,cs],e=>[vs(...e)]],[b]:[2,je,[ns,cs]],[v]:[2,Ue,[ns,cs]],[i+T]:[3,qe,[ns,cs,ds],e=>[Vs(...e)]],[T]:[3,Xe,[ns,cs,ds],e=>ut(us(...e))],InvalidCell:[3,Ye],[i+w]:[0,$e,[],()=>[ws()]],[w]:[0,_e],[p]:[0,et],[i+V]:[1,tt,[hs],e=>[ps(...e)]],[V]:[1,st,[hs],e=>ut(bs(e[0]))],InvalidValue:[1,Ze]},(([e,t,s,a],l)=>{zs["add"+l+c]=(...l)=>nt(l[e],t[l[e+1]?1:0],e>0?z(l,0,e):void 0,s,a)})),ue(zs)},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},Vt=(e=t)=>[nt(e),nt(e)],wt=(e,s)=>{let a=1,l=Vt(),n=0;const r=we(),o=Ke(),[i,d]=((e,t=Date.now)=>{let s=0,a=-1;const l=D(e,(e=>{const t=le(e);return ze(t/Ne)+ze(t/je)+ze(t/Ue)+ze(t/64)+ze(t)}),(()=>((e=16)=>q(Pe(new Uint8Array(e)),((e,t)=>e+ze(t)),""))(5))),n=e=>{const l=s,[n,r]=E(e)||""==e?[0,0]:[Ae(o=e,0)*We+Ae(o,1)*ke+Ae(o,2)*Ne+Ae(o,3)*je+Ae(o,4)*Ue+64*Ae(o,5)+Ae(o,6),Ae(o,7)*je+Ae(o,8)*Ue+64*Ae(o,9)+Ae(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,ze((e=s)/We)+ze(e/ke)+ze(e/Ne)+ze(e/je)+ze(e/Ue)+ze(e/64)+ze(e)+ze(t/je)+ze(t/Ue)+ze(t/64)+ze(t)+l;var e,t},n]})(e,s),u=Tt(),g=e=>{const t=a;return a=0,e(),a=t,T},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;Ce(r,(([e,l=t,n=0],r)=>{const o=Me(h,r,nt),[c,i,d]=o;let u=s?n:d,g=l;Ce(e,((e,t)=>{const[l,n,o]=b(e,Me(c,t,nt),ve(ve(a,r,ge),t,ge),s);u^=s?0:(n?et(t,n):0)^et(t,o),g=st(g,l)})),u^=s?0:tt(i,l),at(o,l,u),T^=s?0:(d?et(r,d):0)^et(r,o[2]),v=st(v,g)})),T^=s?0:tt(C,o),at(u,o,T);const[V]=b(i,g,n,s);return d(st(v,V)),[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 Ce(n,(([e,s=t,n=0],r)=>{const o=Me(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(at(o,s,l?n:le(Ge(e??null)+":"+s)),o[0]=e,a[r]=e,g^=l?0:et(r,d)^et(r,o[2]),u=st(u,s))})),g^=l?0:tt(i,r),at(s,r,g),[u,d,s[2]]},C=()=>[rt(l[0],(e=>rt(e,(e=>rt(e))))),rt(l[1])],f=e=>g((()=>u.applyChanges(h(e)))),T={getMergeableContent:C,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>me(l[0][0],_e),getMergeableTableDiff:e=>{const t=lt(l[0][1]),s={};return ye(l[0][0],((a,[l,n,r])=>he(e,a)?r!=e[a]?s[a]=r:0:t[0][a]=ot([l,n],(e=>ot(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Ce(e,((e,s)=>D(Ie(l[0][0],s),(([a,,l])=>l!=e?ye(a,((e,[,,a])=>ve(t,s,ge)[e]=a)):0)))),t},getMergeableRowDiff:e=>{const t=lt(l[0][1]),s={};return Ce(e,((e,a)=>ye(Ie(l[0][0],a)?.[0],((l,[n,r,o])=>he(e,l)?o!==e[l]?ve(s,a,ge)[l]=o:0:ve(t[0],a,lt)[0][l]=ot([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Ce(e,((e,s)=>D(Ie(l[0][0],s),(([a])=>Ce(e,((e,l)=>D(Ie(a,l),(([a,,n])=>n!==e?ye(a,((e,[,,a])=>ve(ve(t,s,ge),l,ge)[e]=a)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=l,a={};return Ce(e,((e,s)=>Ce(e,((e,l)=>D(Ie(t,s),(([t,n])=>D(Ie(t,l),(([t,r])=>ye(t,((t,[o,c,i])=>i!==e[t]?ve(ve(a,s,(()=>lt(n)))[0],l,(()=>lt(r)))[0][t]=[o,c]:0)))))))))),Ze(a,s)},getMergeableValueHashes:()=>me(l[1][0],_e),getMergeableValueDiff:e=>{const[,[t,s]]=l,a=me(t,Xe,(([,,t],s)=>t==e?.[s]));return Ze(a,s)},setMergeableContent:e=>g((()=>(e=>x(e)&&2==A(e)&&ct(e[0],(e=>Ve(e,(e=>ct(e,(e=>Ve(e,(e=>ct(e,(e=>Ve(e,(e=>ct(e,W)),void 0,1)))),void 0,1)))),void 0,1)))&&ct(e[1],(e=>Ve(e,(e=>ct(e,W)),void 0,1))))(e)?u.transaction((()=>{u.delTables().delValues(),l=Vt(),u.applyChanges(h(e,1))})):0)),setDefaultContent:e=>(u.transaction((()=>{n=1,u.setContent(e),n=0})),T),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,a],[n,c,i]]=l,d=e?$e:Ze,u={};te(r,((e,s)=>D(Ie(t,s),(([t,a,l])=>{const n={};te(e,((e,s)=>D(Ie(t,s),(([t,a,l])=>{const r={};te(e,(e=>{D(Ie(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 te(o,(e=>D(Ie(n,e),(([t,s,a])=>g[e]=d(t,s,a))))),[d(u,s,a),d(g,c,i),1]},applyMergeableChanges:f,merge:e=>{const t=C(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return u.setInternalListeners((()=>{}),(()=>{}),(()=>{ee(r),ee(o)}),((e,s,l,o)=>{Qe(Me(Me(r,e,we),s,Ke),l),a&&h([[{[e]:[{[s]:[{[l]:[o,n?t:i()]}]}]}],[{}],1])}),((e,s)=>{Qe(o,e),a&&h([[{}],[{[e]:[s,n?t:i()]}],1])})),fe(u,((e,t)=>T[t]=y(t,"set")||y(t,"del")||y(t,"apply")||R(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),T):y(t,"add")&&R(t,c)?(...s)=>{const a=vt[z(t,3,-8)]??0,l=s[a];return s[a]=(e,...t)=>l(T,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),ue(T)};export{wt as createMergeableStore};
|
|
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};
|
|
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,V="Value",w=V+"s",p=V+d,I=e=>t+e,y=(e,t)=>e.startsWith(t),R=(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=t=>{const s=e(t);return F(s)||s==l&&J(t)?s:void 0},W=e=>E(e)||!E(P(e)),k=(e,t,s,a,l)=>E(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),N=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),j=(e,t)=>e.forEach(t),U=(e,t)=>e.map(t),q=(e,t,s)=>e.reduce(t,s),B=(e,...t)=>e.push(...t),G=e=>t=>q(_(t),((t,s)=>t+e(s)),0),K=e=>e?.size??0,Q=G(K),X=G(Q),Y=G(X),Z=(e,t)=>e?.has(t)??!1,$=e=>E(e)||0==K(e),_=e=>[...e?.values()??[]],ee=e=>e.clear(),te=(e,t)=>e?.forEach(t),se=(e,t)=>e?.delete(t),ae=new S.TextEncoder,le=e=>{let t=2166136261;return j(ae.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},ne=Object,re=e=>ne.getPrototypeOf(e),oe=ne.entries,ce=ne.isFrozen,ie=e=>!E(e)&&D(re(e),(e=>e==ne.prototype||E(re(e))),(()=>!0)),de=ne.keys,ue=ne.freeze,ge=(e=[])=>ne.fromEntries(e),he=(e,t)=>t in e,be=(e,t)=>(delete e[t],e),Ce=(e,t)=>j(oe(e),(([e,s])=>t(s,e))),fe=(e,t)=>ge(((e,t)=>U(oe(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),Te=e=>ie(e)&&0==(e=>A(de(e)))(e),ve=(e,t,s)=>(he(e,t)||(e[t]=s()),e[t]),Ve=(e,t,s,a=0)=>E(e)||!ie(e)||!a&&Te(e)||ce(e)?(s?.(),!1):(Ce(e,((s,a)=>{t(s,a)||be(e,a)})),!!a||!Te(e)),we=e=>new Map(e),pe=e=>[...e?.keys()??[]],Ie=(e,t)=>e?.get(t),ye=(e,t)=>te(e,((e,s)=>t(s,e))),Re=(e,t,s)=>E(s)?(se(e,t),e):e?.set(t,s),Me=(e,t,s,a)=>(Z(e,t)?a?.(Ie(e,t)):Re(e,t,s()),Ie(e,t)),Se=(e,t,s,a=Re)=>(fe(t,((t,a)=>s(e,a,t))),ye(e,(s=>he(t,s)?0:a(e,s))),e),me=(e,t,s,a)=>{const l={};return te(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},Le=(e,t,s)=>me(e,(e=>me(e,t,s)),$,Te),He=(e,t,s)=>me(e,(e=>Le(e,t,s)),$,Te),Je=(e,t)=>{const s=we();return te(e,((e,a)=>s.set(a,t?.(e)??e))),s},Ee=e=>Je(e,Je),De=e=>Je(e,Ee),Fe=(e,t,s,a,l=0)=>D((s?Me:Ie)(e,t[l],l>A(t)-2?s:we),(n=>{if(l>A(t)-2)return a?.(n)&&Re(e,t[l]),n;const r=Fe(n,t,s,a,l+1);return $(n)&&Re(e,t[l]),r})),Oe=M("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),xe=we(U(Oe,((e,t)=>[e,t]))),ze=e=>Oe[63&e],Ae=(e,t)=>Ie(xe,e[t])??0,Pe=S.crypto?e=>S.crypto.getRandomValues(e):e=>U(e,(()=>H(256*m.random()))),We=2**36,ke=2**30,Ne=2**24,je=2**18,Ue=4096,qe=JSON.stringify,Be=JSON.parse,Ge=e=>qe(e,((e,t)=>t instanceof Map?ne.fromEntries([...t]):t)),Ke=e=>new Set(x(e)||E(e)?e:[e]),Qe=(e,t)=>e?.add(t),Xe=([e,t])=>Ze(e,t),Ye=([e,t,s])=>[e,t,s],Ze=(e,t)=>t?[e,t]:[e],$e=(e,t,s)=>[e,t,s],_e=e=>e[2],et=(e,t)=>le(e+":"+t),tt=(e,t)=>t>e?(e?le(e):0)^le(t):0,st=(e,t)=>((e??"")>(t??"")?e:t)??"",at=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},lt=(e=t)=>Ze(ge(),e),nt=(e=t)=>[we(),e,0],rt=([e,t,s],a=Ye)=>[me(e,a),t,s],ot=([e,t],s=Xe)=>Ze(me(e,s),t),ct=(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},it=/^\d+$/,dt=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{it.test(t)&&A(e)<1e3&&B(e,t)}]},ut=e=>[e,e],gt=(e,t=Q)=>t(e[0])+t(e[1]),ht=()=>[we(),we()],bt=e=>[...e],Ct=([e,t])=>e===t,ft=(e,t,s)=>Re(e,t,Ie(e,t)==-s?void 0:s),Tt=()=>{let e,s,a=!1,n=!1,d=0,y=[];const R=we(),M=we(),S=we(),m=we(),L=we(),H=we(),J=we(),W=we(),q=we(),G=we(),_=we(),ae=we(),le=we(),ne=we(),re=Ke(),oe=we(),ce=we(),ie=we(),de=we(),ge=ht(),Ce=ht(),ve=ht(),Oe=ht(),xe=ht(),ze=ht(),Ae=ht(),Pe=ht(),We=ht(),ke=ht(),Ne=ht(),je=ht(),Ue=ht(),qe=ht(),Xe=ht(),Ye=ht(),Ze=ht(),$e=ht(),_e=ht(),et=ht(),tt=ht(),st=ht(),at=we(),lt=ht(),[nt,rt,ot,ct]=(()=>{let e;const[s,a]=dt(),l=we();return[(a,n,r,o=[],c=()=>[])=>{e??=zs;const i=s(1);return Re(l,i,[a,n,r,o,c]),Qe(Fe(n,r??[t],Ke),i),i},(s,a,...n)=>j(((e,s=[t])=>{const a=[],l=(e,t)=>t==A(s)?B(a,e):null===s[t]?te(e,(e=>l(e,t+1))):j([s[t],null],(s=>l(Ie(e,s),t+1)));return l(e,0),a})(s,a),(t=>te(t,(t=>Ie(l,t)[0](e,...a??[],...n))))),e=>D(Ie(l,e),(([,s,n])=>(Fe(s,n??[t],void 0,(t=>(se(t,e),$(t)?1:0))),Re(l,e),a(e),n))),t=>D(Ie(l,t),(([t,,s=[],a,l])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...l(r)):E(s[o])?j(a[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),it=e=>{if(!Ve(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=l||(P(e[o])!=t&&be(e,o),0))},vt=x,Vt=(t,s)=>(!e||Z(_,s)||Qt(s))&&Ve(t,((e,t)=>wt(s,t,e)),(()=>Qt(s))),wt=(e,t,s,a)=>Ve(a?s:Rt(s,e,t),((a,l)=>D(pt(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Qt(e,t))),pt=(t,s,a,l)=>e?D(Ie(Ie(_,t),a),(e=>P(l)!=e[r]?Qt(t,s,a,l,e[o]):l),(()=>Qt(t,s,a,l))):E(P(l))?Qt(t,s,a,l):l,It=(e,t)=>Ve(t?e:Mt(e),((t,s)=>D(yt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Xt())),yt=(e,t)=>s?D(Ie(le,e),(s=>P(t)!=s[r]?Xt(e,t,s[o]):t),(()=>Xt(e,t))):E(P(t))?Xt(e,t):t,Rt=(e,t,s)=>(D(Ie(ae,t),(([a,l])=>{te(a,((t,s)=>{he(e,s)||(e[s]=t)})),te(l,(a=>{he(e,a)||Qt(t,s,a)}))})),e),Mt=e=>(s&&(te(ne,((t,s)=>{he(e,s)||(e[s]=t)})),te(re,(t=>{he(e,t)||Xt(t)}))),e),St=e=>Se(_,e,((e,t,s)=>{const a=we(),l=Ke();Se(Me(_,t,we),s,((e,t,s)=>{Re(e,t,s),D(s[o],(e=>Re(a,t,e)),(()=>Qe(l,t)))})),Re(ae,t,[a,l])}),((e,t)=>{Re(_,t),Re(ae,t)})),mt=e=>Se(le,e,((e,t,s)=>{Re(le,t,s),D(s[o],(e=>Re(ne,t,e)),(()=>Qe(re,t)))}),((e,t)=>{Re(le,t),Re(ne,t),se(re,t)})),Lt=e=>Te(e)?ms():Is(e),Ht=e=>Se(ie,e,((e,t,s)=>Jt(t,s)),((e,t)=>Pt(t))),Jt=(e,t)=>Se(Me(ie,e,(()=>(jt(e,1),Re(oe,e,dt()),Re(ce,e,we()),we()))),t,((t,s,a)=>Et(e,t,s,a)),((t,s)=>Wt(e,t,s))),Et=(e,t,s,a,l)=>Se(Me(t,s,(()=>(Ut(e,s,1),we()))),a,((t,a,l)=>Dt(e,s,t,a,l)),((a,n)=>kt(e,t,s,a,n,l))),Dt=(e,t,s,a,l)=>{Z(s,a)||qt(e,t,a,1);const n=Ie(s,a);l!==n&&(Bt(e,t,a,n,l),Re(s,a,l))},Ft=(e,t,s,a,l)=>D(Ie(t,s),(t=>Dt(e,s,t,a,l)),(()=>Et(e,t,s,Rt({[a]:l},e,s)))),Ot=e=>Te(e)?Js():ys(e),xt=e=>Se(de,e,((e,t,s)=>zt(t,s)),((e,t)=>Nt(t))),zt=(e,t)=>{Z(de,e)||Gt(e,1);const s=Ie(de,e);t!==s&&(Kt(e,s,t),Re(de,e,t))},At=e=>Ie(ie,e)??Jt(e,{}),Pt=e=>Jt(e,{}),Wt=(e,t,s)=>{const[,a]=Ie(oe,e);a(s),Et(e,t,s,{},!0)},kt=(e,t,s,a,l,n)=>{const r=Ie(Ie(ae,e)?.[0],l);if(!E(r)&&!n)return Dt(e,s,a,l,r);const o=t=>{Bt(e,s,t,Ie(a,t)),qt(e,s,t,-1),Re(a,t)};E(r)?o(l):ye(a,o),$(a)&&(Ut(e,s,-1),$(Re(t,s))&&(jt(e,-1),Re(ie,e),Re(oe,e),Re(ce,e)))},Nt=e=>{const t=Ie(ne,e);if(!E(t))return zt(e,t);Kt(e,Ie(de,e)),Gt(e,-1),Re(de,e)},jt=(e,t)=>ft(R,e,t),Ut=(e,t,s)=>ft(Me(m,e,we),t,s)&&Re(S,e,Me(S,e,(()=>0))+s),qt=(e,t,s,a)=>{const l=Ie(ce,e),n=Ie(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&ft(Me(M,e,we),s,a),Re(l,s,n!=-a?n+a:null),ft(Me(Me(L,e,we),t,we),s,a)},Bt=(e,t,s,a,l)=>{Me(Me(Me(H,e,we),t,we),s,(()=>[a,0]))[1]=l,y[3]?.(e,t,s,l)},Gt=(e,t)=>ft(J,e,t),Kt=(e,t,s)=>{Me(W,e,(()=>[t,0]))[1]=s,y[4]?.(e,s)},Qt=(e,t,s,a,l)=>(B(Me(Me(Me(q,e,we),t,we),s,(()=>[])),a),l),Xt=(e,t,s)=>(B(Me(G,e,(()=>[])),t),s),Yt=(e,t,s)=>D(Ie(Ie(Ie(H,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ut(us(e,t,s))])),Zt=e=>D(Ie(W,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ut(bs(e))])),$t=e=>$(q)||$(Ye[e])?0:te(e?De(q):q,((t,s)=>te(t,((t,a)=>te(t,((t,l)=>rt(Ye[e],[s,a,l],t))))))),_t=e=>$(G)||$(Ze[e])?0:te(e?Je(G):G,((t,s)=>rt(Ze[e],[s],t))),es=(e,t,s,a)=>{if(!$(e))return rt(t,a,(()=>me(e))),ye(e,((e,t)=>rt(s,[...a??[],e],1==t))),1},ts=e=>{const t=Cs();t!=a&&rt(ge[e],void 0,t);const s=$(ke[e]),l=$(Ue[e])&&$(qe[e])&&$(We[e])&&$(Ne[e])&&$(ze[e])&&$(Ae[e])&&$(Pe[e])&&s&&$(ve[e])&&$(Oe[e]),n=$(Xe[e])&&$(je[e])&&$(xe[e])&&$(Ce[e]);if(!l||!n){const t=e?[Je(R),Ee(M),Je(S),Ee(m),De(L),De(H)]:[R,M,S,m,L,H];if(!l){es(t[0],ve[e],Oe[e]),te(t[1],((t,s)=>es(t,ze[e],Ae[e],[s]))),te(t[2],((t,s)=>{0!=t&&rt(Pe[e],[s],os(s))}));const a=Ke();te(t[3],((t,l)=>{es(t,We[e],Ne[e],[l])&&!s&&(rt(ke[e],[l,null]),Qe(a,l))})),s||te(t[5],((t,s)=>{if(!Z(a,s)){const a=Ke();te(t,(e=>te(e,(([t,s],l)=>s!==t?Qe(a,l):se(e,l))))),te(a,(t=>rt(ke[e],[s,t])))}})),te(t[4],((t,s)=>te(t,((t,a)=>es(t,Ue[e],qe[e],[s,a])))))}if(!n){let s;te(t[5],((t,a)=>{let l;te(t,((t,n)=>{let r;te(t,(([t,o],c)=>{o!==t&&(rt(Xe[e],[a,n,c],o,t,Yt),s=l=r=1)})),r&&rt(je[e],[a,n],Yt)})),l&&rt(xe[e],[a],Yt)})),s&&rt(Ce[e],void 0,Yt)}}},ss=e=>{const t=ws();t!=n&&rt($e[e],void 0,t);const s=$(et[e])&&$(tt[e]),a=$(st[e])&&$(_e[e]);if(!s||!a){const t=e?[Je(J),Je(W)]:[J,W];if(s||es(t[0],et[e],tt[e]),!a){let s;te(t[1],(([t,a],l)=>{a!==t&&(rt(st[e],[l],a,t,Zt),s=1)})),s&&rt(_e[e],void 0,Zt)}}},as=(e,...t)=>(Fs((()=>e(...U(t,I)))),zs),ls=()=>He(ie),ns=()=>pe(ie),rs=e=>pe(Ie(ce,I(e))),os=e=>K(Ie(ie,I(e))),cs=e=>pe(Ie(ie,I(e))),is=(e,t,s,a=0,l)=>{return U(z((r=Ie(ie,I(e)),o=(e,s)=>[E(t)?s:Ie(e,I(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),U([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(n)),a,E(l)?l:a+l),(([,e])=>e));var n,r,o},ds=(e,t)=>pe(Ie(Ie(ie,I(e)),I(t))),us=(e,t,s)=>Ie(Ie(Ie(ie,I(e)),I(t)),I(s)),gs=()=>me(de),hs=()=>pe(de),bs=e=>Ie(de,I(e)),Cs=()=>!$(ie),fs=e=>Z(ie,I(e)),Ts=(e,t)=>Z(Ie(ce,I(e)),I(t)),vs=(e,t)=>Z(Ie(ie,I(e)),I(t)),Vs=(e,t,s)=>Z(Ie(Ie(ie,I(e)),I(t)),I(s)),ws=()=>!$(de),ps=e=>Z(de,I(e)),Is=e=>as((()=>(e=>Ve(e,Vt,Qt))(e)?Ht(e):0)),ys=e=>as((()=>It(e)?xt(e):0)),Rs=e=>{try{Lt(Be(e))}catch{}return zs},Ms=t=>as((()=>{if((e=Ve(t,(e=>Ve(e,it))))&&(St(t),!$(ie))){const e=ls();ms(),Is(e)}})),Ss=e=>as((()=>{if(s=(e=>Ve(e,it))(e)){const t=gs();Ds(),Js(),s=!0,mt(e),ys(t)}})),ms=()=>as((()=>Ht({}))),Ls=e=>as((e=>Z(ie,e)?Pt(e):0),e),Hs=(e,t)=>as(((e,t)=>D(Ie(ie,e),(s=>Z(s,t)?Wt(e,s,t):0))),e,t),Js=()=>as((()=>xt({}))),Es=()=>as((()=>{St({}),e=!1})),Ds=()=>as((()=>{mt({}),s=!1})),Fs=(e,t)=>{if(-1!=d){Os();const s=e();return xs(t),s}},Os=()=>(-1!=d&&d++,1==d&&(y[0]?.(),rt(at)),zs),xs=e=>(d>0&&(d--,0==d&&(d=1,$t(1),$(H)||ts(1),_t(1),$(W)||ss(1),e?.(zs)&&(te(H,((e,t)=>te(e,((e,s)=>te(e,(([e],a)=>k(zs,t,s,a,e))))))),ee(H),te(W,(([e],t)=>N(zs,t,e))),ee(W)),rt(lt[0],void 0),d=-1,$t(0),$(H)||ts(0),_t(0),$(W)||ss(0),y[1]?.(),rt(lt[1],void 0),y[2]?.(),d=0,a=Cs(),n=ws(),j([R,M,S,m,L,H,q,J,W,G],ee))),zs),zs={getContent:()=>[ls(),gs()],getTables:ls,getTableIds:ns,getTable:e=>Le(Ie(ie,I(e))),getTableCellIds:rs,getRowCount:os,getRowIds:cs,getSortedRowIds:is,getRow:(e,t)=>me(Ie(Ie(ie,I(e)),I(t))),getCellIds:ds,getCell:us,getValues:gs,getValueIds:hs,getValue:bs,hasTables:Cs,hasTable:fs,hasTableCell:Ts,hasRow:vs,hasCell:Vs,hasValues:ws,hasValue:ps,getTablesJson:()=>Ge(ie),getValuesJson:()=>Ge(de),getJson:()=>Ge([ie,de]),getTablesSchemaJson:()=>Ge(_),getValuesSchemaJson:()=>Ge(le),getSchemaJson:()=>Ge([_,le]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>as((()=>{const t=O(e)?e():e;vt(t)&&(([e,t])=>{(Te(e)?ms:Is)(e),(Te(t)?Js:ys)(t)})(t)})),setTables:Is,setTable:(e,t)=>as((e=>Vt(t,e)?Jt(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>wt(e,t,s)?Et(e,At(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Fs((()=>{let a;return wt(e,a,t)&&(e=I(e),Et(e,At(e),a=((e,t)=>{const[s]=Ie(oe,e);let a;do{a=s(t)}while(Z(Ie(ie,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(wt(e,t,s,1)){const a=At(e);fe(s,((s,l)=>Ft(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>as(((e,t,s)=>D(pt(e,t,s,O(a)?a(us(e,t,s)):a),(a=>Ft(e,At(e),t,s,a)))),e,t,s),setValues:ys,setPartialValues:e=>as((()=>It(e,1)?fe(e,((e,t)=>zt(t,e))):0)),setValue:(e,t)=>as((e=>D(yt(e,O(t)?t(bs(e)):t),(t=>zt(e,t)))),e),applyChanges:e=>as((()=>{fe(e[0],((e,t)=>E(e)?Ls(t):fe(e,((e,s)=>E(e)?Hs(t,s):fe(e,((e,a)=>k(zs,t,s,a,e))))))),fe(e[1],((e,t)=>N(zs,t,e)))})),setTablesJson:Rs,setValuesJson:e=>{try{Ot(Be(e))}catch{}return zs},setJson:e=>as((()=>{try{const[t,s]=Be(e);Lt(t),Ot(s)}catch{Rs(e)}})),setTablesSchema:Ms,setValuesSchema:Ss,setSchema:(e,t)=>as((()=>{Ms(e),Ss(t)})),delTables:ms,delTable:Ls,delRow:Hs,delCell:(e,t,s,a)=>as(((e,t,s)=>D(Ie(ie,e),(l=>D(Ie(l,t),(n=>Z(n,s)?kt(e,l,t,n,s,a):0))))),e,t,s),delValues:Js,delValue:e=>as((e=>Z(de,e)?Nt(e):0),e),delTablesSchema:Es,delValuesSchema:Ds,delSchema:()=>as((()=>{Es(),Ds()})),transaction:Fs,startTransaction:Os,getTransactionChanges:()=>[me(H,((e,t)=>-1===Ie(R,t)?void 0:me(e,((e,s)=>-1===Ie(Ie(m,t),s)?void 0:me(e,(([,e])=>e),(e=>Ct(e)))),$,Te)),$,Te),me(W,(([,e])=>e),(e=>Ct(e))),1],getTransactionLog:()=>[!$(H),!$(W),He(H,bt,Ct),He(q),me(W,bt,Ct),me(G),me(R),Le(m),He(L),me(J)],finishTransaction:xs,forEachTable:e=>te(ie,((t,s)=>e(s,(e=>te(t,((t,s)=>e(s,(e=>ye(t,e))))))))),forEachTableCell:(e,t)=>ye(Ie(ce,I(e)),t),forEachRow:(e,t)=>te(Ie(ie,I(e)),((e,s)=>t(s,(t=>ye(e,t))))),forEachCell:(e,t,s)=>ye(Ie(Ie(ie,I(e)),I(t)),s),forEachValue:e=>ye(de,e),addSortedRowIdsListener:(e,t,s,a,l,n,r)=>{let o=is(e,t,s,a,l);return nt((()=>{const r=is(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(zs,e,t,s,a,l,o))}),ke[r?1:0],[e,t],[ns])},addStartTransactionListener:e=>nt(e,at),addWillFinishTransactionListener:e=>nt(e,lt[0]),addDidFinishTransactionListener:e=>nt(e,lt[1]),callListener:e=>(ct(e),zs),delListener:e=>(ot(e),zs),getListenerStats:()=>({hasTables:gt(ge),tables:gt(Ce),tableIds:gt(ve),hasTable:gt(Oe),table:gt(xe),tableCellIds:gt(ze),hasTableCell:gt(Ae,X),rowCount:gt(Pe),rowIds:gt(We),sortedRowIds:gt(ke),hasRow:gt(Ne,X),row:gt(je,X),cellIds:gt(Ue,X),hasCell:gt(qe,Y),cell:gt(Xe,Y),invalidCell:gt(Ye,Y),hasValues:gt($e),values:gt(_e),valueIds:gt(et),hasValue:gt(tt),value:gt(st),invalidValue:gt(Ze),transaction:Q(at)+gt(lt)}),isMergeable:()=>!1,createStore:Tt,addListener:nt,callListeners:rt,setInternalListeners:(e,t,s,a,l)=>y=[e,t,s,a,l]};return fe({[i+g]:[0,ge,[],()=>[Cs()]],[g]:[0,Ce],[h]:[0,ve],[i+u]:[1,Oe,[ns],e=>[fs(...e)]],[u]:[1,xe,[ns]],[u+v]:[1,ze,[ns]],[i+u+T]:[2,Ae,[ns,rs],e=>[Ts(...e)]],[C]:[1,Pe,[ns]],[f]:[1,We,[ns]],[i+b]:[2,Ne,[ns,cs],e=>[vs(...e)]],[b]:[2,je,[ns,cs]],[v]:[2,Ue,[ns,cs]],[i+T]:[3,qe,[ns,cs,ds],e=>[Vs(...e)]],[T]:[3,Xe,[ns,cs,ds],e=>ut(us(...e))],InvalidCell:[3,Ye],[i+w]:[0,$e,[],()=>[ws()]],[w]:[0,_e],[p]:[0,et],[i+V]:[1,tt,[hs],e=>[ps(...e)]],[V]:[1,st,[hs],e=>ut(bs(e[0]))],InvalidValue:[1,Ze]},(([e,t,s,a],l)=>{zs["add"+l+c]=(...l)=>nt(l[e],t[l[e+1]?1:0],e>0?z(l,0,e):void 0,s,a)})),ue(zs)},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},Vt=(e=t)=>[nt(e),nt(e)],wt=(e,s)=>{let a=1,l=Vt(),n=0;const r=we(),o=Ke(),[i,d]=((e,t=Date.now)=>{let s=0,a=-1;const l=D(e,(e=>{const t=le(e);return ze(t/Ne)+ze(t/je)+ze(t/Ue)+ze(t/64)+ze(t)}),(()=>((e=16)=>q(Pe(new Uint8Array(e)),((e,t)=>e+ze(t)),""))(5))),n=e=>{const l=s,[n,r]=E(e)||""==e?[0,0]:[Ae(o=e,0)*We+Ae(o,1)*ke+Ae(o,2)*Ne+Ae(o,3)*je+Ae(o,4)*Ue+64*Ae(o,5)+Ae(o,6),Ae(o,7)*je+Ae(o,8)*Ue+64*Ae(o,9)+Ae(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,ze((e=s)/We)+ze(e/ke)+ze(e/Ne)+ze(e/je)+ze(e/Ue)+ze(e/64)+ze(e)+ze(t/je)+ze(t/Ue)+ze(t/64)+ze(t)+l;var e,t},n]})(e,s),u=Tt(),g=e=>{const t=a;return a=0,e(),a=t,T},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;Ce(r,(([e,l=t,n=0],r)=>{const o=Me(h,r,nt),[c,i,d]=o;let u=s?n:d,g=l;Ce(e,((e,t)=>{const[l,n,o]=b(e,Me(c,t,nt),ve(ve(a,r,ge),t,ge),s);u^=s?0:(n?et(t,n):0)^et(t,o),g=st(g,l)})),u^=s?0:tt(i,l),at(o,l,u),T^=s?0:(d?et(r,d):0)^et(r,o[2]),v=st(v,g)})),T^=s?0:tt(C,o),at(u,o,T);const[V]=b(i,g,n,s);return d(st(v,V)),[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 Ce(n,(([e,s=t,n=0],r)=>{const o=Me(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(at(o,s,l?n:le(Ge(e??null)+":"+s)),o[0]=e,a[r]=e,g^=l?0:et(r,d)^et(r,o[2]),u=st(u,s))})),g^=l?0:tt(i,r),at(s,r,g),[u,d,s[2]]},C=()=>[rt(l[0],(e=>rt(e,(e=>rt(e))))),rt(l[1])],f=e=>g((()=>u.applyChanges(h(e)))),T={getMergeableContent:C,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>me(l[0][0],_e),getMergeableTableDiff:e=>{const t=lt(l[0][1]),s={};return ye(l[0][0],((a,[l,n,r])=>he(e,a)?r!=e[a]?s[a]=r:0:t[0][a]=ot([l,n],(e=>ot(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return Ce(e,((e,s)=>D(Ie(l[0][0],s),(([a,,l])=>l!=e?ye(a,((e,[,,a])=>ve(t,s,ge)[e]=a)):0)))),t},getMergeableRowDiff:e=>{const t=lt(l[0][1]),s={};return Ce(e,((e,a)=>ye(Ie(l[0][0],a)?.[0],((l,[n,r,o])=>he(e,l)?o!==e[l]?ve(s,a,ge)[l]=o:0:ve(t[0],a,lt)[0][l]=ot([n,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return Ce(e,((e,s)=>D(Ie(l[0][0],s),(([a])=>Ce(e,((e,l)=>D(Ie(a,l),(([a,,n])=>n!==e?ye(a,((e,[,,a])=>ve(ve(t,s,ge),l,ge)[e]=a)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=l,a={};return Ce(e,((e,s)=>Ce(e,((e,l)=>D(Ie(t,s),(([t,n])=>D(Ie(t,l),(([t,r])=>ye(t,((t,[o,c,i])=>i!==e[t]?ve(ve(a,s,(()=>lt(n)))[0],l,(()=>lt(r)))[0][t]=[o,c]:0)))))))))),Ze(a,s)},getMergeableValueHashes:()=>me(l[1][0],_e),getMergeableValueDiff:e=>{const[,[t,s]]=l,a=me(t,Xe,(([,,t],s)=>t==e?.[s]));return Ze(a,s)},setMergeableContent:e=>g((()=>(e=>x(e)&&2==A(e)&&ct(e[0],(e=>Ve(e,(e=>ct(e,(e=>Ve(e,(e=>ct(e,(e=>Ve(e,(e=>ct(e,W)),void 0,1)))),void 0,1)))),void 0,1)))&&ct(e[1],(e=>Ve(e,(e=>ct(e,W)),void 0,1))))(e)?u.transaction((()=>{u.delTables().delValues(),l=Vt(),u.applyChanges(h(e,1))})):0)),setDefaultContent:e=>(u.transaction((()=>{n=1,u.setContent(e),n=0})),T),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,a],[n,c,i]]=l,d=e?$e:Ze,u={};te(r,((e,s)=>D(Ie(t,s),(([t,a,l])=>{const n={};te(e,((e,s)=>D(Ie(t,s),(([t,a,l])=>{const r={};te(e,(e=>{D(Ie(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 te(o,(e=>D(Ie(n,e),(([t,s,a])=>g[e]=d(t,s,a))))),[d(u,s,a),d(g,c,i),1]},applyMergeableChanges:f,merge:e=>{const t=C(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return u.setInternalListeners((()=>{}),(()=>{}),(()=>{ee(r),ee(o)}),((e,s,l,o)=>{Qe(Me(Me(r,e,we),s,Ke),l),a&&h([[{[e]:[{[s]:[{[l]:[o,n?t:i()]}]}]}],[{}],1])}),((e,s)=>{Qe(o,e),a&&h([[{}],[{[e]:[s,n?t:i()]}],1])})),fe(u,((e,t)=>T[t]=y(t,"set")||y(t,"del")||y(t,"apply")||R(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),T):y(t,"add")&&R(t,c)?(...s)=>{const a=vt[z(t,3,-8)]??0,l=s[a];return s[a]=(e,...t)=>l(T,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),ue(T)};export{wt as createMergeableStore};
|
|
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};
|
|
Binary file
|
package/min/persisters/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=Promise,r=clearInterval,o=a=>null==a,c=(a,t,e)=>o(a)?e?.():t(a),l=t=>a(t)==s,E=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,d=async a=>i.all(a),u=a=>{throw Error(a)},R=(a,t)=>a.forEach(t),A=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),N=a=>0==y(a),g=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),$=a=>a.shift(),p=(a,t)=>a?.has(t)??!1,m=a=>o(a)||0==(a=>a?.size??0)(a),v=a=>[...a?.values()??[]],C=(a,t)=>a?.forEach(t),L=(a,t)=>a?.delete(t),I=Object,S=a=>I.getPrototypeOf(a),_=I.entries,h=I.keys,b=I.freeze,f=(a=[])=>I.fromEntries(a),D=(...a)=>I.assign({},...a),M=(a,t)=>(delete a[t],a),P=(a,t)=>T(_(a),(([a,e])=>t(e,a))),F=(a,t)=>f(P(a,((a,e)=>[e,t(a,e)]))),U=a=>I.values(a),G=a=>y(h(a)),B=a=>(a=>!o(a)&&c(S(a),(a=>a==I.prototype||o(S(a))),(()=>!0)))(a)&&0==G(a),j=a=>new Map(a),Y=(a,t)=>a?.get(t),x=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>o(e)?(L(a,t),a):a?.set(t,e),X=(a,t,e,n)=>(p(a,t)?n?.(Y(a,t)):H(a,t,e()),Y(a,t)),J=(a,t,e,n,s=0)=>c((e?X:Y)(a,t[s],s>y(t)-2?e:j),(i=>{if(s>y(t)-2)return n?.(i)&&H(a,t[s]),i;const r=J(i,t,e,n,s+1);return m(i)&&H(a,t[s]),r})),W=/^\d+$/,k=a=>new Set(E(a)||o(a)?a:[a]),q=(a,t)=>a?.add(t),z={Idle:0,Loading:1,Saving:2},K={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},V=j(),Q=j(),Z=(a,t,n,s,i,r,l,w={},d=0,A=[])=>{let T,N,g,p=0,v=0,I=0;X(V,A,(()=>0)),X(Q,A,(()=>[]));const S=j(),[_,h,f,D,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:u("Store type not supported by this Persister"))(l,a,d),[P,F,U]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?$(a):null)??e+t++,t=>{W.test(t)&&y(a)<1e3&&O(a,t)}]})(),s=j();return[(n,i,r,o=[],c=()=>[])=>{a??=ea;const l=t(1);return H(s,l,[n,i,r,o,c]),q(J(i,r??[e],k),l),l},(t,n,...i)=>R(((a,t=[e])=>{const n=[],s=(a,e)=>e==y(t)?O(n,a):null===t[e]?C(a,(a=>s(a,e+1))):R([t[e],null],(t=>s(Y(a,t),e+1)));return s(a,0),n})(t,n),(t=>C(t,(t=>Y(s,t)[0](a,...n??[],...i))))),a=>c(Y(s,a),(([,t,i])=>(J(t,i??[e],void 0,(t=>(L(t,a),m(t)?1:0))),H(s,a),n(a),i))),t=>c(Y(s,t),(([t,,e=[],n,s])=>{const i=(...r)=>{const c=y(r);c==y(e)?t(a,...r,...s(r)):o(e[c])?R(n[c]?.(...r)??[],(a=>i(...r,a))):i(...r,e[c])};i()}))]})(),G=a=>{a!=p&&(p=a,F(S,void 0,p))},x=t=>{(_&&E(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},z=async a=>(2!=p&&(G(1),v++,await ta((async()=>{try{const e=await t();E(e)?x(e):a?M(a):u("Content is not an array: "+e)}catch(t){r?.(t),a&&M(a)}G(0)}))),ea),K=()=>(N&&(i(N),N=void 0),ea),Z=async a=>(1!=p&&(G(2),I++,await ta((async()=>{try{await n(h,a)}catch(a){r?.(a)}G(0)}))),ea),aa=()=>(g&&(a.delListener(g),g=void 0),ea),ta=async(...a)=>(O(Y(Q,A),...a),await(async()=>{if(!Y(V,A)){for(H(V,A,1);!o(T=$(Y(Q,A)));)try{await T()}catch(a){r?.(a)}H(V,A,0)}})(),ea),ea={load:z,startAutoLoad:async a=>{K(),await z(a);try{N=await s((async(a,t)=>{t||a?2!=p&&(G(1),v++,x(t??a),G(0)):await z()}))}catch(a){r?.(a)}return ea},stopAutoLoad:K,isAutoLoading:()=>!o(N),save:Z,startAutoSave:async()=>(aa(),await Z(),g=a.addDidFinishTransactionListener((()=>{const a=f();D(a)&&Z(a)})),ea),stopAutoSave:aa,isAutoSaving:()=>!o(g),getStatus:()=>p,addStatusListener:a=>P(a,S),delListener:t=>(U(t),a),schedule:ta,getStore:()=>a,destroy:()=>(Y(Q,A).splice(0,void 0),K().stopAutoSave()),getStats:()=>({loads:v,saves:I}),...w};return b(ea)},aa=JSON.stringify,ta=JSON.parse,ea="_",na="_id",sa="SELECT",ia="WHERE",ra="TABLE",oa="ALTER "+ra,ca="DELETE FROM",la=sa+"*FROM",Ea="pragma_",wa="data_version",ya="schema_version",da="pragma_table_",ua=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,Ra=a=>`"${a.replace(/"/g,'""')}"`,Aa=(a,t=[1])=>A(T(a,(()=>"$"+t[0]++)),n),Ta="ColumnName",Na="store",ga="json",Oa=Na+"TableName",$a=Na+"Id"+Ta,pa=Na+Ta,ma="autoLoadIntervalSeconds",va="rowId"+Ta,Ca="tableId",La="tableName",Ia="deleteEmptyColumns",Sa="deleteEmptyTable",_a={mode:ga,[ma]:1},ha={load:0,save:0,[La]:t+"_values"},ba=(a,t,e,n,s)=>{const i=j();return F(a,((a,r)=>{const c=w(U(D(t,l(a)?{[e]:a}:a)),0,G(t));o(c[0])||n(r,c[0])||(s(r,c[0]),H(i,r,c))})),i},fa=a=>{const e=(a=>D(_a,l(a)?{[Oa]:a}:a??{}))(a),n=e[ma];if(e.mode==ga){const a=e[Oa]??t;return[1,n,[a,e[$a]??na,e[pa]??Na],k(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(U(D(ha,r)),0,G(ha)),c=o[2],E=k(c),y=k(c);return[0,n,[ba(s,{[Ca]:null,[va]:na},Ca,(a=>p(y,a)),(a=>q(E,a))),ba(i,{[La]:null,[va]:na,[Ia]:0,[Sa]:0},La,((a,t)=>p(y,t)),((a,t)=>q(E,t))),o],E]},Da=(a,t,e,s,i,r=Ma,c,l)=>{const E=j();return[async()=>{E.clear(),T(await e(a,t),(({tn:a,cn:t})=>q(X(E,a,k),t)))},async(t,e)=>((a,t)=>p(Y(E,a),t))(t,e)?f(g(T(await a(la+Ra(t)),(a=>[a[e],l?F(M(a,e),l):M(a,e)])),(([a,t])=>!o(a)&&!B(t)))):{},async(t,e,s,l,w,y=!1)=>{const u=k();F(s??{},(a=>T(h(a??{}),(a=>q(u,a)))));const R=v(u);if(!y&&w&&N(R)&&p(E,t))return await a("DROP "+ra+Ra(t)),void H(E,t);const $=Y(E,t),m=k(v($));if(N(R)||(p(E,t)?await d(T([e,...R],(async(n,s)=>{L(m,n)||(await a(oa+Ra(t)+"ADD"+Ra(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+Ra(t)+`(${Ra(e)})`),q($,n))}))):(await a("CREATE "+ra+Ra(t)+`(${Ra(e)}${i} PRIMARY KEY${A(T(R,(a=>n+Ra(a)+i)))});`),H(E,t,k([e,...R])))),await d([...!y&&l?T(v(m),(async n=>{n!=e&&(await a(oa+Ra(t)+"DROP"+Ra(n)),L($,n))})):[]]),y)o(s)?await a(ca+Ra(t)+ia+" true"):await d(P(s,(async(n,s)=>{o(n)?await a(ca+Ra(t)+ia+Ra(e)+"=$1",[s]):N(R)||await r(a,t,e,h(n),{[s]:c?T(U(n),c):U(n)},$)})));else if(N(R))p(E,t)&&await a(ca+Ra(t)+ia+" true");else{const n=g(v(Y(E,t)),(a=>a!=e)),i={},o=[];F(s??{},((a,t)=>{i[t]=T(n,(t=>c?c(a?.[t]):a?.[t])),O(o,t)})),await r(a,t,e,n,i),await a(ca+Ra(t)+ia+Ra(e)+`NOT IN(${Aa(o)})`,o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},Ma=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+Ra(t)+"("+((...a)=>A(T(a,Ra),n))(e,...s)+")VALUES"+A(P(i,(a=>"($"+r[0]+++","+Aa(a,r)+")")),n)+"ON CONFLICT("+Ra(e)+")DO UPDATE SET"+A(T(s,(a=>Ra(a)+"=excluded."+Ra(a))),n),P(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},Pa=(a,t,e,n,s,i,r,[o,c,l],E,w,y,d,u,R)=>{const[A,T,N,g]=Da(t,E,w,s,u,R),O=Z(a,(async()=>await g((async()=>{return await A(),a=(await T(o,c))[ea]?.[l]??"null",ta(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await A(),await N(o,c,{[ea]:{[l]:(t=a()??null,aa(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>y,destroy:()=>(O.stopAutoLoad().stopAutoSave(),i(),O)},0,y);return O},Fa=(a,t,e,n,s,i,r,[c,l,[E,w,y]],u,R,A,T,N,O,$,p)=>{const[m,v,C,L]=Da(t,u,R,s,N,O,$,p),I=async(a,t)=>await d(x(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await C(e,n,a[r],s,i,t)}))),S=async(a,t)=>w?await C(y,na,{[ea]:a},!0,!0,t):null,_=Z(a,(async()=>await L((async()=>{await m();const a=await(async()=>f(g(await d(x(c,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>E?(await v(y,na))[ea]:{})();return B(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await m(),o(t)){const[t,e]=a();await I(t),await S(e)}else await I(t[0],!0),await S(t[1],!0)}))),e,n,s,r,{[T]:()=>A,destroy:()=>(_.stopAutoLoad().stopAutoSave(),i(),_)},0,A);return _},Ua=t,Ga=/^([cd]:)(.+)/,Ba=t+"_data",ja=t+"_table",Ya=(a,t,e,n,s,i,r,o,l,E,w="getDb")=>{const y=ua(e,i),[u,,R,A]=fa(t),N=async a=>{await y(`CREATE OR REPLACE TRIGGER ${Ra(Ba+"_"+a)} AFTER INSERT OR UPDATE OR DELETE ON ${Ra(a)} EXECUTE FUNCTION ${Ba}()`)};return(u?Pa:Fa)(a,y,(async a=>{await y(`CREATE OR REPLACE FUNCTION ${ja}()RETURNS event_trigger AS $t2$ DECLARE row record; BEGIN FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()WHERE command_tag='CREATE TABLE' LOOP PERFORM pg_notify('${Ua}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`);try{await y(`CREATE EVENT TRIGGER ${ja} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${ja}();`)}catch{}return await y(`CREATE OR REPLACE FUNCTION ${Ba}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${Ua}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`),await d(T(v(A),(async a=>{await y(`CREATE TABLE IF NOT EXISTS ${Ra(a)}("_id"text PRIMARY KEY)`),await N(a)}))),await n(Ua,(async t=>{return await c((e=t,n=Ga,e?.match(n)),(async([,t,e])=>{p(A,e)&&("c:"==t&&await N(e),a())}));var e,n}))}),s,r,o,l,R,v(A),(async(a,t)=>await a(`${sa} table_name tn,column_name cn FROM information_schema.columns ${ia} table_schema='public'AND table_name IN(${Aa(t)})`,t)),E,w,"text",void 0,(a=>aa(a)),(a=>ta(a)))},xa=(a,t,n,s,i,o,c,l,E,w,y="getDb",d)=>{let u,R,A;const T=ua(n,o),[N,g,O,$]=fa(t);return(N?Pa:Fa)(a,T,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await T(`${sa} ${wa} d,${ya} s,TOTAL_CHANGES() c FROM ${Ea}${wa} JOIN ${Ea}${ya}`);t==u&&e==R&&n==A||(null!=u&&a(),u=t,R=e,A=n)}catch{}}),1e3*g),n=()=>{u=R=A=null,r(t)},o=s((t=>{$.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(o)}}),(a=>a()),c,l,E,O,v($),(async(a,t)=>await a(`${sa} t.name tn,c.name cn FROM ${da}list()t,${da}info(t.name)c ${ia} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Aa(t)})ORDER BY t.name,c.name`,t)),w,y,e,d,(a=>!0===a?1:!1===a?0:a),void 0)};export{K as Persists,z as Status,Z as createCustomPersister,Ya as createCustomPostgreSqlPersister,xa as createCustomSqlitePersister};
|
|
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};
|
|
Binary file
|