tinybase 6.4.2 → 6.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/omni/index.d.ts +1 -0
- package/@types/omni/with-schemas/index.d.ts +1 -0
- package/@types/persisters/index.d.ts +1 -0
- package/@types/persisters/persister-react-native-mmkv/index.d.ts +118 -0
- package/@types/persisters/persister-react-native-mmkv/with-schemas/index.d.ts +132 -0
- package/@types/persisters/with-schemas/index.d.ts +1 -0
- package/common/index.js +1 -1
- package/common/with-schemas/index.js +1 -1
- package/index.js +1 -1
- package/mergeable-store/index.js +1 -1
- package/mergeable-store/with-schemas/index.js +1 -1
- 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/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/index.js +1 -0
- package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -0
- package/min/persisters/persister-react-native-mmkv/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/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/omni/index.js +48 -4
- package/omni/with-schemas/index.js +48 -4
- package/package.json +44 -4
- package/persisters/persister-react-native-mmkv/index.js +459 -0
- package/persisters/persister-react-native-mmkv/with-schemas/index.js +459 -0
- package/readme.md +1 -1
- package/releases.md +16 -1
- package/synchronizers/index.js +1 -1
- package/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/synchronizers/synchronizer-local/index.js +1 -1
- package/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/synchronizers/with-schemas/index.js +1 -1
- package/with-schemas/index.js +1 -1
package/@types/omni/index.d.ts
CHANGED
|
@@ -35,6 +35,7 @@ export * from '../persisters/persister-partykit-server/index.d.ts';
|
|
|
35
35
|
export * from '../persisters/persister-pglite/index.d.ts';
|
|
36
36
|
export * from '../persisters/persister-postgres/index.d.ts';
|
|
37
37
|
export * from '../persisters/persister-powersync/index.d.ts';
|
|
38
|
+
export * from '../persisters/persister-react-native-mmkv/index.d.ts';
|
|
38
39
|
export * from '../persisters/persister-react-native-sqlite/index.d.ts';
|
|
39
40
|
export * from '../persisters/persister-remote/index.d.ts';
|
|
40
41
|
export * from '../persisters/persister-sqlite-bun/index.d.ts';
|
|
@@ -34,6 +34,7 @@ export * from '../../persisters/persister-partykit-server/with-schemas/index.d.t
|
|
|
34
34
|
export * from '../../persisters/persister-pglite/with-schemas/index.d.ts';
|
|
35
35
|
export * from '../../persisters/persister-postgres/with-schemas/index.d.ts';
|
|
36
36
|
export * from '../../persisters/persister-powersync/with-schemas/index.d.ts';
|
|
37
|
+
export * from '../../persisters/persister-react-native-mmkv/with-schemas/index.d.ts';
|
|
37
38
|
export * from '../../persisters/persister-react-native-sqlite/with-schemas/index.d.ts';
|
|
38
39
|
export * from '../../persisters/persister-remote/with-schemas/index.d.ts';
|
|
39
40
|
export * from '../../persisters/persister-sqlite-bun/with-schemas/index.d.ts';
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* |FilePersister|Local file (where possible)|Yes|Yes
|
|
17
17
|
* |IndexedDbPersister|Browser IndexedDB|Yes|No
|
|
18
18
|
* |RemotePersister|Remote server|Yes|No
|
|
19
|
+
* |ReactNativeMmkvPersister|MMKV in React Native, via [react-native-mmkv](https://github.com/mrousavy/react-native-mmkv)|Yes|Yes
|
|
19
20
|
* |DurableObjectStoragePersister|Cloudflare Durable Object (KV)|No|Yes
|
|
20
21
|
* |DurableObjectSqlStoragePersister|Cloudflare Durable Object (SQLite)|No|Yes
|
|
21
22
|
* |Sqlite3Persister|SQLite in Node, via [sqlite3](https://github.com/TryGhost/node-sqlite3)|Yes|Yes*
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The persister-react-native-mmkv module of the TinyBase project lets you save
|
|
3
|
+
* and load Store data to and from a MMKV storage using the
|
|
4
|
+
* [`react-native-mmkv`](https://github.com/mrousavy/react-native-mmkv) module
|
|
5
|
+
* (in an appropriate React Native environment).
|
|
6
|
+
* @see Database Persistence guide
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @module persister-react-native-mmkv
|
|
9
|
+
* @since v6.5.0
|
|
10
|
+
*/
|
|
11
|
+
import type {MMKV} from 'react-native-mmkv';
|
|
12
|
+
import type {MergeableStore} from '../../mergeable-store/index.d.ts';
|
|
13
|
+
import type {Store} from '../../store/index.d.ts';
|
|
14
|
+
import type {Persister, Persists} from '../index.d.ts';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The ReactNativeMmkvPersister interface represents a Persister that lets you
|
|
18
|
+
* save and load Store data to and from a `react-native-mmkv` storage.
|
|
19
|
+
*
|
|
20
|
+
* You should use the createReactNativeMmkvPersister function to create a
|
|
21
|
+
* ReactNativeMmkvPersister object.
|
|
22
|
+
*
|
|
23
|
+
* It is a minor extension to the Persister interface and simply provides an
|
|
24
|
+
* extra getStorageName method for accessing the unique key of the storage
|
|
25
|
+
* location the Store is being persisted to.
|
|
26
|
+
* @category Persister
|
|
27
|
+
* @since v6.5.0
|
|
28
|
+
*/
|
|
29
|
+
export interface ReactNativeMmkvPersister
|
|
30
|
+
extends Persister<Persists.StoreOrMergeableStore> {
|
|
31
|
+
/**
|
|
32
|
+
* The getStorageName method returns the unique key of the storage location the
|
|
33
|
+
* Store is being persisted to.
|
|
34
|
+
* @returns The unique key of the storage location.
|
|
35
|
+
* @example
|
|
36
|
+
* This example creates a Persister object against a newly-created Store and
|
|
37
|
+
* then gets the unique key of the storage location back out again.
|
|
38
|
+
*
|
|
39
|
+
* ```js yolo
|
|
40
|
+
* import {MMKV} from 'react-native-mmkv';
|
|
41
|
+
* import {createStore} from 'tinybase';
|
|
42
|
+
* import {createReactNativeMmkvPersister} from 'tinybase/persisters/persister-react-native-mmkv';
|
|
43
|
+
*
|
|
44
|
+
* const storage = new MMKV();
|
|
45
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
46
|
+
* const persister = createReactNativeMmkvPersister(
|
|
47
|
+
* store,
|
|
48
|
+
* storage,
|
|
49
|
+
* 'my_tinybase',
|
|
50
|
+
* );
|
|
51
|
+
* console.log(persister.getStorageName() == 'my_tinybase');
|
|
52
|
+
* // -> true
|
|
53
|
+
*
|
|
54
|
+
* await persister.destroy();
|
|
55
|
+
* ```
|
|
56
|
+
* @category Getter
|
|
57
|
+
* @since v6.5.0
|
|
58
|
+
*/
|
|
59
|
+
getStorageName(): string;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* The createReactNativeMmkvPersister function creates a
|
|
64
|
+
* ReactNativeMmkvPersister object that can persist the Store to a local
|
|
65
|
+
* `react-native-mmkv` storage.
|
|
66
|
+
*
|
|
67
|
+
* A ReactNativeMmkvPersister supports both regular Store and MergeableStore
|
|
68
|
+
* objects.
|
|
69
|
+
*
|
|
70
|
+
* As well as providing a reference to the Store to persist, you must provide a
|
|
71
|
+
* `storage` parameter which identifies the MMKV storage instance.
|
|
72
|
+
*
|
|
73
|
+
* The third argument is a `storageName` string that configures which key to use
|
|
74
|
+
* for the storage key.
|
|
75
|
+
* @param store The Store or MergeableStore to persist.
|
|
76
|
+
* @param storage The MMKV storage instance.
|
|
77
|
+
* @param storageName The unique key to identify the storage location.
|
|
78
|
+
* @param onIgnoredError An optional handler for the errors that the Persister
|
|
79
|
+
* would otherwise ignore when trying to save or load data. This is suitable for
|
|
80
|
+
* debugging persistence issues in a development environment.
|
|
81
|
+
* @returns A reference to the new ReactNativeMmkvPersister object.
|
|
82
|
+
* @example
|
|
83
|
+
* This example creates a ReactNativeMmkvPersister object and persists the
|
|
84
|
+
* Store to a MMKV storage instance as a JSON serialization into the
|
|
85
|
+
* `my_tinybase` key. It makes a change to the storage directly and then
|
|
86
|
+
* reloads it back into the Store.
|
|
87
|
+
*
|
|
88
|
+
* ```js yolo
|
|
89
|
+
* import {MMKV} from 'react-native-mmkv';
|
|
90
|
+
* import {createStore} from 'tinybase';
|
|
91
|
+
* import {createReactNativeMmkvPersister} from 'tinybase/persisters/persister-react-native-mmkv';
|
|
92
|
+
*
|
|
93
|
+
* const storage = new MMKV();
|
|
94
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
95
|
+
* const persister = createReactNativeMmkvPersister(
|
|
96
|
+
* store,
|
|
97
|
+
* storage,
|
|
98
|
+
* 'my_tinybase',
|
|
99
|
+
* );
|
|
100
|
+
*
|
|
101
|
+
* await persister.save();
|
|
102
|
+
* // Store will be saved to the MMKV storage.
|
|
103
|
+
*
|
|
104
|
+
* console.log(storage.getString('my_tinybase'));
|
|
105
|
+
* // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
|
|
106
|
+
*
|
|
107
|
+
* await persister.destroy();
|
|
108
|
+
* storage.delete('my_tinybase');
|
|
109
|
+
* ```
|
|
110
|
+
* @category Creation
|
|
111
|
+
* @since v6.5.0
|
|
112
|
+
*/
|
|
113
|
+
export function createReactNativeMmkvPersister(
|
|
114
|
+
store: Store | MergeableStore,
|
|
115
|
+
storage: MMKV,
|
|
116
|
+
storageName?: string,
|
|
117
|
+
onIgnoredError?: (error: any) => void,
|
|
118
|
+
): ReactNativeMmkvPersister;
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The persister-react-native-mmkv module of the TinyBase project lets you save
|
|
3
|
+
* and load Store data to and from a MMKV storage using the
|
|
4
|
+
* [`react-native-mmkv`](https://github.com/mrousavy/react-native-mmkv) module
|
|
5
|
+
* (in an appropriate React Native environment).
|
|
6
|
+
* @see Database Persistence guide
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @module persister-react-native-mmkv
|
|
9
|
+
* @since v6.5.0
|
|
10
|
+
*/
|
|
11
|
+
import type {MMKV} from 'react-native-mmkv';
|
|
12
|
+
import type {MergeableStore} from '../../../mergeable-store/with-schemas/index.d.ts';
|
|
13
|
+
import type {
|
|
14
|
+
OptionalSchemas,
|
|
15
|
+
Store,
|
|
16
|
+
} from '../../../store/with-schemas/index.d.ts';
|
|
17
|
+
import type {Persister, Persists} from '../../with-schemas/index.d.ts';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The ReactNativeMmkvPersister interface represents a Persister that lets you
|
|
21
|
+
* save and load Store data to and from a `react-native-mmkv` storage.
|
|
22
|
+
*
|
|
23
|
+
* You should use the createReactNativeMmkvPersister function to create a
|
|
24
|
+
* ReactNativeMmkvPersister object.
|
|
25
|
+
*
|
|
26
|
+
* It is a minor extension to the Persister interface and simply provides an
|
|
27
|
+
* extra getStorageName method for accessing the unique key of the storage
|
|
28
|
+
* location the Store is being persisted to.
|
|
29
|
+
* @category Persister
|
|
30
|
+
* @since v6.5.0
|
|
31
|
+
*/
|
|
32
|
+
export interface ReactNativeMmkvPersister<Schemas extends OptionalSchemas>
|
|
33
|
+
extends Persister<Schemas, Persists.StoreOrMergeableStore> {
|
|
34
|
+
/**
|
|
35
|
+
* The getStorageName method returns the unique key of the storage location the
|
|
36
|
+
* Store is being persisted to.
|
|
37
|
+
* @returns The unique key of the storage location.
|
|
38
|
+
* @example
|
|
39
|
+
* This example creates a Persister object against a newly-created Store and
|
|
40
|
+
* then gets the unique key of the storage location back out again.
|
|
41
|
+
*
|
|
42
|
+
* ```js yolo
|
|
43
|
+
* import {MMKV} from 'react-native-mmkv';
|
|
44
|
+
* import {createStore} from 'tinybase';
|
|
45
|
+
* import {createReactNativeMmkvPersister} from 'tinybase/persisters/persister-react-native-mmkv';
|
|
46
|
+
*
|
|
47
|
+
* const storage = new MMKV();
|
|
48
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
49
|
+
* const persister = createReactNativeMmkvPersister(
|
|
50
|
+
* store,
|
|
51
|
+
* storage,
|
|
52
|
+
* 'my_tinybase',
|
|
53
|
+
* );
|
|
54
|
+
* console.log(persister.getStorageName() == 'my_tinybase');
|
|
55
|
+
* // -> true
|
|
56
|
+
*
|
|
57
|
+
* await persister.destroy();
|
|
58
|
+
* ```
|
|
59
|
+
* @category Getter
|
|
60
|
+
* @since v6.5.0
|
|
61
|
+
*/
|
|
62
|
+
getStorageName(): string;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* The createReactNativeMmkvPersister function creates a
|
|
67
|
+
* ReactNativeMmkvPersister object that can persist the Store to a local
|
|
68
|
+
* `react-native-mmkv` storage.
|
|
69
|
+
*
|
|
70
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
71
|
+
*
|
|
72
|
+
* ```ts override
|
|
73
|
+
* createReactNativeMmkvPersister(
|
|
74
|
+
* store: Store | MergeableStore,
|
|
75
|
+
* storage: MMKV,
|
|
76
|
+
* storageName?: string,
|
|
77
|
+
* onIgnoredError?: (error: any) => void,
|
|
78
|
+
* ): ReactNativeMmkvPersister;
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* A ReactNativeMmkvPersister supports both regular Store and MergeableStore
|
|
82
|
+
* objects.
|
|
83
|
+
*
|
|
84
|
+
* As well as providing a reference to the Store to persist, you must provide a
|
|
85
|
+
* `storage` parameter which identifies the MMKV storage instance.
|
|
86
|
+
*
|
|
87
|
+
* The third argument is a `storageName` string that configures which key to use
|
|
88
|
+
* for the storage key.
|
|
89
|
+
* @param store The Store or MergeableStore to persist.
|
|
90
|
+
* @param storage The MMKV storage instance.
|
|
91
|
+
* @param storageName The unique key to identify the storage location.
|
|
92
|
+
* @param onIgnoredError An optional handler for the errors that the Persister
|
|
93
|
+
* would otherwise ignore when trying to save or load data. This is suitable for
|
|
94
|
+
* debugging persistence issues in a development environment.
|
|
95
|
+
* @returns A reference to the new ReactNativeMmkvPersister object.
|
|
96
|
+
* @example
|
|
97
|
+
* This example creates a ReactNativeMmkvPersister object and persists the
|
|
98
|
+
* Store to a MMKV storage instance as a JSON serialization into the
|
|
99
|
+
* `my_tinybase` key. It makes a change to the storage directly and then
|
|
100
|
+
* reloads it back into the Store.
|
|
101
|
+
*
|
|
102
|
+
* ```js yolo
|
|
103
|
+
* import {MMKV} from 'react-native-mmkv';
|
|
104
|
+
* import {createStore} from 'tinybase';
|
|
105
|
+
* import {createReactNativeMmkvPersister} from 'tinybase/persisters/persister-react-native-mmkv';
|
|
106
|
+
*
|
|
107
|
+
* const storage = new MMKV();
|
|
108
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
109
|
+
* const persister = createReactNativeMmkvPersister(
|
|
110
|
+
* store,
|
|
111
|
+
* storage,
|
|
112
|
+
* 'my_tinybase',
|
|
113
|
+
* );
|
|
114
|
+
*
|
|
115
|
+
* await persister.save();
|
|
116
|
+
* // Store will be saved to the MMKV storage.
|
|
117
|
+
*
|
|
118
|
+
* console.log(storage.getString('my_tinybase'));
|
|
119
|
+
* // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
|
|
120
|
+
*
|
|
121
|
+
* await persister.destroy();
|
|
122
|
+
* storage.delete('my_tinybase');
|
|
123
|
+
* ```
|
|
124
|
+
* @category Creation
|
|
125
|
+
* @since v6.5.0
|
|
126
|
+
*/
|
|
127
|
+
export function createReactNativeMmkvPersister<Schemas extends OptionalSchemas>(
|
|
128
|
+
store: Store<Schemas> | MergeableStore<Schemas>,
|
|
129
|
+
storage: MMKV,
|
|
130
|
+
storageName?: string,
|
|
131
|
+
onIgnoredError?: (error: any) => void,
|
|
132
|
+
): ReactNativeMmkvPersister<Schemas>;
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* |FilePersister|Local file (where possible)|Yes|Yes
|
|
17
17
|
* |IndexedDbPersister|Browser IndexedDB|Yes|No
|
|
18
18
|
* |RemotePersister|Remote server|Yes|No
|
|
19
|
+
* |ReactNativeMmkvPersister|MMKV in React Native, via [react-native-mmkv](https://github.com/mrousavy/react-native-mmkv)|Yes|Yes
|
|
19
20
|
* |DurableObjectStoragePersister|Cloudflare Durable Object (KV)|No|Yes
|
|
20
21
|
* |DurableObjectSqlStoragePersister|Cloudflare Durable Object (SQLite)|No|Yes
|
|
21
22
|
* |Sqlite3Persister|SQLite in Node, via [sqlite3](https://github.com/TryGhost/node-sqlite3)|Yes|Yes*
|
package/common/index.js
CHANGED
package/index.js
CHANGED
package/mergeable-store/index.js
CHANGED
package/min/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),n=e(!0),l=e(0),o=e(e),a="type",r="default",i="Listener",d="Result",c="add",u="Has",g="Ids",h="Table",f=h+"s",I=h+g,b="Row",w=b+"Count",L=b+g,C="Sorted"+b+g,R="Cell",T=R+g,v="Value",p=v+"s",S=v+g,y=e=>t+e,V=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),M=(e,s=t,n)=>e.split(s,n),E=globalThis,k=Math,D=k.max,H=k.min,J=k.floor,x=isFinite,F=e=>null==e,Q=(e,t,s)=>F(e)?s?.():t(e),z=e=>e==s||e==n,N=t=>e(t)==s,O=t=>e(t)==o,W=e=>Array.isArray(e),A=(e,t,s)=>e.slice(t,s),P=e=>e.length,j=()=>{},_=()=>{},B=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},U=(e,t)=>e.includes(t),q=(e,t)=>e.every(t),G=(e,t)=>P(e)===P(t)&&q(e,(e,s)=>t[s]===e),K=(e,t)=>q(e,(s,n)=>0==n||t(e[n-1],s)<=0),X=(e,t)=>e.sort(t),Y=(e,t)=>e.forEach(t),Z=(e,t)=>e.map(t),$=e=>te(e,(e,t)=>e+t,0),ee=e=>0==P(e),te=(e,t,s)=>e.reduce(t,s),se=(e,...t)=>e.push(...t),ne=e=>e.pop(),le=e=>e.shift(),oe=t=>{const s=e(t);return z(s)||s==l&&x(t)?s:void 0},ae=e=>F(e)||!F(oe(e)),re=(e,t,s,n,l)=>F(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l),ie=(e,t,s)=>F(s)?e.delValue(t):e.setValue(t,s),de=e=>t=>te(be(t),(t,s)=>t+e(s),0),ce=e=>e?.size??0,ue=de(ce),ge=de(ue),he=de(ge),fe=(e,t)=>e?.has(t)??!1,Ie=e=>F(e)||0==ce(e),be=e=>[...e?.values()??[]],we=e=>e.clear(),Le=(e,t)=>e?.forEach(t),Ce=(e,t)=>e?.delete(t),Re=Object,Te=e=>Re.getPrototypeOf(e),ve=Re.isFrozen,pe=Re.entries,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(pe(e),([e,s])=>t(s,e)),De=(e,t)=>me(((e,t)=>Z(pe(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)||ve(e)?(s?.(),!1):(ke(e,(s,n)=>{t(s,n)||Ee(e,n)}),!!n||!He(e)),Fe=e=>new Map(e),Qe=e=>[...e?.keys()??[]],ze=(e,t)=>e?.get(t),Ne=(e,t)=>Le(e,(e,s)=>t(s,e)),Oe=(e,t,s)=>F(s)?(Ce(e,t),e):e?.set(t,s),We=(e,t,s,n)=>(fe(e,t)?n?.(ze(e,t)):Oe(e,t,s()),ze(e,t)),Ae=(e,t,s,n=Oe)=>(De(t,(t,n)=>s(e,n,t)),Ne(e,s=>Me(t,s)?0:n(e,s)),e),Pe=(e,t,s,n)=>{const l={};return Le(e,(e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;n?.(s)||(l[o]=s)}}),l},je=(e,t,s)=>Pe(e,e=>Pe(e,t,s),Ie,He),_e=(e,t,s)=>Pe(e,e=>je(e,t,s),Ie,He),Be=(e,t)=>{const s=Fe();return Le(e,(e,n)=>s.set(n,t?.(e)??e)),s},Ue=e=>Be(e,Be),qe=e=>Be(e,Ue),Ge=(e,t,s,n,l=0)=>Q((s?We:ze)(e,t[l],l>P(t)-2?s:Fe),o=>{if(l>P(t)-2)return n?.(o)&&Oe(e,t[l]),o;const a=Ge(o,t,s,n,l+1);return Ie(o)&&Oe(e,t[l]),a}),Ke=e=>new Set(W(e)||F(e)?e:[e]),Xe=(e,t)=>e?.add(t),Ye=(e,t,s,n,l)=>{const o=e.hasRow,a=Fe(),r=Fe(),i=Fe(),d=Fe(),c=Fe(),u=Fe(),g=(t,s,...n)=>{const l=We(u,t,Ke);return Y(n,t=>Xe(l,t)&&s&&e.callListener(t)),n},h=(t,...s)=>Q(ze(u,t),n=>{Y(ee(s)?be(n):s,t=>{e.delListener(t),Ce(n,t)}),Ie(n)&&Oe(u,t)}),f=(e,s)=>{Oe(a,e,s),fe(r,e)||(Oe(r,e,t()),Oe(d,e,Fe()),Oe(c,e,Fe()),l(i))},I=e=>{Oe(a,e),Oe(r,e),Oe(d,e),Oe(c,e),h(e),l(i)};return[()=>e,()=>Qe(a),e=>Ne(r,e),e=>fe(r,e),e=>ze(a,e),e=>ze(r,e),(e,t)=>Oe(r,e,t),f,(t,n,l,a,r)=>{f(t,n);const i=Fe(),u=Fe(),I=ze(d,t),b=ze(c,t),w=t=>{const l=s=>e.getCell(n,t,s),d=ze(I,t),c=o(n,t)?s(a(l,t)):void 0;if(d===c||W(d)&&W(c)&&G(d,c)||Oe(i,t,[d,c]),!F(r)){const e=ze(b,t),s=o(n,t)?r(l,t):void 0;e!=s&&Oe(u,t,s)}},L=e=>{l(()=>{Le(i,([,e],t)=>Oe(I,t,e)),Le(u,(e,t)=>Oe(b,t,e))},i,u,I,b,e),we(i),we(u)};Ne(I,w),e.hasTable(n)&&Y(e.getRowIds(n),e=>{fe(I,e)||w(e)}),L(!0),h(t),g(t,0,e.addRowListener(n,null,(e,t,s)=>w(s)),e.addTableListener(n,()=>L()))},I,e=>n(e,i),()=>Ne(u,I),g,h]},Ze=(e,s)=>N(e)?t=>t(e):e??(()=>s??t),$e=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const l=s.get(n);return t?.(l),l}},et=/^\d+$/,tt=()=>{const e=[];let s=0;return[n=>(n?le(e):null)??t+s++,t=>{et.test(t)&&P(e)<1e3&&se(e,t)}]},st=e=>{let s;const[n,l]=tt(),o=Fe();return[(l,a,r,i=[],d=()=>[])=>{s??=e();const c=n(1);return Oe(o,c,[l,a,r,i,d]),Xe(Ge(a,r??[t],Ke),c),c},(e,n,...l)=>Y(((e,s=[t])=>{const n=[],l=(e,t)=>t==P(s)?se(n,e):null===s[t]?Le(e,e=>l(e,t+1)):Y([s[t],null],s=>l(ze(e,s),t+1));return l(e,0),n})(e,n),e=>Le(e,e=>ze(o,e)[0](s,...n??[],...l))),e=>Q(ze(o,e),([,s,n])=>(Ge(s,n??[t],void 0,t=>(Ce(t,e),Ie(t)?1:0)),Oe(o,e),l(e),n)),e=>Q(ze(o,e),([e,,t=[],n,l])=>{const o=(...a)=>{const r=P(a);r==P(t)?e(s,...a,...l(a)):F(t[r])?Y(n[r]?.(...a)??[],e=>o(...a,e)):o(...a,t[r])};o()})]},nt=$e(e=>{let s,n,l,o=100,a=Fe(),r=Fe(),i=1;const d=Fe(),c=Fe(),[u,g,h]=st(()=>J),f=Fe(),I=Fe(),b=[],w=[],L=(t,s)=>{i=0,e.transaction(()=>{const[n,l]=ze(f,s);Le(n,(s,n)=>Le(s,(s,l)=>Le(s,(s,o)=>re(e,n,l,o,s[t])))),Le(l,(s,n)=>ie(e,n,s[t]))}),i=1},C=e=>{Oe(f,e),Oe(I,e),g(c,[e])},R=(e,t)=>Y(((e,t)=>e.splice(0,t))(e,t??P(e)),C),T=()=>R(b,P(b)-o),v=()=>Q(s,()=>{se(b,s),T(),R(w),s=void 0,l=1}),p=()=>{s=ne(b),l=1};let S,y;const V=(e=t)=>(F(s)&&(s=t+n++,Oe(f,s,[a,r]),D(s,e),a=Fe(),r=Fe(),l=1),s),m=()=>{ee(b)||(((e,...t)=>{e.unshift(...t)})(w,V()),L(0,s),s=ne(b),l=1)},M=()=>{ee(w)||(se(b,s),s=le(w),L(1,s),l=1)},E=()=>{l&&(g(d),l=0)},k=e=>{const t=V(e);return E(),t},D=(e,t)=>(H(e)&&ze(I,e)!==t&&(Oe(I,e,t),g(c,[e])),J),H=e=>fe(f,e),J={setSize:e=>(o=e,T(),J),addCheckpoint:k,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...b],s,[...w]],forEachCheckpoint:e=>Ne(I,e),hasCheckpoint:H,getCheckpoint:e=>ze(I,e),goBackward:()=>(m(),E(),J),goForward:()=>(M(),E(),J),goTo:e=>{const t=U(b,e)?m:U(w,e)?M:null;for(;!F(t)&&e!=s;)t();return E(),J},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),J),clear:()=>(R(b),R(w),F(s)||C(s),s=void 0,n=0,k(),J),clearForward:()=>(ee(w)||(R(w),g(d)),J),destroy:()=>{e.delListener(S),e.delListener(y)},getListenerStats:()=>({checkpointIds:ue(d),checkpoint:ue(c)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,(e,t,s,n,l,o)=>{if(i){v();const e=We(a,t,Fe),r=We(e,s,Fe),i=We(r,n,()=>[o,void 0]);i[1]=l,i[0]===l&&Ie(Oe(r,n))&&Ie(Oe(e,s))&&Ie(Oe(a,t))&&p(),E()}}),y=e.addValueListener(null,(e,t,s,n)=>{if(i){v();const e=We(r,t,()=>[n,void 0]);e[1]=s,e[0]===s&&Ie(Oe(r,t))&&p(),E()}})}};return Ve(J.clear())},e=>e._registerListeners()),lt=M("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ot=Fe(Z(lt,(e,t)=>[e,t])),at=e=>lt[63&e],rt=(e,t)=>ze(ot,e[t])??0,it=E.crypto?e=>E.crypto.getRandomValues(e):e=>Z(e,()=>J(256*k.random())),dt=(e=16)=>te(it(new Uint8Array(e)),(e,t)=>e+at(t),""),ct=JSON.stringify,ut=JSON.parse,gt=e=>ct(e,(e,t)=>t instanceof Map?Re.fromEntries([...t]):t),ht=new E.TextEncoder,ft=e=>{let t=2166136261;return Y(ht.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},It=(e,t)=>(e^t)>>>0,bt=e=>te(pe(e),(e,[t,s])=>It(e,wt(t,s)^wt(t,0)),0),wt=(e,t)=>ft(e+":"+t),Lt=(e,t)=>ft(gt(e??null)+":"+t),Ct=Lt,Rt=wt,Tt=bt,vt=wt,pt=e=>te(pe(e),(e,[t,s])=>It(e,wt(t,s)),0),St=wt,yt=pt,Vt=2**36,mt=2**30,Mt=2**24,Et=2**18,kt=4096,Dt=e=>{const t=ft(e);return at(t/Mt)+at(t/Et)+at(t/kt)+at(t/64)+at(t)},Ht=(e,t=Date.now)=>{let s=0,n=-1;const l=Q(e,Dt,()=>dt(5)),o=e=>{const l=s,[o,a]=F(e)||""==e?[0,0]:r(e);s=D(l,o,t()),n=s==l?s==o?D(n,a):n:s==o?a:-1},a=(e,t,s)=>at(e/Vt)+at(e/mt)+at(e/Mt)+at(e/Et)+at(e/kt)+at(e/64)+at(e)+at(t/Et)+at(t/kt)+at(t/64)+at(t)+(F(s)?l:Dt(s)),r=e=>[rt(e,0)*Vt+rt(e,1)*mt+rt(e,2)*Mt+rt(e,3)*Et+rt(e,4)*kt+64*rt(e,5)+rt(e,6),rt(e,7)*Et+rt(e,8)*kt+64*rt(e,9)+rt(e,10),e.slice(11)];return[()=>(o(),a(s,++n)),o,a,r,()=>s,()=>n,()=>l]},Jt=(e,t)=>(e??0)<(t??0)?-1:1,xt=$e(e=>{const s=Fe(),n=Fe(),[l,o,a]=st(()=>C),[r,i,d,c,u,g,h,,f,I,b,w]=Ye(e,Fe,e=>F(e)?t:W(e)?Z(e,y):y(e),l,o),L=(t,s,n)=>{const l=u(t);Le(n,(t,n)=>s(n,s=>Le(t,t=>s(t,s=>e.forEachCell(l,t,s)))))},C={setIndexDefinition:(e,t,l,a,r,i=Jt)=>{const d=F(r)?void 0:([e],[t])=>r(e,t);return f(e,t,(t,l,r,c,u,f)=>{let I=0;const b=Ke(),w=Ke(),L=g(e);if(Le(l,([e,t],s)=>{const n=Ke(e),l=Ke(t);Le(n,e=>Ce(l,e)?Ce(n,e):0),Le(n,e=>{Xe(b,e),Q(ze(L,e),t=>{Ce(t,s),Ie(t)&&(Oe(L,e),I=1)})}),Le(l,e=>{Xe(b,e),fe(L,e)||(Oe(L,e,Ke()),I=1),Xe(ze(L,e),s),F(a)||Xe(w,e)})}),t(),Ie(u)||(f?Ne(L,e=>Xe(w,e)):Ne(r,e=>Q(ze(c,e),e=>Y(W(e)?e:[e],e=>Xe(w,e)))),Le(w,e=>{const t=(t,s)=>i(ze(u,t),ze(u,s),e),s=[...ze(L,e)];K(s,t)||(Oe(L,e,Ke(X(s,t))),Xe(b,e))})),(I||f)&&!F(d)){const t=[...L];K(t,d)||(h(e,Fe(X(t,d))),I=1)}I&&o(s,[e]),Le(b,t=>o(n,[e,t]))},Ze(l),Q(a,Ze)),C},delIndexDefinition:e=>(I(e),C),getStore:r,getIndexIds:i,forEachIndex:e=>d((t,s)=>e(t,e=>L(t,e,s))),forEachSlice:(e,t)=>L(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>fe(g(e),t),getTableId:u,getSliceIds:e=>Qe(g(e)),getSliceRowIds:(e,t)=>be(ze(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,t)=>l(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>l(s,n,[e,t]),delListener:e=>(a(e),C),destroy:w,getListenerStats:()=>({sliceIds:ue(s),sliceRowIds:ge(n)})};return Ve(C)}),Ft=([e,t])=>zt(e,t),Qt=([e,t,s])=>[e,t,s],zt=(e,t)=>t?[e,t]:[e],Nt=(e,t,s)=>[e,t,s],Ot=e=>e[2],Wt=(e,t)=>t>e?(e?ft(e):0)^ft(t):0,At=(e,t)=>((e??"")>(t??"")?e:t)??"",Pt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},jt=(e=t)=>zt(me(),e),_t=(e=t)=>[Fe(),e,0],Bt=([e,t,s],n=Qt)=>[Pe(e,n),t,s],Ut=([e,t],s=Ft)=>zt(Pe(e,s),t),qt=(t,s)=>W(t)&&3==P(t)&&N(t[1])&&e(t[2])==l&&x(t[2])&&s(t[0]),Gt=e=>[e,e],Kt=(e,t=ue)=>t(e[0])+t(e[1]),Xt=()=>[Fe(),Fe()],Yt=e=>[...e],Zt=([e,t])=>e===t,$t=(e,t,s)=>Oe(e,t,ze(e,t)==-s?void 0:s),es=()=>{let e,t,s=!1,n=!1,o=0,d=[];const g=Fe(),C=Fe(),V=Fe(),m=Fe(),M=Fe(),E=Fe(),k=Fe(),D=Fe(),H=Fe(),J=Fe(),x=Fe(),N=Fe(),P=Fe(),j=Fe(),_=Ke(),q=Fe(),K=Fe(),$=Fe(),ee=Fe(),te=Xt(),ne=Xt(),le=Xt(),ae=Xt(),de=Xt(),be=Xt(),Re=Xt(),Te=Xt(),ve=Xt(),pe=Xt(),ye=Xt(),me=Xt(),ke=Xt(),Je=Xt(),Ge=Xt(),Ye=Xt(),Ze=Xt(),$e=Xt(),et=Xt(),nt=Xt(),lt=Xt(),ot=Xt(),at=Fe(),rt=Xt(),[it,dt,ct,ht]=st(()=>Ps),ft=e=>{if(!xe(e,(e,t)=>U([a,r],t)))return!1;const t=e[a];return!(!z(t)&&t!=l||(oe(e[r])!=t&&Ee(e,r),0))},It=W,bt=(t,s)=>(!e||fe(x,s)||Ut(s))&&xe(t,(e,t)=>wt(s,t,e),()=>Ut(s)),wt=(e,t,s,n)=>xe(n?s:Tt(s,e,t),(n,l)=>Q(Lt(e,t,l,n),e=>(s[l]=e,!0),()=>!1),()=>Ut(e,t)),Lt=(t,s,n,l)=>e?Q(ze(ze(x,t),n),e=>oe(l)!=e[a]?Ut(t,s,n,l,e[r]):l,()=>Ut(t,s,n,l)):F(oe(l))?Ut(t,s,n,l):l,Ct=(e,t)=>xe(t?e:vt(e),(t,s)=>Q(Rt(s,t),t=>(e[s]=t,!0),()=>!1),()=>qt()),Rt=(e,s)=>t?Q(ze(P,e),t=>oe(s)!=t[a]?qt(e,s,t[r]):s,()=>qt(e,s)):F(oe(s))?qt(e,s):s,Tt=(e,t,s)=>(Q(ze(N,t),([n,l])=>{Le(n,(t,s)=>{Me(e,s)||(e[s]=t)}),Le(l,n=>{Me(e,n)||Ut(t,s,n)})}),e),vt=e=>(t&&(Le(j,(t,s)=>{Me(e,s)||(e[s]=t)}),Le(_,t=>{Me(e,t)||qt(t)})),e),pt=e=>Ae(x,e,(e,t,s)=>{const n=Fe(),l=Ke();Ae(We(x,t,Fe),s,(e,t,s)=>{Oe(e,t,s),Q(s[r],e=>Oe(n,t,e),()=>Xe(l,t))}),Oe(N,t,[n,l])},(e,t)=>{Oe(x,t),Oe(N,t)}),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)?Js():Ms(e),Vt=e=>Ae($,e,(e,t,s)=>mt(t,s),(e,t)=>Qt(t)),mt=(e,t)=>Ae(We($,e,()=>(Wt(e,1),Oe(q,e,tt()),Oe(K,e,Fe()),Fe())),t,(t,s,n)=>Mt(e,t,s,n),(t,s)=>zt(e,t,s)),Mt=(e,t,s,n,l)=>Ae(We(t,s,()=>(At(e,s,1),Fe())),n,(t,n,l)=>Et(e,s,t,n,l),(n,o)=>Nt(e,t,s,n,o,l)),Et=(e,t,s,n,l)=>{fe(s,n)||Pt(e,t,n,1);const o=ze(s,n);l!==o&&(jt(e,t,n,o,l),Oe(s,n,l))},kt=(e,t,s,n,l)=>Q(ze(t,s),t=>Et(e,s,t,n,l),()=>Mt(e,t,s,Tt({[n]:l},e,s))),Dt=e=>He(e)?Qs():Es(e),Ht=e=>Ae(ee,e,(e,t,s)=>xt(t,s),(e,t)=>Ot(t)),xt=(e,t)=>{fe(ee,e)||_t(e,1);const s=ze(ee,e);t!==s&&(Bt(e,s,t),Oe(ee,e,t))},Ft=e=>ze($,e)??mt(e,{}),Qt=e=>mt(e,{}),zt=(e,t,s)=>{const[,n]=ze(q,e);n(s),Mt(e,t,s,{},!0)},Nt=(e,t,s,n,l,o)=>{const a=ze(ze(N,e)?.[0],l);if(!F(a)&&!o)return Et(e,s,n,l,a);const r=t=>{jt(e,s,t,ze(n,t)),Pt(e,s,t,-1),Oe(n,t)};F(a)?r(l):Ne(n,r),Ie(n)&&(At(e,s,-1),Ie(Oe(t,s))&&(Wt(e,-1),Oe($,e),Oe(q,e),Oe(K,e)))},Ot=e=>{const t=ze(j,e);if(!F(t))return xt(e,t);Bt(e,ze(ee,e)),_t(e,-1),Oe(ee,e)},Wt=(e,t)=>$t(g,e,t),At=(e,t,s)=>$t(We(m,e,Fe),t,s)&&Oe(V,e,We(V,e,()=>0)+s),Pt=(e,t,s,n)=>{const l=ze(K,e),o=ze(l,s)??0;(0==o&&1==n||1==o&&-1==n)&&$t(We(C,e,Fe),s,n),Oe(l,s,o!=-n?o+n:null),$t(We(We(M,e,Fe),t,Fe),s,n)},jt=(e,t,s,n,l)=>{We(We(We(E,e,Fe),t,Fe),s,()=>[n,0])[1]=l,d[3]?.(e,t,s,l)},_t=(e,t)=>$t(k,e,t),Bt=(e,t,s)=>{We(D,e,()=>[t,0])[1]=s,d[4]?.(e,s)},Ut=(e,t,s,n,l)=>(se(We(We(We(H,e,Fe),t,Fe),s,()=>[]),n),l),qt=(e,t,s)=>(se(We(J,e,()=>[]),t),s),ts=(e,t,s)=>Q(ze(ze(ze(E,e),t),s),([e,t])=>[!0,e,t],()=>[!1,...Gt(ws(e,t,s))]),ss=e=>Q(ze(D,e),([e,t])=>[!0,e,t],()=>[!1,...Gt(Rs(e))]),ns=e=>Ie(H)||Ie(Ye[e])?0:Le(e?qe(H):H,(t,s)=>Le(t,(t,n)=>Le(t,(t,l)=>dt(Ye[e],[s,n,l],t)))),ls=e=>Ie(J)||Ie(Ze[e])?0:Le(e?Be(J):J,(t,s)=>dt(Ze[e],[s],t)),os=(e,t,s,n)=>{if(!Ie(e))return dt(t,n,()=>Pe(e)),Ne(e,(e,t)=>dt(s,[...n??[],e],1==t)),1},as=e=>{const t=Ts();t!=s&&dt(te[e],void 0,t);const n=Ie(pe[e]),l=Ie(ke[e])&&Ie(Je[e])&&Ie(ve[e])&&Ie(ye[e])&&Ie(be[e])&&Ie(Re[e])&&Ie(Te[e])&&n&&Ie(le[e])&&Ie(ae[e]),o=Ie(Ge[e])&&Ie(me[e])&&Ie(de[e])&&Ie(ne[e]);if(!l||!o){const t=e?[Be(g),Ue(C),Be(V),Ue(m),qe(M),qe(E)]:[g,C,V,m,M,E];if(!l){os(t[0],le[e],ae[e]),Le(t[1],(t,s)=>os(t,be[e],Re[e],[s])),Le(t[2],(t,s)=>{0!=t&&dt(Te[e],[s],hs(s))});const s=Ke();Le(t[3],(t,l)=>{os(t,ve[e],ye[e],[l])&&!n&&(dt(pe[e],[l,null]),Xe(s,l))}),n||Le(t[5],(t,n)=>{if(!fe(s,n)){const s=Ke();Le(t,e=>Le(e,([t,n],l)=>n!==t?Xe(s,l):Ce(e,l))),Le(s,t=>dt(pe[e],[n,t]))}}),Le(t[4],(t,s)=>Le(t,(t,n)=>os(t,ke[e],Je[e],[s,n])))}if(!o){let s;Le(t[5],(t,n)=>{let l;Le(t,(t,o)=>{let a;Le(t,([t,r],i)=>{r!==t&&(dt(Ge[e],[n,o,i],r,t,ts),s=l=a=1)}),a&&dt(me[e],[n,o],ts)}),l&&dt(de[e],[n],ts)}),s&&dt(ne[e],void 0,ts)}}},rs=e=>{const t=Vs();t!=n&&dt($e[e],void 0,t);const s=Ie(nt[e])&&Ie(lt[e]),l=Ie(ot[e])&&Ie(et[e]);if(!s||!l){const t=e?[Be(k),Be(D)]:[k,D];if(s||os(t[0],nt[e],lt[e]),!l){let s;Le(t[1],([t,n],l)=>{n!==t&&(dt(ot[e],[l],n,t,ss),s=1)}),s&&dt(et[e],void 0,ss)}}},is=(e,...t)=>(Os(()=>e(...Z(t,y))),Ps),ds=(e,t,s,n,l)=>{let o=Is(e,t,...s);return it(()=>{const l=Is(e,t,...s);G(l,o)||(o=l,n(Ps,e,t,...s,o))},pe[l?1:0],[e,t],[us])},cs=()=>_e($),us=()=>Qe($),gs=e=>Qe(ze(K,y(e))),hs=e=>ce(ze($,y(e))),fs=e=>Qe(ze($,y(e))),Is=(e,t,s,n=0,l)=>{return Se(e)?Is(e.tableId,e.cellId,e.descending,e.offset,e.limit):Z(A(X((o=ze($,y(e)),a=(e,s)=>[F(t)?s:ze(e,y(t)),s],Z([...o?.entries()??[]],([e,t])=>a(t,e))),([e],[t])=>Jt(e,t)*(s?-1:1)),n,F(l)?l:n+l),([,e])=>e);var o,a},bs=(e,t)=>Qe(ze(ze($,y(e)),y(t))),ws=(e,t,s)=>ze(ze(ze($,y(e)),y(t)),y(s)),Ls=()=>Pe(ee),Cs=()=>Qe(ee),Rs=e=>ze(ee,y(e)),Ts=()=>!Ie($),vs=e=>fe($,y(e)),ps=(e,t)=>fe(ze(K,y(e)),y(t)),Ss=(e,t)=>fe(ze($,y(e)),y(t)),ys=(e,t,s)=>fe(ze(ze($,y(e)),y(t)),y(s)),Vs=()=>!Ie(ee),ms=e=>fe(ee,y(e)),Ms=e=>is(()=>(e=>xe(e,bt,Ut))(e)?Vt(e):0),Es=e=>is(()=>Ct(e)?Ht(e):0),ks=e=>(B(()=>yt(ut(e))),Ps),Ds=t=>is(()=>{if((e=xe(t,e=>xe(e,ft)))&&(pt(t),!Ie($))){const e=cs();Js(),Ms(e)}}),Hs=e=>is(()=>{if(t=(e=>xe(e,ft))(e)){const s=Ls();Ns(),Qs(),t=!0,St(e),Es(s)}}),Js=()=>is(()=>Vt({})),xs=e=>is(e=>fe($,e)?Qt(e):0,e),Fs=(e,t)=>is((e,t)=>Q(ze($,e),s=>fe(s,t)?zt(e,s,t):0),e,t),Qs=()=>is(()=>Ht({})),zs=()=>is(()=>{pt({}),e=!1}),Ns=()=>is(()=>{St({}),t=!1}),Os=(e,t)=>{if(-1!=o){Ws();const s=e();return As(t),s}},Ws=()=>(-1!=o&&o++,1==o&&(d[0]?.(),dt(at)),Ps),As=e=>(o>0&&(o--,0==o&&(o=1,ns(1),Ie(E)||as(1),ls(1),Ie(D)||rs(1),e?.(Ps)&&(Le(E,(e,t)=>Le(e,(e,s)=>Le(e,([e],n)=>re(Ps,t,s,n,e)))),we(E),Le(D,([e],t)=>ie(Ps,t,e)),we(D)),dt(rt[0],void 0),o=-1,ns(0),Ie(E)||as(0),ls(0),Ie(D)||rs(0),d[1]?.(),dt(rt[1],void 0),d[2]?.(),o=0,s=Ts(),n=Vs(),Y([g,C,V,m,M,E,H,k,D,J],we))),Ps),Ps={getContent:()=>[cs(),Ls()],getTables:cs,getTableIds:us,getTable:e=>je(ze($,y(e))),getTableCellIds:gs,getRowCount:hs,getRowIds:fs,getSortedRowIds:Is,getRow:(e,t)=>Pe(ze(ze($,y(e)),y(t))),getCellIds:bs,getCell:ws,getValues:Ls,getValueIds:Cs,getValue:Rs,hasTables:Ts,hasTable:vs,hasTableCell:ps,hasRow:Ss,hasCell:ys,hasValues:Vs,hasValue:ms,getTablesJson:()=>gt($),getValuesJson:()=>gt(ee),getJson:()=>gt([$,ee]),getTablesSchemaJson:()=>gt(x),getValuesSchemaJson:()=>gt(P),getSchemaJson:()=>gt([x,P]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>is(()=>{const t=O(e)?e():e;It(t)&&(([e,t])=>{(He(e)?Js:Ms)(e),(He(t)?Qs:Es)(t)})(t)}),setTables:Ms,setTable:(e,t)=>is(e=>bt(t,e)?mt(e,t):0,e),setRow:(e,t,s)=>is((e,t)=>wt(e,t,s)?Mt(e,Ft(e),t,s):0,e,t),addRow:(e,t,s=!0)=>Os(()=>{let n;return wt(e,n,t)&&(e=y(e),Mt(e,Ft(e),n=((e,t)=>{const[s]=ze(q,e);let n;do{n=s(t)}while(fe(ze($,e),n));return n})(e,s?1:0),t)),n}),setPartialRow:(e,t,s)=>is((e,t)=>{if(wt(e,t,s,1)){const n=Ft(e);De(s,(s,l)=>kt(e,n,t,l,s))}},e,t),setCell:(e,t,s,n)=>is((e,t,s)=>Q(Lt(e,t,s,O(n)?n(ws(e,t,s)):n),n=>kt(e,Ft(e),t,s,n)),e,t,s),setValues:Es,setPartialValues:e=>is(()=>Ct(e,1)?De(e,(e,t)=>xt(t,e)):0),setValue:(e,t)=>is(e=>Q(Rt(e,O(t)?t(Rs(e)):t),t=>xt(e,t)),e),applyChanges:e=>is(()=>{De(e[0],(e,t)=>F(e)?xs(t):De(e,(e,s)=>F(e)?Fs(t,s):De(e,(e,n)=>re(Ps,t,s,n,e)))),De(e[1],(e,t)=>ie(Ps,t,e))}),setTablesJson:ks,setValuesJson:e=>(B(()=>Dt(ut(e))),Ps),setJson:e=>is(()=>B(()=>{const[t,s]=ut(e);yt(t),Dt(s)},()=>ks(e))),setTablesSchema:Ds,setValuesSchema:Hs,setSchema:(e,t)=>is(()=>{Ds(e),Hs(t)}),delTables:Js,delTable:xs,delRow:Fs,delCell:(e,t,s,n)=>is((e,t,s)=>Q(ze($,e),l=>Q(ze(l,t),o=>fe(o,s)?Nt(e,l,t,o,s,n):0)),e,t,s),delValues:Qs,delValue:e=>is(e=>fe(ee,e)?Ot(e):0,e),delTablesSchema:zs,delValuesSchema:Ns,delSchema:()=>is(()=>{zs(),Ns()}),transaction:Os,startTransaction:Ws,getTransactionChanges:()=>[Pe(E,(e,t)=>-1===ze(g,t)?void 0:Pe(e,(e,s)=>-1===ze(ze(m,t),s)?void 0:Pe(e,([,e])=>e,e=>Zt(e)),Ie,He),Ie,He),Pe(D,([,e])=>e,e=>Zt(e)),1],getTransactionLog:()=>[!Ie(E),!Ie(D),_e(E,Yt,Zt),_e(H),Pe(D,Yt,Zt),Pe(J),Pe(g),je(m),_e(M),Pe(k)],finishTransaction:As,forEachTable:e=>Le($,(t,s)=>e(s,e=>Le(t,(t,s)=>e(s,e=>Ne(t,e))))),forEachTableCell:(e,t)=>Ne(ze(K,y(e)),t),forEachRow:(e,t)=>Le(ze($,y(e)),(e,s)=>t(s,t=>Ne(e,t))),forEachCell:(e,t,s)=>Ne(ze(ze($,y(e)),y(t)),s),forEachValue:e=>Ne(ee,e),addSortedRowIdsListener:(e,t,s,n,l,o,a)=>Se(e)?ds(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):ds(e,t,[s,n,l],o,a),addStartTransactionListener:e=>it(e,at),addWillFinishTransactionListener:e=>it(e,rt[0]),addDidFinishTransactionListener:e=>it(e,rt[1]),callListener:e=>(ht(e),Ps),delListener:e=>(ct(e),Ps),getListenerStats:()=>({hasTables:Kt(te),tables:Kt(ne),tableIds:Kt(le),hasTable:Kt(ae),table:Kt(de),tableCellIds:Kt(be),hasTableCell:Kt(Re,ge),rowCount:Kt(Te),rowIds:Kt(ve),sortedRowIds:Kt(pe),hasRow:Kt(ye,ge),row:Kt(me,ge),cellIds:Kt(ke,ge),hasCell:Kt(Je,he),cell:Kt(Ge,he),invalidCell:Kt(Ye,he),hasValues:Kt($e),values:Kt(et),valueIds:Kt(nt),hasValue:Kt(lt),value:Kt(ot),invalidValue:Kt(Ze),transaction:ue(at)+Kt(rt)}),isMergeable:()=>!1,createStore:es,addListener:it,callListeners:dt,setInternalListeners:(e,t,s,n,l)=>d=[e,t,s,n,l]};return De({[u+f]:[0,te,[],()=>[Ts()]],[f]:[0,ne],[I]:[0,le],[u+h]:[1,ae,[us],e=>[vs(...e)]],[h]:[1,de,[us]],[h+T]:[1,be,[us]],[u+h+R]:[2,Re,[us,gs],e=>[ps(...e)]],[w]:[1,Te,[us]],[L]:[1,ve,[us]],[u+b]:[2,ye,[us,fs],e=>[Ss(...e)]],[b]:[2,me,[us,fs]],[T]:[2,ke,[us,fs]],[u+R]:[3,Je,[us,fs,bs],e=>[ys(...e)]],[R]:[3,Ge,[us,fs,bs],e=>Gt(ws(...e))],InvalidCell:[3,Ye],[u+p]:[0,$e,[],()=>[Vs()]],[p]:[0,et],[S]:[0,nt],[u+v]:[1,lt,[Cs],e=>[ms(...e)]],[v]:[1,ot,[Cs],e=>Gt(Rs(e[0]))],InvalidValue:[1,Ze]},([e,t,s,n],l)=>{Ps[c+l+i]=(...l)=>it(l[e],t[l[e+1]?1:0],e>0?A(l,0,e):void 0,s,n)}),Ve(Ps)},ts={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},ss=(e=t)=>[_t(e),_t(e)],ns=(e,s)=>{let n=1,l=ss(),o=0;const a=Fe(),r=Ke(),[d,u]=Ht(e,s),g=es(),h=e=>{const t=n;return n=0,e(),n=t,R},f=(e,s=0)=>{const n={},o={},[[a,r=t,i=0],d]=e,[c,g]=l,[h,f,b]=c;let w=s?i:b,L=r;ke(a,([e,l=t,o=0],a)=>{const r=We(h,a,_t),[i,d,c]=r;let u=s?o:c,g=l;ke(e,(e,t)=>{const[l,o,r]=I(e,We(i,t,_t),Je(Je(n,a,me),t,me),s);u^=s?0:It(o?wt(t,o):0,wt(t,r)),g=At(g,l)}),u^=s?0:Wt(d,l),Pt(r,l,u),w^=s?0:It(c?wt(a,c):0,wt(a,r[2])),L=At(L,g)}),w^=s?0:Wt(f,r),Pt(c,r,w);const[C]=I(d,g,o,s);return u(At(L,C)),[n,o,1]},I=(e,s,n,l)=>{const[o,a=t,r=0]=e,[i,d,c]=s;let u=a,g=l?r:c;return ke(o,([e,s=t,o=0],a)=>{const r=We(i,a,()=>[void 0,t,0]),[,d,c]=r;(!d||s>d)&&(Pt(r,s,l?o:Lt(e,s)),r[0]=e,n[a]=e,g^=l?0:It(wt(a,c),wt(a,r[2])),u=At(u,s))}),g^=l?0:Wt(d,a),Pt(s,a,g),[u,c,s[2]]},b=_,w=_,L=()=>[Bt(l[0],e=>Bt(e,e=>Bt(e))),Bt(l[1])],C=e=>h(()=>g.applyChanges(f(e))),R={getMergeableContent:L,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>Pe(l[0][0],Ot),getMergeableTableDiff:e=>{const t=jt(l[0][1]),s={};return Ne(l[0][0],(n,[l,o,a])=>Me(e,n)?a!=e[n]?s[n]=a:0:t[0][n]=Ut([l,o],e=>Ut(e))),[t,s]},getMergeableRowHashes:e=>{const t={};return ke(e,(e,s)=>Q(ze(l[0][0],s),([n,,l])=>l!=e?Ne(n,(e,[,,n])=>Je(t,s,me)[e]=n):0)),t},getMergeableRowDiff:e=>{const t=jt(l[0][1]),s={};return ke(e,(e,n)=>Ne(ze(l[0][0],n)?.[0],(l,[o,a,r])=>Me(e,l)?r!==e[l]?Je(s,n,me)[l]=r:0:Je(t[0],n,jt)[0][l]=Ut([o,a]))),[t,s]},getMergeableCellHashes:e=>{const t={};return ke(e,(e,s)=>Q(ze(l[0][0],s),([n])=>ke(e,(e,l)=>Q(ze(n,l),([n,,o])=>o!==e?Ne(n,(e,[,,n])=>Je(Je(t,s,me),l,me)[e]=n):0)))),t},getMergeableCellDiff:e=>{const[[t,s]]=l,n={};return ke(e,(e,s)=>ke(e,(e,l)=>Q(ze(t,s),([t,o])=>Q(ze(t,l),([t,a])=>Ne(t,(t,[r,i,d])=>d!==e[t]?Je(Je(n,s,()=>jt(o))[0],l,()=>jt(a))[0][t]=[r,i]:0))))),zt(n,s)},getMergeableValueHashes:()=>Pe(l[1][0],Ot),getMergeableValueDiff:e=>{const[,[t,s]]=l,n=Pe(t,Ft,([,,t],s)=>t==e?.[s]);return zt(n,s)},setMergeableContent:e=>h(()=>(e=>W(e)&&2==P(e)&&qt(e[0],e=>xe(e,e=>qt(e,e=>xe(e,e=>qt(e,e=>xe(e,e=>qt(e,ae),void 0,1)),void 0,1)),void 0,1))&&qt(e[1],e=>xe(e,e=>qt(e,ae),void 0,1)))(e)?g.transaction(()=>{g.delTables().delValues(),l=ss(),g.applyChanges(f(e,1))}):0),setDefaultContent:e=>(g.transaction(()=>{o=1,g.setContent(e),o=0}),R),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,n],[o,i,d]]=l,c=e?Nt:zt,u={};Le(a,(e,s)=>Q(ze(t,s),([t,n,l])=>{const o={};Le(e,(e,s)=>Q(ze(t,s),([t,n,l])=>{const a={};Le(e,e=>{Q(ze(t,e),([t,s,n])=>a[e]=c(t,s,n))}),o[s]=c(a,n,l)})),u[s]=c(o,n,l)}));const g={};return Le(r,e=>Q(ze(o,e),([t,s,n])=>g[e]=c(t,s,n))),[c(u,s,n),c(g,i,d),1]},applyMergeableChanges:C,merge:e=>{const t=L(),s=e.getMergeableContent();return e.applyMergeableChanges(t),C(s)}};return g.setInternalListeners(b,w,()=>{we(a),we(r)},(e,s,l,r)=>{Xe(We(We(a,e,Fe),s,Ke),l),n&&f([[{[e]:[{[s]:[{[l]:[r,o?t:d()]}]}]}],[{}],1])},(e,s)=>{Xe(r,e),n&&f([[{}],[{[e]:[s,o?t:d()]}],1])}),De(g,(e,t)=>R[t]=V(t,"set")||V(t,"del")||V(t,"apply")||m(t,"Transaction")||t=="call"+i?(...t)=>(e(...t),R):V(t,c)&&m(t,i)?(...s)=>{const n=ts[A(t,3,-8)]??0,l=s[n];return s[n]=(e,...t)=>l(R,...t),e(...s)}:"isMergeable"==t?()=>!0:e),Ve(R)},ls=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]]]),os=(e,t,s,n,l,o=!1)=>{if(Ie(s))return;const[a,r,i,d]=l;return o||=F(e),Le(n,([s,n])=>{o||(e=F(s)?r?.(e,n,t++):F(n)?i?.(e,s,t--):d?.(e,n,s,t),o||=F(e))}),o?a(be(s),ce(s)):e},as=$e(e=>{const s=Fe(),[n,l,o]=st(()=>w),[a,r,i,d,c,u,g,,h,f,I,b]=Ye(e,j,e=>isNaN(e)||F(e)||!0===e||!1===e||e===t?void 0:1*e,n,l),w={setMetricDefinition:(e,t,n,o,a,r,i)=>{const d=O(n)?[n,a,r,i]:ze(ls,n)??ze(ls,"sum");return h(e,t,(t,n,o,a,r,i)=>{const c=u(e),h=ce(a);i||=F(c),t();let f=os(c,h,a,n,d,i);x(f)||(f=void 0),f!=c&&(g(e,f),l(s,[e],f,c))},Ze(o,1)),w},delMetricDefinition:e=>(f(e),w),getStore:a,getMetricIds:r,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:I,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),w),destroy:b,getListenerStats:()=>({metric:ue(s)})};return Ve(w)}),rs=$e(e=>{const s=e.createStore,n=s(),l=s(),o=Fe(),{addListener:a,callListeners:r,delListener:u}=l,[g,f,I,v,p,,,S,,y,V,m,M,E]=Ye(e,()=>!0,j,a,r),k=(e,t,...s)=>Y(s,s=>Xe(We(We(o,t,Fe),e,Ke),s)),D=e=>{Q(ze(o,e),e=>{Ne(e,(e,t)=>Le(t,t=>e.delListener(t))),we(e)}),Y([l,n],t=>t.delTable(e))},H=(e,t,s)=>k(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener(()=>s.finishTransaction())),J={setQueryDefinition:(s,o,a)=>{S(s,o),D(s);const r=[],i=[[null,[o,null,null,[],Fe()]]],d=[],c=[],u=[];a({select:(e,s)=>{const n=O(e)?[P(r)+t,e]:[F(s)?e:s,t=>t(e,s)];return se(r,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=F(s)||O(t)?null:t,l=F(n)?t:s,o=[e,[e,n,O(l)?l:e=>e(l),[],Fe()]];return se(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>se(d,O(e)?e:F(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,l)=>{const o=[e,[e,O(t)?[t,s,n,l]:ze(ls,t)??[(e,t)=>t]]];return se(c,o),{as:e=>o[0]=e}},having:(e,t)=>se(u,O(e)?e:s=>s(e)===t)});const g=Fe(r);if(Ie(g))return J;const h=Fe(i);Ne(h,(e,[,t])=>Q(ze(h,t),({3:t})=>F(e)?0:se(t,e)));const f=Fe(c);let I=n;if(Ie(f)&&ee(u))I=l;else{H(s,I,l);const e=Fe();Ne(f,(t,[s,n])=>Xe(We(e,s,Ke),[t,n]));const t=Ke();Ne(g,s=>fe(e,s)?0:Xe(t,s));const n=Fe(),o=(t,n,o,a)=>Q(t,([r,i,d,c])=>{Ne(n,(t,[s])=>{const n=We(r,t,Fe),l=ze(n,o),i=a?void 0:s;if(l!==i){const s=Ke([[l,i]]),a=ce(n);Oe(n,o,i),Le(ze(e,t),([e,t])=>{const l=os(c[e],a,n,s,t);c[e]=F(oe(l))?null:l})}}),Ie(i)||!q(u,e=>e(e=>c[e]))?l.delRow(s,d):F(d)?t[2]=l.addRow(s,c):l.setRow(s,d,c)});k(I,s,I.addRowListener(s,null,(l,a,r,i)=>{const d=[],c=[],u=Fe(),g=I.hasRow(s,r);let h=!g;Le(t,e=>{const[t,n,l]=i(s,r,e);se(d,n),se(c,l),h||=t}),Ne(e,e=>{const[t,,n]=i(s,r,e);(h||t)&&Oe(u,e,[n])}),h&&o(Ge(n,d,void 0,([,e])=>(Ce(e,r),Ie(e))),u,r,1),g&&o(Ge(n,c,()=>{const e={};return Le(t,t=>e[t]=I.getCell(s,r,t)),[Fe(),Ke(),void 0,e]},([,e])=>{Xe(e,r)}),u,r)}))}H(s,e,I);const b=(t,n,l,a)=>{const r=t=>e.getCell(n,l,t);Y(a,n=>{const[l,,o,a,i]=ze(h,n),d=o?.(r,t),[c,u]=ze(i,t)??[];d!=c&&(F(u)||E(s,u),Oe(i,t,F(d)?null:[d,...M(s,1,e.addRowListener(l,d,()=>b(t,l,d,a)))]))}),(t=>{const n=(s,n)=>e.getCell(...F(n)?[o,t,s]:s===o?[o,t,n]:[ze(h,s)?.[0],ze(ze(h,s)?.[4],t)?.[0],n]);I.transaction(()=>q(d,e=>e(n))?Ne(g,(e,l)=>re(I,s,t,e,l(n,t))):I.delRow(s,t))})(t)},{3:w}=ze(h,null);return I.transaction(()=>M(s,1,e.addRowListener(o,null,(t,n,l)=>{e.hasRow(o,l)?b(l,o,l,w):(I.delRow(s,l),Le(h,({4:e})=>Q(ze(e,l),([,t])=>{E(s,t),Oe(e,l)})))}))),J},delQueryDefinition:e=>(D(e),y(e),J),getStore:g,getQueryIds:f,forEachQuery:I,hasQuery:v,getTableId:p,addQueryIdsListener:e=>V(()=>e(J)),delListener:e=>(u(e),J),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=l.getListenerStats();return n}};return De({[h]:[1,1],[h+T]:[0,1],[w]:[0,1],[L]:[0,1],[C]:[0,5],[b]:[1,2],[T]:[0,2],[R]:[1,3]},([e,t],s)=>{Y(e?["get","has","forEach"]:["get"],e=>J[e+d+s]=(...t)=>l[e+s](...t)),J[c+d+s+i]=(...e)=>l[c+s+i](...A(e,0,t),(s,...n)=>e[t](J,...n),!0)}),Ve(J)}),is=$e(e=>{const s=Fe(),n=Fe(),l=Fe(),o=Fe(),[a,r,i]=st(()=>v),[d,c,u,g,h,f,,,I,b,w,L]=Ye(e,()=>[Fe(),Fe(),Fe(),Fe()],e=>F(e)?void 0:e+t,a,r),C=(e,t,s)=>Q(f(e),([n,,l])=>{if(!fe(l,t)){const o=Ke();if(h(e)!=T(e))Xe(o,t);else{let e=t;for(;!F(e)&&!fe(o,e);)Xe(o,e),e=ze(n,e)}if(s)return o;Oe(l,t,o)}return ze(l,t)}),R=(e,t)=>Q(f(e),([,,e])=>Oe(e,t)),T=e=>ze(s,e),v={setRelationshipDefinition:(e,t,a,i)=>(Oe(s,e,a),I(e,t,(t,s)=>{const a=Ke(),i=Ke(),d=Ke(),[c,u]=f(e);Le(s,([t,s],n)=>{F(t)||(Xe(i,t),Q(ze(u,t),e=>{Ce(e,n),Ie(e)&&Oe(u,t)})),F(s)||(Xe(i,s),fe(u,s)||Oe(u,s,Ke()),Xe(ze(u,s),n)),Xe(a,n),Oe(c,n,s),Ne(ze(o,e),t=>{fe(C(e,t),n)&&Xe(d,t)})}),t(),Le(a,t=>r(n,[e,t])),Le(i,t=>r(l,[e,t])),Le(d,t=>{R(e,t),r(o,[e,t])})},Ze(i)),v),delRelationshipDefinition:e=>(Oe(s,e),b(e),v),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u(s=>t(s,t=>e.forEachRow(h(s),t))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:T,getRemoteRowId:(e,t)=>ze(f(e)?.[0],t),getLocalRowIds:(e,t)=>be(ze(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>F(f(e))?[t]:be(C(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>a(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>a(s,l,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(C(e,t),a(s,o,[e,t])),delListener:e=>(R(...i(e)??[]),v),destroy:L,getListenerStats:()=>({remoteRowId:ge(n),localRowIds:ge(l),linkedRowIds:ge(o)})};return Ve(v)});export{It as addOrRemoveHash,nt as createCheckpoints,xt as createIndexes,ns as createMergeableStore,as as createMetrics,rs as createQueries,is as createRelationships,es as createStore,Jt as defaultSorter,Ct as getCellHash,Rt as getCellInRowHash,ft as getHash,Ht as getHlcFunctions,Tt as getRowHash,vt as getRowInTableHash,pt as getTableHash,St as getTableInTablesHash,yt as getTablesHash,dt as getUniqueId,Lt as getValueHash,wt as getValueInValuesHash,bt as getValuesHash};
|
|
1
|
+
const e=e=>typeof e,t="",s=e(t),n=e(!0),l=e(0),o=e(e),a="type",r="default",i="Listener",d="Result",c="add",u="Has",g="Ids",h="Table",f=h+"s",I=h+g,b="Row",w=b+"Count",L=b+g,C="Sorted"+b+g,R="Cell",T=R+g,v="Value",p=v+"s",S=v+g,y=e=>t+e,V=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),M=(e,s=t,n)=>e.split(s,n),E=globalThis,k=Math,D=k.max,H=k.min,J=k.floor,x=isFinite,F=e=>null==e,Q=(e,t,s)=>F(e)?s?.():t(e),z=e=>e==s||e==n,N=t=>e(t)==s,O=t=>e(t)==o,W=e=>Array.isArray(e),A=(e,t,s)=>e.slice(t,s),P=e=>e.length,j=()=>{},_=()=>{},B=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},U=(e,t)=>e.includes(t),q=(e,t)=>e.every(t),G=(e,t)=>P(e)===P(t)&&q(e,(e,s)=>t[s]===e),K=(e,t)=>q(e,(s,n)=>0==n||t(e[n-1],s)<=0),X=(e,t)=>e.sort(t),Y=(e,t)=>e.forEach(t),Z=(e,t)=>e.map(t),$=e=>te(e,(e,t)=>e+t,0),ee=e=>0==P(e),te=(e,t,s)=>e.reduce(t,s),se=(e,...t)=>e.push(...t),ne=e=>e.pop(),le=e=>e.shift(),oe=t=>{const s=e(t);return z(s)||s==l&&x(t)?s:void 0},ae=e=>F(e)||!F(oe(e)),re=(e,t,s,n,l)=>F(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l),ie=(e,t,s)=>F(s)?e.delValue(t):e.setValue(t,s),de=e=>t=>te(be(t),(t,s)=>t+e(s),0),ce=e=>e?.size??0,ue=de(ce),ge=de(ue),he=de(ge),fe=(e,t)=>e?.has(t)??!1,Ie=e=>F(e)||0==ce(e),be=e=>[...e?.values()??[]],we=e=>e.clear(),Le=(e,t)=>e?.forEach(t),Ce=(e,t)=>e?.delete(t),Re=Object,Te=e=>Re.getPrototypeOf(e),ve=Re.isFrozen,pe=Re.entries,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(pe(e),([e,s])=>t(s,e)),De=(e,t)=>me(((e,t)=>Z(pe(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)||ve(e)?(s?.(),!1):(ke(e,(s,n)=>{t(s,n)||Ee(e,n)}),!!n||!He(e)),Fe=e=>new Map(e),Qe=e=>[...e?.keys()??[]],ze=(e,t)=>e?.get(t),Ne=(e,t)=>Le(e,(e,s)=>t(s,e)),Oe=(e,t,s)=>F(s)?(Ce(e,t),e):e?.set(t,s),We=(e,t,s,n)=>(fe(e,t)?n?.(ze(e,t)):Oe(e,t,s()),ze(e,t)),Ae=(e,t,s,n=Oe)=>(De(t,(t,n)=>s(e,n,t)),Ne(e,s=>Me(t,s)?0:n(e,s)),e),Pe=(e,t,s,n)=>{const l={};return Le(e,(e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;n?.(s)||(l[o]=s)}}),l},je=(e,t,s)=>Pe(e,e=>Pe(e,t,s),Ie,He),_e=(e,t,s)=>Pe(e,e=>je(e,t,s),Ie,He),Be=(e,t)=>{const s=Fe();return Le(e,(e,n)=>s.set(n,t?.(e)??e)),s},Ue=e=>Be(e,Be),qe=e=>Be(e,Ue),Ge=(e,t,s,n,l=0)=>Q((s?We:ze)(e,t[l],l>P(t)-2?s:Fe),o=>{if(l>P(t)-2)return n?.(o)&&Oe(e,t[l]),o;const a=Ge(o,t,s,n,l+1);return Ie(o)&&Oe(e,t[l]),a}),Ke=e=>new Set(W(e)||F(e)?e:[e]),Xe=(e,t)=>e?.add(t),Ye=(e,t,s,n,l)=>{const o=e.hasRow,a=Fe(),r=Fe(),i=Fe(),d=Fe(),c=Fe(),u=Fe(),g=(t,s,...n)=>{const l=We(u,t,Ke);return Y(n,t=>Xe(l,t)&&s&&e.callListener(t)),n},h=(t,...s)=>Q(ze(u,t),n=>{Y(ee(s)?be(n):s,t=>{e.delListener(t),Ce(n,t)}),Ie(n)&&Oe(u,t)}),f=(e,s)=>{Oe(a,e,s),fe(r,e)||(Oe(r,e,t()),Oe(d,e,Fe()),Oe(c,e,Fe()),l(i))},I=e=>{Oe(a,e),Oe(r,e),Oe(d,e),Oe(c,e),h(e),l(i)};return[()=>e,()=>Qe(a),e=>Ne(r,e),e=>fe(r,e),e=>ze(a,e),e=>ze(r,e),(e,t)=>Oe(r,e,t),f,(t,n,l,a,r)=>{f(t,n);const i=Fe(),u=Fe(),I=ze(d,t),b=ze(c,t),w=t=>{const l=s=>e.getCell(n,t,s),d=ze(I,t),c=o(n,t)?s(a(l,t)):void 0;if(d===c||W(d)&&W(c)&&G(d,c)||Oe(i,t,[d,c]),!F(r)){const e=ze(b,t),s=o(n,t)?r(l,t):void 0;e!=s&&Oe(u,t,s)}},L=e=>{l(()=>{Le(i,([,e],t)=>Oe(I,t,e)),Le(u,(e,t)=>Oe(b,t,e))},i,u,I,b,e),we(i),we(u)};Ne(I,w),e.hasTable(n)&&Y(e.getRowIds(n),e=>{fe(I,e)||w(e)}),L(!0),h(t),g(t,0,e.addRowListener(n,null,(e,t,s)=>w(s)),e.addTableListener(n,()=>L()))},I,e=>n(e,i),()=>Ne(u,I),g,h]},Ze=(e,s)=>N(e)?t=>t(e):e??(()=>s??t),$e=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const l=s.get(n);return t?.(l),l}},et=/^\d+$/,tt=()=>{const e=[];let s=0;return[n=>(n?le(e):null)??t+s++,t=>{et.test(t)&&P(e)<1e3&&se(e,t)}]},st=e=>{let s;const[n,l]=tt(),o=Fe();return[(l,a,r,i=[],d=()=>[])=>{s??=e();const c=n(1);return Oe(o,c,[l,a,r,i,d]),Xe(Ge(a,r??[t],Ke),c),c},(e,n,...l)=>Y(((e,s=[t])=>{const n=[],l=(e,t)=>t==P(s)?se(n,e):null===s[t]?Le(e,e=>l(e,t+1)):Y([s[t],null],s=>l(ze(e,s),t+1));return l(e,0),n})(e,n),e=>Le(e,e=>ze(o,e)[0](s,...n??[],...l))),e=>Q(ze(o,e),([,s,n])=>(Ge(s,n??[t],void 0,t=>(Ce(t,e),Ie(t)?1:0)),Oe(o,e),l(e),n)),e=>Q(ze(o,e),([e,,t=[],n,l])=>{const o=(...a)=>{const r=P(a);r==P(t)?e(s,...a,...l(a)):F(t[r])?Y(n[r]?.(...a)??[],e=>o(...a,e)):o(...a,t[r])};o()})]},nt=$e(e=>{let s,n,l,o=100,a=Fe(),r=Fe(),i=1;const d=Fe(),c=Fe(),[u,g,h]=st(()=>J),f=Fe(),I=Fe(),b=[],w=[],L=(t,s)=>{i=0,e.transaction(()=>{const[n,l]=ze(f,s);Le(n,(s,n)=>Le(s,(s,l)=>Le(s,(s,o)=>re(e,n,l,o,s[t])))),Le(l,(s,n)=>ie(e,n,s[t]))}),i=1},C=e=>{Oe(f,e),Oe(I,e),g(c,[e])},R=(e,t)=>Y(((e,t)=>e.splice(0,t))(e,t??P(e)),C),T=()=>R(b,P(b)-o),v=()=>Q(s,()=>{se(b,s),T(),R(w),s=void 0,l=1}),p=()=>{s=ne(b),l=1};let S,y;const V=(e=t)=>(F(s)&&(s=t+n++,Oe(f,s,[a,r]),D(s,e),a=Fe(),r=Fe(),l=1),s),m=()=>{ee(b)||(((e,...t)=>{e.unshift(...t)})(w,V()),L(0,s),s=ne(b),l=1)},M=()=>{ee(w)||(se(b,s),s=le(w),L(1,s),l=1)},E=()=>{l&&(g(d),l=0)},k=e=>{const t=V(e);return E(),t},D=(e,t)=>(H(e)&&ze(I,e)!==t&&(Oe(I,e,t),g(c,[e])),J),H=e=>fe(f,e),J={setSize:e=>(o=e,T(),J),addCheckpoint:k,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...b],s,[...w]],forEachCheckpoint:e=>Ne(I,e),hasCheckpoint:H,getCheckpoint:e=>ze(I,e),goBackward:()=>(m(),E(),J),goForward:()=>(M(),E(),J),goTo:e=>{const t=U(b,e)?m:U(w,e)?M:null;for(;!F(t)&&e!=s;)t();return E(),J},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),J),clear:()=>(R(b),R(w),F(s)||C(s),s=void 0,n=0,k(),J),clearForward:()=>(ee(w)||(R(w),g(d)),J),destroy:()=>{e.delListener(S),e.delListener(y)},getListenerStats:()=>({checkpointIds:ue(d),checkpoint:ue(c)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,(e,t,s,n,l,o)=>{if(i){v();const e=We(a,t,Fe),r=We(e,s,Fe),i=We(r,n,()=>[o,void 0]);i[1]=l,i[0]===l&&Ie(Oe(r,n))&&Ie(Oe(e,s))&&Ie(Oe(a,t))&&p(),E()}}),y=e.addValueListener(null,(e,t,s,n)=>{if(i){v();const e=We(r,t,()=>[n,void 0]);e[1]=s,e[0]===s&&Ie(Oe(r,t))&&p(),E()}})}};return Ve(J.clear())},e=>e._registerListeners()),lt=M("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ot=Fe(Z(lt,(e,t)=>[e,t])),at=e=>lt[63&e],rt=(e,t)=>ze(ot,e[t])??0,it=E.crypto?e=>E.crypto.getRandomValues(e):e=>Z(e,()=>J(256*k.random())),dt=(e=16)=>te(it(new Uint8Array(e)),(e,t)=>e+at(t),t),ct=JSON.stringify,ut=JSON.parse,gt=e=>ct(e,(e,t)=>t instanceof Map?Re.fromEntries([...t]):t),ht=new E.TextEncoder,ft=e=>{let t=2166136261;return Y(ht.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},It=(e,t)=>(e^t)>>>0,bt=e=>te(pe(e),(e,[t,s])=>It(e,wt(t,s)^wt(t,0)),0),wt=(e,t)=>ft(e+":"+t),Lt=(e,t)=>ft(gt(e??null)+":"+t),Ct=Lt,Rt=wt,Tt=bt,vt=wt,pt=e=>te(pe(e),(e,[t,s])=>It(e,wt(t,s)),0),St=wt,yt=pt,Vt=2**36,mt=2**30,Mt=2**24,Et=2**18,kt=4096,Dt=e=>{const t=ft(e);return at(t/Mt)+at(t/Et)+at(t/kt)+at(t/64)+at(t)},Ht=(e,t=Date.now)=>{let s=0,n=-1;const l=Q(e,Dt,()=>dt(5)),o=e=>{const l=s,[o,a]=F(e)||""==e?[0,0]:r(e);s=D(l,o,t()),n=s==l?s==o?D(n,a):n:s==o?a:-1},a=(e,t,s)=>at(e/Vt)+at(e/mt)+at(e/Mt)+at(e/Et)+at(e/kt)+at(e/64)+at(e)+at(t/Et)+at(t/kt)+at(t/64)+at(t)+(F(s)?l:Dt(s)),r=e=>[rt(e,0)*Vt+rt(e,1)*mt+rt(e,2)*Mt+rt(e,3)*Et+rt(e,4)*kt+64*rt(e,5)+rt(e,6),rt(e,7)*Et+rt(e,8)*kt+64*rt(e,9)+rt(e,10),e.slice(11)];return[()=>(o(),a(s,++n)),o,a,r,()=>s,()=>n,()=>l]},Jt=(e,t)=>(e??0)<(t??0)?-1:1,xt=$e(e=>{const s=Fe(),n=Fe(),[l,o,a]=st(()=>C),[r,i,d,c,u,g,h,,f,I,b,w]=Ye(e,Fe,e=>F(e)?t:W(e)?Z(e,y):y(e),l,o),L=(t,s,n)=>{const l=u(t);Le(n,(t,n)=>s(n,s=>Le(t,t=>s(t,s=>e.forEachCell(l,t,s)))))},C={setIndexDefinition:(e,t,l,a,r,i=Jt)=>{const d=F(r)?void 0:([e],[t])=>r(e,t);return f(e,t,(t,l,r,c,u,f)=>{let I=0;const b=Ke(),w=Ke(),L=g(e);if(Le(l,([e,t],s)=>{const n=Ke(e),l=Ke(t);Le(n,e=>Ce(l,e)?Ce(n,e):0),Le(n,e=>{Xe(b,e),Q(ze(L,e),t=>{Ce(t,s),Ie(t)&&(Oe(L,e),I=1)})}),Le(l,e=>{Xe(b,e),fe(L,e)||(Oe(L,e,Ke()),I=1),Xe(ze(L,e),s),F(a)||Xe(w,e)})}),t(),Ie(u)||(f?Ne(L,e=>Xe(w,e)):Ne(r,e=>Q(ze(c,e),e=>Y(W(e)?e:[e],e=>Xe(w,e)))),Le(w,e=>{const t=(t,s)=>i(ze(u,t),ze(u,s),e),s=[...ze(L,e)];K(s,t)||(Oe(L,e,Ke(X(s,t))),Xe(b,e))})),(I||f)&&!F(d)){const t=[...L];K(t,d)||(h(e,Fe(X(t,d))),I=1)}I&&o(s,[e]),Le(b,t=>o(n,[e,t]))},Ze(l),Q(a,Ze)),C},delIndexDefinition:e=>(I(e),C),getStore:r,getIndexIds:i,forEachIndex:e=>d((t,s)=>e(t,e=>L(t,e,s))),forEachSlice:(e,t)=>L(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>fe(g(e),t),getTableId:u,getSliceIds:e=>Qe(g(e)),getSliceRowIds:(e,t)=>be(ze(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,t)=>l(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>l(s,n,[e,t]),delListener:e=>(a(e),C),destroy:w,getListenerStats:()=>({sliceIds:ue(s),sliceRowIds:ge(n)})};return Ve(C)}),Ft=([e,t])=>zt(e,t),Qt=([e,t,s])=>[e,t,s],zt=(e,t)=>t?[e,t]:[e],Nt=(e,t,s)=>[e,t,s],Ot=e=>e[2],Wt=(e,t)=>t>e?(e?ft(e):0)^ft(t):0,At=(e,t)=>((e??"")>(t??"")?e:t)??"",Pt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},jt=(e=t)=>zt(me(),e),_t=(e=t)=>[Fe(),e,0],Bt=([e,t,s],n=Qt)=>[Pe(e,n),t,s],Ut=([e,t],s=Ft)=>zt(Pe(e,s),t),qt=(t,s)=>W(t)&&3==P(t)&&N(t[1])&&e(t[2])==l&&x(t[2])&&s(t[0]),Gt=e=>[e,e],Kt=(e,t=ue)=>t(e[0])+t(e[1]),Xt=()=>[Fe(),Fe()],Yt=e=>[...e],Zt=([e,t])=>e===t,$t=(e,t,s)=>Oe(e,t,ze(e,t)==-s?void 0:s),es=()=>{let e,t,s=!1,n=!1,o=0,d=[];const g=Fe(),C=Fe(),V=Fe(),m=Fe(),M=Fe(),E=Fe(),k=Fe(),D=Fe(),H=Fe(),J=Fe(),x=Fe(),N=Fe(),P=Fe(),j=Fe(),_=Ke(),q=Fe(),K=Fe(),$=Fe(),ee=Fe(),te=Xt(),ne=Xt(),le=Xt(),ae=Xt(),de=Xt(),be=Xt(),Re=Xt(),Te=Xt(),ve=Xt(),pe=Xt(),ye=Xt(),me=Xt(),ke=Xt(),Je=Xt(),Ge=Xt(),Ye=Xt(),Ze=Xt(),$e=Xt(),et=Xt(),nt=Xt(),lt=Xt(),ot=Xt(),at=Fe(),rt=Xt(),[it,dt,ct,ht]=st(()=>Ps),ft=e=>{if(!xe(e,(e,t)=>U([a,r],t)))return!1;const t=e[a];return!(!z(t)&&t!=l||(oe(e[r])!=t&&Ee(e,r),0))},It=W,bt=(t,s)=>(!e||fe(x,s)||Ut(s))&&xe(t,(e,t)=>wt(s,t,e),()=>Ut(s)),wt=(e,t,s,n)=>xe(n?s:Tt(s,e,t),(n,l)=>Q(Lt(e,t,l,n),e=>(s[l]=e,!0),()=>!1),()=>Ut(e,t)),Lt=(t,s,n,l)=>e?Q(ze(ze(x,t),n),e=>oe(l)!=e[a]?Ut(t,s,n,l,e[r]):l,()=>Ut(t,s,n,l)):F(oe(l))?Ut(t,s,n,l):l,Ct=(e,t)=>xe(t?e:vt(e),(t,s)=>Q(Rt(s,t),t=>(e[s]=t,!0),()=>!1),()=>qt()),Rt=(e,s)=>t?Q(ze(P,e),t=>oe(s)!=t[a]?qt(e,s,t[r]):s,()=>qt(e,s)):F(oe(s))?qt(e,s):s,Tt=(e,t,s)=>(Q(ze(N,t),([n,l])=>{Le(n,(t,s)=>{Me(e,s)||(e[s]=t)}),Le(l,n=>{Me(e,n)||Ut(t,s,n)})}),e),vt=e=>(t&&(Le(j,(t,s)=>{Me(e,s)||(e[s]=t)}),Le(_,t=>{Me(e,t)||qt(t)})),e),pt=e=>Ae(x,e,(e,t,s)=>{const n=Fe(),l=Ke();Ae(We(x,t,Fe),s,(e,t,s)=>{Oe(e,t,s),Q(s[r],e=>Oe(n,t,e),()=>Xe(l,t))}),Oe(N,t,[n,l])},(e,t)=>{Oe(x,t),Oe(N,t)}),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)?Js():Ms(e),Vt=e=>Ae($,e,(e,t,s)=>mt(t,s),(e,t)=>Qt(t)),mt=(e,t)=>Ae(We($,e,()=>(Wt(e,1),Oe(q,e,tt()),Oe(K,e,Fe()),Fe())),t,(t,s,n)=>Mt(e,t,s,n),(t,s)=>zt(e,t,s)),Mt=(e,t,s,n,l)=>Ae(We(t,s,()=>(At(e,s,1),Fe())),n,(t,n,l)=>Et(e,s,t,n,l),(n,o)=>Nt(e,t,s,n,o,l)),Et=(e,t,s,n,l)=>{fe(s,n)||Pt(e,t,n,1);const o=ze(s,n);l!==o&&(jt(e,t,n,o,l),Oe(s,n,l))},kt=(e,t,s,n,l)=>Q(ze(t,s),t=>Et(e,s,t,n,l),()=>Mt(e,t,s,Tt({[n]:l},e,s))),Dt=e=>He(e)?Qs():Es(e),Ht=e=>Ae(ee,e,(e,t,s)=>xt(t,s),(e,t)=>Ot(t)),xt=(e,t)=>{fe(ee,e)||_t(e,1);const s=ze(ee,e);t!==s&&(Bt(e,s,t),Oe(ee,e,t))},Ft=e=>ze($,e)??mt(e,{}),Qt=e=>mt(e,{}),zt=(e,t,s)=>{const[,n]=ze(q,e);n(s),Mt(e,t,s,{},!0)},Nt=(e,t,s,n,l,o)=>{const a=ze(ze(N,e)?.[0],l);if(!F(a)&&!o)return Et(e,s,n,l,a);const r=t=>{jt(e,s,t,ze(n,t)),Pt(e,s,t,-1),Oe(n,t)};F(a)?r(l):Ne(n,r),Ie(n)&&(At(e,s,-1),Ie(Oe(t,s))&&(Wt(e,-1),Oe($,e),Oe(q,e),Oe(K,e)))},Ot=e=>{const t=ze(j,e);if(!F(t))return xt(e,t);Bt(e,ze(ee,e)),_t(e,-1),Oe(ee,e)},Wt=(e,t)=>$t(g,e,t),At=(e,t,s)=>$t(We(m,e,Fe),t,s)&&Oe(V,e,We(V,e,()=>0)+s),Pt=(e,t,s,n)=>{const l=ze(K,e),o=ze(l,s)??0;(0==o&&1==n||1==o&&-1==n)&&$t(We(C,e,Fe),s,n),Oe(l,s,o!=-n?o+n:null),$t(We(We(M,e,Fe),t,Fe),s,n)},jt=(e,t,s,n,l)=>{We(We(We(E,e,Fe),t,Fe),s,()=>[n,0])[1]=l,d[3]?.(e,t,s,l)},_t=(e,t)=>$t(k,e,t),Bt=(e,t,s)=>{We(D,e,()=>[t,0])[1]=s,d[4]?.(e,s)},Ut=(e,t,s,n,l)=>(se(We(We(We(H,e,Fe),t,Fe),s,()=>[]),n),l),qt=(e,t,s)=>(se(We(J,e,()=>[]),t),s),ts=(e,t,s)=>Q(ze(ze(ze(E,e),t),s),([e,t])=>[!0,e,t],()=>[!1,...Gt(ws(e,t,s))]),ss=e=>Q(ze(D,e),([e,t])=>[!0,e,t],()=>[!1,...Gt(Rs(e))]),ns=e=>Ie(H)||Ie(Ye[e])?0:Le(e?qe(H):H,(t,s)=>Le(t,(t,n)=>Le(t,(t,l)=>dt(Ye[e],[s,n,l],t)))),ls=e=>Ie(J)||Ie(Ze[e])?0:Le(e?Be(J):J,(t,s)=>dt(Ze[e],[s],t)),os=(e,t,s,n)=>{if(!Ie(e))return dt(t,n,()=>Pe(e)),Ne(e,(e,t)=>dt(s,[...n??[],e],1==t)),1},as=e=>{const t=Ts();t!=s&&dt(te[e],void 0,t);const n=Ie(pe[e]),l=Ie(ke[e])&&Ie(Je[e])&&Ie(ve[e])&&Ie(ye[e])&&Ie(be[e])&&Ie(Re[e])&&Ie(Te[e])&&n&&Ie(le[e])&&Ie(ae[e]),o=Ie(Ge[e])&&Ie(me[e])&&Ie(de[e])&&Ie(ne[e]);if(!l||!o){const t=e?[Be(g),Ue(C),Be(V),Ue(m),qe(M),qe(E)]:[g,C,V,m,M,E];if(!l){os(t[0],le[e],ae[e]),Le(t[1],(t,s)=>os(t,be[e],Re[e],[s])),Le(t[2],(t,s)=>{0!=t&&dt(Te[e],[s],hs(s))});const s=Ke();Le(t[3],(t,l)=>{os(t,ve[e],ye[e],[l])&&!n&&(dt(pe[e],[l,null]),Xe(s,l))}),n||Le(t[5],(t,n)=>{if(!fe(s,n)){const s=Ke();Le(t,e=>Le(e,([t,n],l)=>n!==t?Xe(s,l):Ce(e,l))),Le(s,t=>dt(pe[e],[n,t]))}}),Le(t[4],(t,s)=>Le(t,(t,n)=>os(t,ke[e],Je[e],[s,n])))}if(!o){let s;Le(t[5],(t,n)=>{let l;Le(t,(t,o)=>{let a;Le(t,([t,r],i)=>{r!==t&&(dt(Ge[e],[n,o,i],r,t,ts),s=l=a=1)}),a&&dt(me[e],[n,o],ts)}),l&&dt(de[e],[n],ts)}),s&&dt(ne[e],void 0,ts)}}},rs=e=>{const t=Vs();t!=n&&dt($e[e],void 0,t);const s=Ie(nt[e])&&Ie(lt[e]),l=Ie(ot[e])&&Ie(et[e]);if(!s||!l){const t=e?[Be(k),Be(D)]:[k,D];if(s||os(t[0],nt[e],lt[e]),!l){let s;Le(t[1],([t,n],l)=>{n!==t&&(dt(ot[e],[l],n,t,ss),s=1)}),s&&dt(et[e],void 0,ss)}}},is=(e,...t)=>(Os(()=>e(...Z(t,y))),Ps),ds=(e,t,s,n,l)=>{let o=Is(e,t,...s);return it(()=>{const l=Is(e,t,...s);G(l,o)||(o=l,n(Ps,e,t,...s,o))},pe[l?1:0],[e,t],[us])},cs=()=>_e($),us=()=>Qe($),gs=e=>Qe(ze(K,y(e))),hs=e=>ce(ze($,y(e))),fs=e=>Qe(ze($,y(e))),Is=(e,t,s,n=0,l)=>{return Se(e)?Is(e.tableId,e.cellId,e.descending,e.offset,e.limit):Z(A(X((o=ze($,y(e)),a=(e,s)=>[F(t)?s:ze(e,y(t)),s],Z([...o?.entries()??[]],([e,t])=>a(t,e))),([e],[t])=>Jt(e,t)*(s?-1:1)),n,F(l)?l:n+l),([,e])=>e);var o,a},bs=(e,t)=>Qe(ze(ze($,y(e)),y(t))),ws=(e,t,s)=>ze(ze(ze($,y(e)),y(t)),y(s)),Ls=()=>Pe(ee),Cs=()=>Qe(ee),Rs=e=>ze(ee,y(e)),Ts=()=>!Ie($),vs=e=>fe($,y(e)),ps=(e,t)=>fe(ze(K,y(e)),y(t)),Ss=(e,t)=>fe(ze($,y(e)),y(t)),ys=(e,t,s)=>fe(ze(ze($,y(e)),y(t)),y(s)),Vs=()=>!Ie(ee),ms=e=>fe(ee,y(e)),Ms=e=>is(()=>(e=>xe(e,bt,Ut))(e)?Vt(e):0),Es=e=>is(()=>Ct(e)?Ht(e):0),ks=e=>(B(()=>yt(ut(e))),Ps),Ds=t=>is(()=>{if((e=xe(t,e=>xe(e,ft)))&&(pt(t),!Ie($))){const e=cs();Js(),Ms(e)}}),Hs=e=>is(()=>{if(t=(e=>xe(e,ft))(e)){const s=Ls();Ns(),Qs(),t=!0,St(e),Es(s)}}),Js=()=>is(()=>Vt({})),xs=e=>is(e=>fe($,e)?Qt(e):0,e),Fs=(e,t)=>is((e,t)=>Q(ze($,e),s=>fe(s,t)?zt(e,s,t):0),e,t),Qs=()=>is(()=>Ht({})),zs=()=>is(()=>{pt({}),e=!1}),Ns=()=>is(()=>{St({}),t=!1}),Os=(e,t)=>{if(-1!=o){Ws();const s=e();return As(t),s}},Ws=()=>(-1!=o&&o++,1==o&&(d[0]?.(),dt(at)),Ps),As=e=>(o>0&&(o--,0==o&&(o=1,ns(1),Ie(E)||as(1),ls(1),Ie(D)||rs(1),e?.(Ps)&&(Le(E,(e,t)=>Le(e,(e,s)=>Le(e,([e],n)=>re(Ps,t,s,n,e)))),we(E),Le(D,([e],t)=>ie(Ps,t,e)),we(D)),dt(rt[0],void 0),o=-1,ns(0),Ie(E)||as(0),ls(0),Ie(D)||rs(0),d[1]?.(),dt(rt[1],void 0),d[2]?.(),o=0,s=Ts(),n=Vs(),Y([g,C,V,m,M,E,H,k,D,J],we))),Ps),Ps={getContent:()=>[cs(),Ls()],getTables:cs,getTableIds:us,getTable:e=>je(ze($,y(e))),getTableCellIds:gs,getRowCount:hs,getRowIds:fs,getSortedRowIds:Is,getRow:(e,t)=>Pe(ze(ze($,y(e)),y(t))),getCellIds:bs,getCell:ws,getValues:Ls,getValueIds:Cs,getValue:Rs,hasTables:Ts,hasTable:vs,hasTableCell:ps,hasRow:Ss,hasCell:ys,hasValues:Vs,hasValue:ms,getTablesJson:()=>gt($),getValuesJson:()=>gt(ee),getJson:()=>gt([$,ee]),getTablesSchemaJson:()=>gt(x),getValuesSchemaJson:()=>gt(P),getSchemaJson:()=>gt([x,P]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>is(()=>{const t=O(e)?e():e;It(t)&&(([e,t])=>{(He(e)?Js:Ms)(e),(He(t)?Qs:Es)(t)})(t)}),setTables:Ms,setTable:(e,t)=>is(e=>bt(t,e)?mt(e,t):0,e),setRow:(e,t,s)=>is((e,t)=>wt(e,t,s)?Mt(e,Ft(e),t,s):0,e,t),addRow:(e,t,s=!0)=>Os(()=>{let n;return wt(e,n,t)&&(e=y(e),Mt(e,Ft(e),n=((e,t)=>{const[s]=ze(q,e);let n;do{n=s(t)}while(fe(ze($,e),n));return n})(e,s?1:0),t)),n}),setPartialRow:(e,t,s)=>is((e,t)=>{if(wt(e,t,s,1)){const n=Ft(e);De(s,(s,l)=>kt(e,n,t,l,s))}},e,t),setCell:(e,t,s,n)=>is((e,t,s)=>Q(Lt(e,t,s,O(n)?n(ws(e,t,s)):n),n=>kt(e,Ft(e),t,s,n)),e,t,s),setValues:Es,setPartialValues:e=>is(()=>Ct(e,1)?De(e,(e,t)=>xt(t,e)):0),setValue:(e,t)=>is(e=>Q(Rt(e,O(t)?t(Rs(e)):t),t=>xt(e,t)),e),applyChanges:e=>is(()=>{De(e[0],(e,t)=>F(e)?xs(t):De(e,(e,s)=>F(e)?Fs(t,s):De(e,(e,n)=>re(Ps,t,s,n,e)))),De(e[1],(e,t)=>ie(Ps,t,e))}),setTablesJson:ks,setValuesJson:e=>(B(()=>Dt(ut(e))),Ps),setJson:e=>is(()=>B(()=>{const[t,s]=ut(e);yt(t),Dt(s)},()=>ks(e))),setTablesSchema:Ds,setValuesSchema:Hs,setSchema:(e,t)=>is(()=>{Ds(e),Hs(t)}),delTables:Js,delTable:xs,delRow:Fs,delCell:(e,t,s,n)=>is((e,t,s)=>Q(ze($,e),l=>Q(ze(l,t),o=>fe(o,s)?Nt(e,l,t,o,s,n):0)),e,t,s),delValues:Qs,delValue:e=>is(e=>fe(ee,e)?Ot(e):0,e),delTablesSchema:zs,delValuesSchema:Ns,delSchema:()=>is(()=>{zs(),Ns()}),transaction:Os,startTransaction:Ws,getTransactionChanges:()=>[Pe(E,(e,t)=>-1===ze(g,t)?void 0:Pe(e,(e,s)=>-1===ze(ze(m,t),s)?void 0:Pe(e,([,e])=>e,e=>Zt(e)),Ie,He),Ie,He),Pe(D,([,e])=>e,e=>Zt(e)),1],getTransactionLog:()=>[!Ie(E),!Ie(D),_e(E,Yt,Zt),_e(H),Pe(D,Yt,Zt),Pe(J),Pe(g),je(m),_e(M),Pe(k)],finishTransaction:As,forEachTable:e=>Le($,(t,s)=>e(s,e=>Le(t,(t,s)=>e(s,e=>Ne(t,e))))),forEachTableCell:(e,t)=>Ne(ze(K,y(e)),t),forEachRow:(e,t)=>Le(ze($,y(e)),(e,s)=>t(s,t=>Ne(e,t))),forEachCell:(e,t,s)=>Ne(ze(ze($,y(e)),y(t)),s),forEachValue:e=>Ne(ee,e),addSortedRowIdsListener:(e,t,s,n,l,o,a)=>Se(e)?ds(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):ds(e,t,[s,n,l],o,a),addStartTransactionListener:e=>it(e,at),addWillFinishTransactionListener:e=>it(e,rt[0]),addDidFinishTransactionListener:e=>it(e,rt[1]),callListener:e=>(ht(e),Ps),delListener:e=>(ct(e),Ps),getListenerStats:()=>({hasTables:Kt(te),tables:Kt(ne),tableIds:Kt(le),hasTable:Kt(ae),table:Kt(de),tableCellIds:Kt(be),hasTableCell:Kt(Re,ge),rowCount:Kt(Te),rowIds:Kt(ve),sortedRowIds:Kt(pe),hasRow:Kt(ye,ge),row:Kt(me,ge),cellIds:Kt(ke,ge),hasCell:Kt(Je,he),cell:Kt(Ge,he),invalidCell:Kt(Ye,he),hasValues:Kt($e),values:Kt(et),valueIds:Kt(nt),hasValue:Kt(lt),value:Kt(ot),invalidValue:Kt(Ze),transaction:ue(at)+Kt(rt)}),isMergeable:()=>!1,createStore:es,addListener:it,callListeners:dt,setInternalListeners:(e,t,s,n,l)=>d=[e,t,s,n,l]};return De({[u+f]:[0,te,[],()=>[Ts()]],[f]:[0,ne],[I]:[0,le],[u+h]:[1,ae,[us],e=>[vs(...e)]],[h]:[1,de,[us]],[h+T]:[1,be,[us]],[u+h+R]:[2,Re,[us,gs],e=>[ps(...e)]],[w]:[1,Te,[us]],[L]:[1,ve,[us]],[u+b]:[2,ye,[us,fs],e=>[Ss(...e)]],[b]:[2,me,[us,fs]],[T]:[2,ke,[us,fs]],[u+R]:[3,Je,[us,fs,bs],e=>[ys(...e)]],[R]:[3,Ge,[us,fs,bs],e=>Gt(ws(...e))],InvalidCell:[3,Ye],[u+p]:[0,$e,[],()=>[Vs()]],[p]:[0,et],[S]:[0,nt],[u+v]:[1,lt,[Cs],e=>[ms(...e)]],[v]:[1,ot,[Cs],e=>Gt(Rs(e[0]))],InvalidValue:[1,Ze]},([e,t,s,n],l)=>{Ps[c+l+i]=(...l)=>it(l[e],t[l[e+1]?1:0],e>0?A(l,0,e):void 0,s,n)}),Ve(Ps)},ts={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},ss=(e=t)=>[_t(e),_t(e)],ns=(e,s)=>{let n=1,l=ss(),o=0;const a=Fe(),r=Ke(),[d,u]=Ht(e,s),g=es(),h=e=>{const t=n;return n=0,e(),n=t,R},f=(e,s=0)=>{const n={},o={},[[a,r=t,i=0],d]=e,[c,g]=l,[h,f,b]=c;let w=s?i:b,L=r;ke(a,([e,l=t,o=0],a)=>{const r=We(h,a,_t),[i,d,c]=r;let u=s?o:c,g=l;ke(e,(e,t)=>{const[l,o,r]=I(e,We(i,t,_t),Je(Je(n,a,me),t,me),s);u^=s?0:It(o?wt(t,o):0,wt(t,r)),g=At(g,l)}),u^=s?0:Wt(d,l),Pt(r,l,u),w^=s?0:It(c?wt(a,c):0,wt(a,r[2])),L=At(L,g)}),w^=s?0:Wt(f,r),Pt(c,r,w);const[C]=I(d,g,o,s);return u(At(L,C)),[n,o,1]},I=(e,s,n,l)=>{const[o,a=t,r=0]=e,[i,d,c]=s;let u=a,g=l?r:c;return ke(o,([e,s=t,o=0],a)=>{const r=We(i,a,()=>[void 0,t,0]),[,d,c]=r;(!d||s>d)&&(Pt(r,s,l?o:Lt(e,s)),r[0]=e,n[a]=e,g^=l?0:It(wt(a,c),wt(a,r[2])),u=At(u,s))}),g^=l?0:Wt(d,a),Pt(s,a,g),[u,c,s[2]]},b=_,w=_,L=()=>[Bt(l[0],e=>Bt(e,e=>Bt(e))),Bt(l[1])],C=e=>h(()=>g.applyChanges(f(e))),R={getMergeableContent:L,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>Pe(l[0][0],Ot),getMergeableTableDiff:e=>{const t=jt(l[0][1]),s={};return Ne(l[0][0],(n,[l,o,a])=>Me(e,n)?a!=e[n]?s[n]=a:0:t[0][n]=Ut([l,o],e=>Ut(e))),[t,s]},getMergeableRowHashes:e=>{const t={};return ke(e,(e,s)=>Q(ze(l[0][0],s),([n,,l])=>l!=e?Ne(n,(e,[,,n])=>Je(t,s,me)[e]=n):0)),t},getMergeableRowDiff:e=>{const t=jt(l[0][1]),s={};return ke(e,(e,n)=>Ne(ze(l[0][0],n)?.[0],(l,[o,a,r])=>Me(e,l)?r!==e[l]?Je(s,n,me)[l]=r:0:Je(t[0],n,jt)[0][l]=Ut([o,a]))),[t,s]},getMergeableCellHashes:e=>{const t={};return ke(e,(e,s)=>Q(ze(l[0][0],s),([n])=>ke(e,(e,l)=>Q(ze(n,l),([n,,o])=>o!==e?Ne(n,(e,[,,n])=>Je(Je(t,s,me),l,me)[e]=n):0)))),t},getMergeableCellDiff:e=>{const[[t,s]]=l,n={};return ke(e,(e,s)=>ke(e,(e,l)=>Q(ze(t,s),([t,o])=>Q(ze(t,l),([t,a])=>Ne(t,(t,[r,i,d])=>d!==e[t]?Je(Je(n,s,()=>jt(o))[0],l,()=>jt(a))[0][t]=[r,i]:0))))),zt(n,s)},getMergeableValueHashes:()=>Pe(l[1][0],Ot),getMergeableValueDiff:e=>{const[,[t,s]]=l,n=Pe(t,Ft,([,,t],s)=>t==e?.[s]);return zt(n,s)},setMergeableContent:e=>h(()=>(e=>W(e)&&2==P(e)&&qt(e[0],e=>xe(e,e=>qt(e,e=>xe(e,e=>qt(e,e=>xe(e,e=>qt(e,ae),void 0,1)),void 0,1)),void 0,1))&&qt(e[1],e=>xe(e,e=>qt(e,ae),void 0,1)))(e)?g.transaction(()=>{g.delTables().delValues(),l=ss(),g.applyChanges(f(e,1))}):0),setDefaultContent:e=>(g.transaction(()=>{o=1,g.setContent(e),o=0}),R),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,n],[o,i,d]]=l,c=e?Nt:zt,u={};Le(a,(e,s)=>Q(ze(t,s),([t,n,l])=>{const o={};Le(e,(e,s)=>Q(ze(t,s),([t,n,l])=>{const a={};Le(e,e=>{Q(ze(t,e),([t,s,n])=>a[e]=c(t,s,n))}),o[s]=c(a,n,l)})),u[s]=c(o,n,l)}));const g={};return Le(r,e=>Q(ze(o,e),([t,s,n])=>g[e]=c(t,s,n))),[c(u,s,n),c(g,i,d),1]},applyMergeableChanges:C,merge:e=>{const t=L(),s=e.getMergeableContent();return e.applyMergeableChanges(t),C(s)}};return g.setInternalListeners(b,w,()=>{we(a),we(r)},(e,s,l,r)=>{Xe(We(We(a,e,Fe),s,Ke),l),n&&f([[{[e]:[{[s]:[{[l]:[r,o?t:d()]}]}]}],[{}],1])},(e,s)=>{Xe(r,e),n&&f([[{}],[{[e]:[s,o?t:d()]}],1])}),De(g,(e,t)=>R[t]=V(t,"set")||V(t,"del")||V(t,"apply")||m(t,"Transaction")||t=="call"+i?(...t)=>(e(...t),R):V(t,c)&&m(t,i)?(...s)=>{const n=ts[A(t,3,-8)]??0,l=s[n];return s[n]=(e,...t)=>l(R,...t),e(...s)}:"isMergeable"==t?()=>!0:e),Ve(R)},ls=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]]]),os=(e,t,s,n,l,o=!1)=>{if(Ie(s))return;const[a,r,i,d]=l;return o||=F(e),Le(n,([s,n])=>{o||(e=F(s)?r?.(e,n,t++):F(n)?i?.(e,s,t--):d?.(e,n,s,t),o||=F(e))}),o?a(be(s),ce(s)):e},as=$e(e=>{const s=Fe(),[n,l,o]=st(()=>w),[a,r,i,d,c,u,g,,h,f,I,b]=Ye(e,j,e=>isNaN(e)||F(e)||!0===e||!1===e||e===t?void 0:1*e,n,l),w={setMetricDefinition:(e,t,n,o,a,r,i)=>{const d=O(n)?[n,a,r,i]:ze(ls,n)??ze(ls,"sum");return h(e,t,(t,n,o,a,r,i)=>{const c=u(e),h=ce(a);i||=F(c),t();let f=os(c,h,a,n,d,i);x(f)||(f=void 0),f!=c&&(g(e,f),l(s,[e],f,c))},Ze(o,1)),w},delMetricDefinition:e=>(f(e),w),getStore:a,getMetricIds:r,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:I,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),w),destroy:b,getListenerStats:()=>({metric:ue(s)})};return Ve(w)}),rs=$e(e=>{const s=e.createStore,n=s(),l=s(),o=Fe(),{addListener:a,callListeners:r,delListener:u}=l,[g,f,I,v,p,,,S,,y,V,m,M,E]=Ye(e,()=>!0,j,a,r),k=(e,t,...s)=>Y(s,s=>Xe(We(We(o,t,Fe),e,Ke),s)),D=e=>{Q(ze(o,e),e=>{Ne(e,(e,t)=>Le(t,t=>e.delListener(t))),we(e)}),Y([l,n],t=>t.delTable(e))},H=(e,t,s)=>k(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener(()=>s.finishTransaction())),J={setQueryDefinition:(s,o,a)=>{S(s,o),D(s);const r=[],i=[[null,[o,null,null,[],Fe()]]],d=[],c=[],u=[];a({select:(e,s)=>{const n=O(e)?[P(r)+t,e]:[F(s)?e:s,t=>t(e,s)];return se(r,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=F(s)||O(t)?null:t,l=F(n)?t:s,o=[e,[e,n,O(l)?l:e=>e(l),[],Fe()]];return se(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>se(d,O(e)?e:F(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,l)=>{const o=[e,[e,O(t)?[t,s,n,l]:ze(ls,t)??[(e,t)=>t]]];return se(c,o),{as:e=>o[0]=e}},having:(e,t)=>se(u,O(e)?e:s=>s(e)===t)});const g=Fe(r);if(Ie(g))return J;const h=Fe(i);Ne(h,(e,[,t])=>Q(ze(h,t),({3:t})=>F(e)?0:se(t,e)));const f=Fe(c);let I=n;if(Ie(f)&&ee(u))I=l;else{H(s,I,l);const e=Fe();Ne(f,(t,[s,n])=>Xe(We(e,s,Ke),[t,n]));const t=Ke();Ne(g,s=>fe(e,s)?0:Xe(t,s));const n=Fe(),o=(t,n,o,a)=>Q(t,([r,i,d,c])=>{Ne(n,(t,[s])=>{const n=We(r,t,Fe),l=ze(n,o),i=a?void 0:s;if(l!==i){const s=Ke([[l,i]]),a=ce(n);Oe(n,o,i),Le(ze(e,t),([e,t])=>{const l=os(c[e],a,n,s,t);c[e]=F(oe(l))?null:l})}}),Ie(i)||!q(u,e=>e(e=>c[e]))?l.delRow(s,d):F(d)?t[2]=l.addRow(s,c):l.setRow(s,d,c)});k(I,s,I.addRowListener(s,null,(l,a,r,i)=>{const d=[],c=[],u=Fe(),g=I.hasRow(s,r);let h=!g;Le(t,e=>{const[t,n,l]=i(s,r,e);se(d,n),se(c,l),h||=t}),Ne(e,e=>{const[t,,n]=i(s,r,e);(h||t)&&Oe(u,e,[n])}),h&&o(Ge(n,d,void 0,([,e])=>(Ce(e,r),Ie(e))),u,r,1),g&&o(Ge(n,c,()=>{const e={};return Le(t,t=>e[t]=I.getCell(s,r,t)),[Fe(),Ke(),void 0,e]},([,e])=>{Xe(e,r)}),u,r)}))}H(s,e,I);const b=(t,n,l,a)=>{const r=t=>e.getCell(n,l,t);Y(a,n=>{const[l,,o,a,i]=ze(h,n),d=o?.(r,t),[c,u]=ze(i,t)??[];d!=c&&(F(u)||E(s,u),Oe(i,t,F(d)?null:[d,...M(s,1,e.addRowListener(l,d,()=>b(t,l,d,a)))]))}),(t=>{const n=(s,n)=>e.getCell(...F(n)?[o,t,s]:s===o?[o,t,n]:[ze(h,s)?.[0],ze(ze(h,s)?.[4],t)?.[0],n]);I.transaction(()=>q(d,e=>e(n))?Ne(g,(e,l)=>re(I,s,t,e,l(n,t))):I.delRow(s,t))})(t)},{3:w}=ze(h,null);return I.transaction(()=>M(s,1,e.addRowListener(o,null,(t,n,l)=>{e.hasRow(o,l)?b(l,o,l,w):(I.delRow(s,l),Le(h,({4:e})=>Q(ze(e,l),([,t])=>{E(s,t),Oe(e,l)})))}))),J},delQueryDefinition:e=>(D(e),y(e),J),getStore:g,getQueryIds:f,forEachQuery:I,hasQuery:v,getTableId:p,addQueryIdsListener:e=>V(()=>e(J)),delListener:e=>(u(e),J),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=l.getListenerStats();return n}};return De({[h]:[1,1],[h+T]:[0,1],[w]:[0,1],[L]:[0,1],[C]:[0,5],[b]:[1,2],[T]:[0,2],[R]:[1,3]},([e,t],s)=>{Y(e?["get","has","forEach"]:["get"],e=>J[e+d+s]=(...t)=>l[e+s](...t)),J[c+d+s+i]=(...e)=>l[c+s+i](...A(e,0,t),(s,...n)=>e[t](J,...n),!0)}),Ve(J)}),is=$e(e=>{const s=Fe(),n=Fe(),l=Fe(),o=Fe(),[a,r,i]=st(()=>v),[d,c,u,g,h,f,,,I,b,w,L]=Ye(e,()=>[Fe(),Fe(),Fe(),Fe()],e=>F(e)?void 0:e+t,a,r),C=(e,t,s)=>Q(f(e),([n,,l])=>{if(!fe(l,t)){const o=Ke();if(h(e)!=T(e))Xe(o,t);else{let e=t;for(;!F(e)&&!fe(o,e);)Xe(o,e),e=ze(n,e)}if(s)return o;Oe(l,t,o)}return ze(l,t)}),R=(e,t)=>Q(f(e),([,,e])=>Oe(e,t)),T=e=>ze(s,e),v={setRelationshipDefinition:(e,t,a,i)=>(Oe(s,e,a),I(e,t,(t,s)=>{const a=Ke(),i=Ke(),d=Ke(),[c,u]=f(e);Le(s,([t,s],n)=>{F(t)||(Xe(i,t),Q(ze(u,t),e=>{Ce(e,n),Ie(e)&&Oe(u,t)})),F(s)||(Xe(i,s),fe(u,s)||Oe(u,s,Ke()),Xe(ze(u,s),n)),Xe(a,n),Oe(c,n,s),Ne(ze(o,e),t=>{fe(C(e,t),n)&&Xe(d,t)})}),t(),Le(a,t=>r(n,[e,t])),Le(i,t=>r(l,[e,t])),Le(d,t=>{R(e,t),r(o,[e,t])})},Ze(i)),v),delRelationshipDefinition:e=>(Oe(s,e),b(e),v),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u(s=>t(s,t=>e.forEachRow(h(s),t))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:T,getRemoteRowId:(e,t)=>ze(f(e)?.[0],t),getLocalRowIds:(e,t)=>be(ze(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>F(f(e))?[t]:be(C(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>a(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>a(s,l,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(C(e,t),a(s,o,[e,t])),delListener:e=>(R(...i(e)??[]),v),destroy:L,getListenerStats:()=>({remoteRowId:ge(n),localRowIds:ge(l),linkedRowIds:ge(o)})};return Ve(v)});export{It as addOrRemoveHash,nt as createCheckpoints,xt as createIndexes,ns as createMergeableStore,as as createMetrics,rs as createQueries,is as createRelationships,es as createStore,Jt as defaultSorter,Ct as getCellHash,Rt as getCellInRowHash,ft as getHash,Ht as getHlcFunctions,Tt as getRowHash,vt as getRowInTableHash,pt as getTableHash,St as getTableInTablesHash,yt as getTablesHash,dt as getUniqueId,Lt as getValueHash,wt as getValueInValuesHash,bt as getValuesHash};
|
package/min/index.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),l=e(!0),a=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",f=b+"Count",C=b+d,T="Cell",v=T+d,w="Value",V=w+"s",I=w+d,p=e=>t+e,R=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),m=(e,s=t,l)=>e.split(s,l),M=globalThis,S=Math,L=S.max,H=S.floor,J=isFinite,E=e=>null==e,D=(e,t,s)=>E(e)?s?.():t(e),F=e=>e==s||e==l,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=()=>{},W=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},k=t=>{const s=e(t);return F(s)||s==a&&J(t)?s:void 0},N=e=>E(e)||!E(k(e)),j=(e,t,s,l,a)=>E(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),U=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),q=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),Q=e=>t=>G(te(t),(t,s)=>t+e(s),0),X=e=>e?.size??0,Y=Q(X),Z=Q(Y),$=Q(Z),_=(e,t)=>e?.has(t)??!1,ee=e=>E(e)||0==X(e),te=e=>[...e?.values()??[]],se=e=>e.clear(),le=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),ne=Object,re=e=>ne.getPrototypeOf(e),oe=ne.isFrozen,ce=ne.entries,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),fe=(e,t)=>q(ce(e),([e,s])=>t(s,e)),Ce=(e,t)=>ge(((e,t)=>B(ce(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]),we=(e,t,s,l=0)=>E(e)||!ie(e)||!l&&Te(e)||oe(e)?(s?.(),!1):(fe(e,(s,l)=>{t(s,l)||be(e,l)}),!!l||!Te(e)),Ve=JSON.stringify,Ie=JSON.parse,pe=e=>Ve(e,(e,t)=>t instanceof Map?ne.fromEntries([...t]):t),Re=new M.TextEncoder,ye=e=>{let t=2166136261;return q(Re.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},me=(e,t)=>(e^t)>>>0,Me=(e,t)=>ye(e+":"+t),Se=e=>new Map(e),Le=e=>[...e?.keys()??[]],He=(e,t)=>e?.get(t),Je=(e,t)=>le(e,(e,s)=>t(s,e)),Ee=(e,t,s)=>E(s)?(ae(e,t),e):e?.set(t,s),De=(e,t,s,l)=>(_(e,t)?l?.(He(e,t)):Ee(e,t,s()),He(e,t)),Fe=(e,t,s,l=Ee)=>(Ce(t,(t,l)=>s(e,l,t)),Je(e,s=>he(t,s)?0:l(e,s)),e),Oe=(e,t,s,l)=>{const a={};return le(e,(e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;l?.(s)||(a[n]=s)}}),a},xe=(e,t,s)=>Oe(e,e=>Oe(e,t,s),ee,Te),ze=(e,t,s)=>Oe(e,e=>xe(e,t,s),ee,Te),Ae=(e,t)=>{const s=Se();return le(e,(e,l)=>s.set(l,t?.(e)??e)),s},Pe=e=>Ae(e,Ae),We=e=>Ae(e,Pe),ke=(e,t,s,l,a=0)=>D((s?De:He)(e,t[a],a>A(t)-2?s:Se),n=>{if(a>A(t)-2)return l?.(n)&&Ee(e,t[a]),n;const r=ke(n,t,s,l,a+1);return ee(n)&&Ee(e,t[a]),r}),Ne=m("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),je=Se(B(Ne,(e,t)=>[e,t])),Ue=e=>Ne[63&e],qe=(e,t)=>He(je,e[t])??0,Be=M.crypto?e=>M.crypto.getRandomValues(e):e=>B(e,()=>H(256*S.random())),Ge=2**36,Ke=2**30,Qe=2**24,Xe=2**18,Ye=4096,Ze=e=>{const t=ye(e);return Ue(t/Qe)+Ue(t/Xe)+Ue(t/Ye)+Ue(t/64)+Ue(t)},$e=e=>new Set(x(e)||E(e)?e:[e]),_e=(e,t)=>e?.add(t),et=([e,t])=>st(e,t),tt=([e,t,s])=>[e,t,s],st=(e,t)=>t?[e,t]:[e],lt=(e,t,s)=>[e,t,s],at=e=>e[2],nt=(e,t)=>t>e?(e?ye(e):0)^ye(t):0,rt=(e,t)=>((e??"")>(t??"")?e:t)??"",ot=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},ct=(e=t)=>st(ge(),e),it=(e=t)=>[Se(),e,0],dt=([e,t,s],l=tt)=>[Oe(e,l),t,s],ut=([e,t],s=et)=>st(Oe(e,s),t),gt=(t,l)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==a&&J(t[2])&&l(t[0]);var n},ht=/^\d+$/,bt=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ht.test(t)&&A(e)<1e3&&K(e,t)}]},ft=e=>[e,e],Ct=(e,t=Y)=>t(e[0])+t(e[1]),Tt=()=>[Se(),Se()],vt=e=>[...e],wt=([e,t])=>e===t,Vt=(e,t,s)=>Ee(e,t,He(e,t)==-s?void 0:s),It=()=>{let e,s,l=!1,n=!1,d=0,R=[];const y=Se(),m=Se(),M=Se(),S=Se(),L=Se(),H=Se(),J=Se(),P=Se(),N=Se(),G=Se(),Q=Se(),te=Se(),ne=Se(),re=Se(),oe=$e(),ce=Se(),de=Se(),ge=Se(),fe=Se(),ve=Tt(),Ve=Tt(),Re=Tt(),ye=Tt(),me=Tt(),Me=Tt(),Ne=Tt(),je=Tt(),Ue=Tt(),qe=Tt(),Be=Tt(),Ge=Tt(),Ke=Tt(),Qe=Tt(),Xe=Tt(),Ye=Tt(),Ze=Tt(),et=Tt(),tt=Tt(),st=Tt(),lt=Tt(),at=Tt(),nt=Se(),rt=Tt(),[ot,ct,it,dt]=(()=>{let e;const[s,l]=bt(),a=Se();return[(l,n,r,o=[],c=()=>[])=>{e??=Ws;const i=s(1);return Ee(a,i,[l,n,r,o,c]),_e(ke(n,r??[t],$e),i),i},(s,l,...n)=>q(((e,s=[t])=>{const l=[],a=(e,t)=>t==A(s)?K(l,e):null===s[t]?le(e,e=>a(e,t+1)):q([s[t],null],s=>a(He(e,s),t+1));return a(e,0),l})(s,l),t=>le(t,t=>He(a,t)[0](e,...l??[],...n))),e=>D(He(a,e),([,s,n])=>(ke(s,n??[t],void 0,t=>(ae(t,e),ee(t)?1:0)),Ee(a,e),l(e),n)),t=>D(He(a,t),([t,,s=[],l,a])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...a(r)):E(s[o])?q(l[o]?.(...r)??[],e=>n(...r,e)):n(...r,s[o])};n()})]})(),ut=e=>{if(!we(e,(e,t)=>[r,o].includes(t)))return!1;const t=e[r];return!(!F(t)&&t!=a||(k(e[o])!=t&&be(e,o),0))},gt=x,ht=(t,s)=>(!e||_(Q,s)||Yt(s))&&we(t,(e,t)=>pt(s,t,e),()=>Yt(s)),pt=(e,t,s,l)=>we(l?s:Mt(s,e,t),(l,a)=>D(Rt(e,t,a,l),e=>(s[a]=e,!0),()=>!1),()=>Yt(e,t)),Rt=(t,s,l,a)=>e?D(He(He(Q,t),l),e=>k(a)!=e[r]?Yt(t,s,l,a,e[o]):a,()=>Yt(t,s,l,a)):E(k(a))?Yt(t,s,l,a):a,yt=(e,t)=>we(t?e:St(e),(t,s)=>D(mt(s,t),t=>(e[s]=t,!0),()=>!1),()=>Zt()),mt=(e,t)=>s?D(He(ne,e),s=>k(t)!=s[r]?Zt(e,t,s[o]):t,()=>Zt(e,t)):E(k(t))?Zt(e,t):t,Mt=(e,t,s)=>(D(He(te,t),([l,a])=>{le(l,(t,s)=>{he(e,s)||(e[s]=t)}),le(a,l=>{he(e,l)||Yt(t,s,l)})}),e),St=e=>(s&&(le(re,(t,s)=>{he(e,s)||(e[s]=t)}),le(oe,t=>{he(e,t)||Zt(t)})),e),Lt=e=>Fe(Q,e,(e,t,s)=>{const l=Se(),a=$e();Fe(De(Q,t,Se),s,(e,t,s)=>{Ee(e,t,s),D(s[o],e=>Ee(l,t,e),()=>_e(a,t))}),Ee(te,t,[l,a])},(e,t)=>{Ee(Q,t),Ee(te,t)}),Ht=e=>Fe(ne,e,(e,t,s)=>{Ee(ne,t,s),D(s[o],e=>Ee(re,t,e),()=>_e(oe,t))},(e,t)=>{Ee(ne,t),Ee(re,t),ae(oe,t)}),Jt=e=>Te(e)?Js():ms(e),Et=e=>Fe(ge,e,(e,t,s)=>Dt(t,s),(e,t)=>kt(t)),Dt=(e,t)=>Fe(De(ge,e,()=>(qt(e,1),Ee(ce,e,bt()),Ee(de,e,Se()),Se())),t,(t,s,l)=>Ft(e,t,s,l),(t,s)=>Nt(e,t,s)),Ft=(e,t,s,l,a)=>Fe(De(t,s,()=>(Bt(e,s,1),Se())),l,(t,l,a)=>Ot(e,s,t,l,a),(l,n)=>jt(e,t,s,l,n,a)),Ot=(e,t,s,l,a)=>{_(s,l)||Gt(e,t,l,1);const n=He(s,l);a!==n&&(Kt(e,t,l,n,a),Ee(s,l,a))},xt=(e,t,s,l,a)=>D(He(t,s),t=>Ot(e,s,t,l,a),()=>Ft(e,t,s,Mt({[l]:a},e,s))),zt=e=>Te(e)?Fs():Ms(e),At=e=>Fe(fe,e,(e,t,s)=>Pt(t,s),(e,t)=>Ut(t)),Pt=(e,t)=>{_(fe,e)||Qt(e,1);const s=He(fe,e);t!==s&&(Xt(e,s,t),Ee(fe,e,t))},Wt=e=>He(ge,e)??Dt(e,{}),kt=e=>Dt(e,{}),Nt=(e,t,s)=>{const[,l]=He(ce,e);l(s),Ft(e,t,s,{},!0)},jt=(e,t,s,l,a,n)=>{const r=He(He(te,e)?.[0],a);if(!E(r)&&!n)return Ot(e,s,l,a,r);const o=t=>{Kt(e,s,t,He(l,t)),Gt(e,s,t,-1),Ee(l,t)};E(r)?o(a):Je(l,o),ee(l)&&(Bt(e,s,-1),ee(Ee(t,s))&&(qt(e,-1),Ee(ge,e),Ee(ce,e),Ee(de,e)))},Ut=e=>{const t=He(re,e);if(!E(t))return Pt(e,t);Xt(e,He(fe,e)),Qt(e,-1),Ee(fe,e)},qt=(e,t)=>Vt(y,e,t),Bt=(e,t,s)=>Vt(De(S,e,Se),t,s)&&Ee(M,e,De(M,e,()=>0)+s),Gt=(e,t,s,l)=>{const a=He(de,e),n=He(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&Vt(De(m,e,Se),s,l),Ee(a,s,n!=-l?n+l:null),Vt(De(De(L,e,Se),t,Se),s,l)},Kt=(e,t,s,l,a)=>{De(De(De(H,e,Se),t,Se),s,()=>[l,0])[1]=a,R[3]?.(e,t,s,a)},Qt=(e,t)=>Vt(J,e,t),Xt=(e,t,s)=>{De(P,e,()=>[t,0])[1]=s,R[4]?.(e,s)},Yt=(e,t,s,l,a)=>(K(De(De(De(N,e,Se),t,Se),s,()=>[]),l),a),Zt=(e,t,s)=>(K(De(G,e,()=>[]),t),s),$t=(e,t,s)=>D(He(He(He(H,e),t),s),([e,t])=>[!0,e,t],()=>[!1,...ft(bs(e,t,s))]),_t=e=>D(He(P,e),([e,t])=>[!0,e,t],()=>[!1,...ft(Ts(e))]),es=e=>ee(N)||ee(Ye[e])?0:le(e?We(N):N,(t,s)=>le(t,(t,l)=>le(t,(t,a)=>ct(Ye[e],[s,l,a],t)))),ts=e=>ee(G)||ee(Ze[e])?0:le(e?Ae(G):G,(t,s)=>ct(Ze[e],[s],t)),ss=(e,t,s,l)=>{if(!ee(e))return ct(t,l,()=>Oe(e)),Je(e,(e,t)=>ct(s,[...l??[],e],1==t)),1},ls=e=>{const t=vs();t!=l&&ct(ve[e],void 0,t);const s=ee(qe[e]),a=ee(Ke[e])&&ee(Qe[e])&&ee(Ue[e])&&ee(Be[e])&&ee(Me[e])&&ee(Ne[e])&&ee(je[e])&&s&&ee(Re[e])&&ee(ye[e]),n=ee(Xe[e])&&ee(Ge[e])&&ee(me[e])&&ee(Ve[e]);if(!a||!n){const t=e?[Ae(y),Pe(m),Ae(M),Pe(S),We(L),We(H)]:[y,m,M,S,L,H];if(!a){ss(t[0],Re[e],ye[e]),le(t[1],(t,s)=>ss(t,Me[e],Ne[e],[s])),le(t[2],(t,s)=>{0!=t&&ct(je[e],[s],ds(s))});const l=$e();le(t[3],(t,a)=>{ss(t,Ue[e],Be[e],[a])&&!s&&(ct(qe[e],[a,null]),_e(l,a))}),s||le(t[5],(t,s)=>{if(!_(l,s)){const l=$e();le(t,e=>le(e,([t,s],a)=>s!==t?_e(l,a):ae(e,a))),le(l,t=>ct(qe[e],[s,t]))}}),le(t[4],(t,s)=>le(t,(t,l)=>ss(t,Ke[e],Qe[e],[s,l])))}if(!n){let s;le(t[5],(t,l)=>{let a;le(t,(t,n)=>{let r;le(t,([t,o],c)=>{o!==t&&(ct(Xe[e],[l,n,c],o,t,$t),s=a=r=1)}),r&&ct(Ge[e],[l,n],$t)}),a&&ct(me[e],[l],$t)}),s&&ct(Ve[e],void 0,$t)}}},as=e=>{const t=Rs();t!=n&&ct(et[e],void 0,t);const s=ee(st[e])&&ee(lt[e]),l=ee(at[e])&&ee(tt[e]);if(!s||!l){const t=e?[Ae(J),Ae(P)]:[J,P];if(s||ss(t[0],st[e],lt[e]),!l){let s;le(t[1],([t,l],a)=>{l!==t&&(ct(at[e],[a],l,t,_t),s=1)}),s&&ct(tt[e],void 0,_t)}}},ns=(e,...t)=>(zs(()=>e(...B(t,p))),Ws),rs=(e,t,s,l,a)=>{let n=gs(e,t,...s);return ot(()=>{const a=gs(e,t,...s);var r,o,c;o=n,A(r=a)===A(o)&&(c=(e,t)=>o[t]===e,r.every(c))||(n=a,l(Ws,e,t,...s,n))},qe[a?1:0],[e,t],[cs])},os=()=>ze(ge),cs=()=>Le(ge),is=e=>Le(He(de,p(e))),ds=e=>X(He(ge,p(e))),us=e=>Le(He(ge,p(e))),gs=(e,t,s,l=0,a)=>{return ie(e)?gs(e.tableId,e.cellId,e.descending,e.offset,e.limit):B(z((r=He(ge,p(e)),o=(e,s)=>[E(t)?s:He(e,p(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),B([...r?.entries()??[]],([e,t])=>o(t,e)).sort(n)),l,E(a)?a:l+a),([,e])=>e);var n,r,o},hs=(e,t)=>Le(He(He(ge,p(e)),p(t))),bs=(e,t,s)=>He(He(He(ge,p(e)),p(t)),p(s)),fs=()=>Oe(fe),Cs=()=>Le(fe),Ts=e=>He(fe,p(e)),vs=()=>!ee(ge),ws=e=>_(ge,p(e)),Vs=(e,t)=>_(He(de,p(e)),p(t)),Is=(e,t)=>_(He(ge,p(e)),p(t)),ps=(e,t,s)=>_(He(He(ge,p(e)),p(t)),p(s)),Rs=()=>!ee(fe),ys=e=>_(fe,p(e)),ms=e=>ns(()=>(e=>we(e,ht,Yt))(e)?Et(e):0),Ms=e=>ns(()=>yt(e)?At(e):0),Ss=e=>(W(()=>Jt(Ie(e))),Ws),Ls=t=>ns(()=>{if((e=we(t,e=>we(e,ut)))&&(Lt(t),!ee(ge))){const e=os();Js(),ms(e)}}),Hs=e=>ns(()=>{if(s=(e=>we(e,ut))(e)){const t=fs();xs(),Fs(),s=!0,Ht(e),Ms(t)}}),Js=()=>ns(()=>Et({})),Es=e=>ns(e=>_(ge,e)?kt(e):0,e),Ds=(e,t)=>ns((e,t)=>D(He(ge,e),s=>_(s,t)?Nt(e,s,t):0),e,t),Fs=()=>ns(()=>At({})),Os=()=>ns(()=>{Lt({}),e=!1}),xs=()=>ns(()=>{Ht({}),s=!1}),zs=(e,t)=>{if(-1!=d){As();const s=e();return Ps(t),s}},As=()=>(-1!=d&&d++,1==d&&(R[0]?.(),ct(nt)),Ws),Ps=e=>(d>0&&(d--,0==d&&(d=1,es(1),ee(H)||ls(1),ts(1),ee(P)||as(1),e?.(Ws)&&(le(H,(e,t)=>le(e,(e,s)=>le(e,([e],l)=>j(Ws,t,s,l,e)))),se(H),le(P,([e],t)=>U(Ws,t,e)),se(P)),ct(rt[0],void 0),d=-1,es(0),ee(H)||ls(0),ts(0),ee(P)||as(0),R[1]?.(),ct(rt[1],void 0),R[2]?.(),d=0,l=vs(),n=Rs(),q([y,m,M,S,L,H,N,J,P,G],se))),Ws),Ws={getContent:()=>[os(),fs()],getTables:os,getTableIds:cs,getTable:e=>xe(He(ge,p(e))),getTableCellIds:is,getRowCount:ds,getRowIds:us,getSortedRowIds:gs,getRow:(e,t)=>Oe(He(He(ge,p(e)),p(t))),getCellIds:hs,getCell:bs,getValues:fs,getValueIds:Cs,getValue:Ts,hasTables:vs,hasTable:ws,hasTableCell:Vs,hasRow:Is,hasCell:ps,hasValues:Rs,hasValue:ys,getTablesJson:()=>pe(ge),getValuesJson:()=>pe(fe),getJson:()=>pe([ge,fe]),getTablesSchemaJson:()=>pe(Q),getValuesSchemaJson:()=>pe(ne),getSchemaJson:()=>pe([Q,ne]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ns(()=>{const t=O(e)?e():e;gt(t)&&(([e,t])=>{(Te(e)?Js:ms)(e),(Te(t)?Fs:Ms)(t)})(t)}),setTables:ms,setTable:(e,t)=>ns(e=>ht(t,e)?Dt(e,t):0,e),setRow:(e,t,s)=>ns((e,t)=>pt(e,t,s)?Ft(e,Wt(e),t,s):0,e,t),addRow:(e,t,s=!0)=>zs(()=>{let l;return pt(e,l,t)&&(e=p(e),Ft(e,Wt(e),l=((e,t)=>{const[s]=He(ce,e);let l;do{l=s(t)}while(_(He(ge,e),l));return l})(e,s?1:0),t)),l}),setPartialRow:(e,t,s)=>ns((e,t)=>{if(pt(e,t,s,1)){const l=Wt(e);Ce(s,(s,a)=>xt(e,l,t,a,s))}},e,t),setCell:(e,t,s,l)=>ns((e,t,s)=>D(Rt(e,t,s,O(l)?l(bs(e,t,s)):l),l=>xt(e,Wt(e),t,s,l)),e,t,s),setValues:Ms,setPartialValues:e=>ns(()=>yt(e,1)?Ce(e,(e,t)=>Pt(t,e)):0),setValue:(e,t)=>ns(e=>D(mt(e,O(t)?t(Ts(e)):t),t=>Pt(e,t)),e),applyChanges:e=>ns(()=>{Ce(e[0],(e,t)=>E(e)?Es(t):Ce(e,(e,s)=>E(e)?Ds(t,s):Ce(e,(e,l)=>j(Ws,t,s,l,e)))),Ce(e[1],(e,t)=>U(Ws,t,e))}),setTablesJson:Ss,setValuesJson:e=>(W(()=>zt(Ie(e))),Ws),setJson:e=>ns(()=>W(()=>{const[t,s]=Ie(e);Jt(t),zt(s)},()=>Ss(e))),setTablesSchema:Ls,setValuesSchema:Hs,setSchema:(e,t)=>ns(()=>{Ls(e),Hs(t)}),delTables:Js,delTable:Es,delRow:Ds,delCell:(e,t,s,l)=>ns((e,t,s)=>D(He(ge,e),a=>D(He(a,t),n=>_(n,s)?jt(e,a,t,n,s,l):0)),e,t,s),delValues:Fs,delValue:e=>ns(e=>_(fe,e)?Ut(e):0,e),delTablesSchema:Os,delValuesSchema:xs,delSchema:()=>ns(()=>{Os(),xs()}),transaction:zs,startTransaction:As,getTransactionChanges:()=>[Oe(H,(e,t)=>-1===He(y,t)?void 0:Oe(e,(e,s)=>-1===He(He(S,t),s)?void 0:Oe(e,([,e])=>e,e=>wt(e)),ee,Te),ee,Te),Oe(P,([,e])=>e,e=>wt(e)),1],getTransactionLog:()=>[!ee(H),!ee(P),ze(H,vt,wt),ze(N),Oe(P,vt,wt),Oe(G),Oe(y),xe(S),ze(L),Oe(J)],finishTransaction:Ps,forEachTable:e=>le(ge,(t,s)=>e(s,e=>le(t,(t,s)=>e(s,e=>Je(t,e))))),forEachTableCell:(e,t)=>Je(He(de,p(e)),t),forEachRow:(e,t)=>le(He(ge,p(e)),(e,s)=>t(s,t=>Je(e,t))),forEachCell:(e,t,s)=>Je(He(He(ge,p(e)),p(t)),s),forEachValue:e=>Je(fe,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>ie(e)?rs(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):rs(e,t,[s,l,a],n,r),addStartTransactionListener:e=>ot(e,nt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Ws),delListener:e=>(it(e),Ws),getListenerStats:()=>({hasTables:Ct(ve),tables:Ct(Ve),tableIds:Ct(Re),hasTable:Ct(ye),table:Ct(me),tableCellIds:Ct(Me),hasTableCell:Ct(Ne,Z),rowCount:Ct(je),rowIds:Ct(Ue),sortedRowIds:Ct(qe),hasRow:Ct(Be,Z),row:Ct(Ge,Z),cellIds:Ct(Ke,Z),hasCell:Ct(Qe,$),cell:Ct(Xe,$),invalidCell:Ct(Ye,$),hasValues:Ct(et),values:Ct(tt),valueIds:Ct(st),hasValue:Ct(lt),value:Ct(at),invalidValue:Ct(Ze),transaction:Y(nt)+Ct(rt)}),isMergeable:()=>!1,createStore:It,addListener:ot,callListeners:ct,setInternalListeners:(e,t,s,l,a)=>R=[e,t,s,l,a]};return Ce({[i+g]:[0,ve,[],()=>[vs()]],[g]:[0,Ve],[h]:[0,Re],[i+u]:[1,ye,[cs],e=>[ws(...e)]],[u]:[1,me,[cs]],[u+v]:[1,Me,[cs]],[i+u+T]:[2,Ne,[cs,is],e=>[Vs(...e)]],[f]:[1,je,[cs]],[C]:[1,Ue,[cs]],[i+b]:[2,Be,[cs,us],e=>[Is(...e)]],[b]:[2,Ge,[cs,us]],[v]:[2,Ke,[cs,us]],[i+T]:[3,Qe,[cs,us,hs],e=>[ps(...e)]],[T]:[3,Xe,[cs,us,hs],e=>ft(bs(...e))],InvalidCell:[3,Ye],[i+V]:[0,et,[],()=>[Rs()]],[V]:[0,tt],[I]:[0,st],[i+w]:[1,lt,[Cs],e=>[ys(...e)]],[w]:[1,at,[Cs],e=>ft(Ts(e[0]))],InvalidValue:[1,Ze]},([e,t,s,l],a)=>{Ws["add"+a+c]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)}),ue(Ws)},pt={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},Rt=(e=t)=>[it(e),it(e)],yt=(e,s)=>{let l=1,a=Rt(),n=0;const r=Se(),o=$e(),[i,d]=((e,t=Date.now)=>{let s=0,l=-1;const a=D(e,Ze,()=>((e=16)=>G(Be(new Uint8Array(e)),(e,t)=>e+Ue(t),""))(5)),n=e=>{const a=s,[n,r]=E(e)||""==e?[0,0]:o(e);s=L(a,n,t()),l=s==a?s==n?L(l,r):l:s==n?r:-1},r=(e,t,s)=>Ue(e/Ge)+Ue(e/Ke)+Ue(e/Qe)+Ue(e/Xe)+Ue(e/Ye)+Ue(e/64)+Ue(e)+Ue(t/Xe)+Ue(t/Ye)+Ue(t/64)+Ue(t)+(E(s)?a:Ze(s)),o=e=>[qe(e,0)*Ge+qe(e,1)*Ke+qe(e,2)*Qe+qe(e,3)*Xe+qe(e,4)*Ye+64*qe(e,5)+qe(e,6),qe(e,7)*Xe+qe(e,8)*Ye+64*qe(e,9)+qe(e,10),e.slice(11)];return[()=>(n(),r(s,++l)),n,r,o,()=>s,()=>l,()=>a]})(e,s),u=It(),g=e=>{const t=l;return l=0,e(),l=t,w},h=(e,s=0)=>{const l={},n={},[[r,o=t,c=0],i]=e,[u,g]=a,[h,f,C]=u;let T=s?c:C,v=o;fe(r,([e,a=t,n=0],r)=>{const o=De(h,r,it),[c,i,d]=o;let u=s?n:d,g=a;fe(e,(e,t)=>{const[a,n,o]=b(e,De(c,t,it),ve(ve(l,r,ge),t,ge),s);u^=s?0:me(n?Me(t,n):0,Me(t,o)),g=rt(g,a)}),u^=s?0:nt(i,a),ot(o,a,u),T^=s?0:me(d?Me(r,d):0,Me(r,o[2])),v=rt(v,g)}),T^=s?0:nt(f,o),ot(u,o,T);const[w]=b(i,g,n,s);return d(rt(v,w)),[l,n,1]},b=(e,s,l,a)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=a?o:d;return fe(n,([e,s=t,n=0],r)=>{const o=De(c,r,()=>[void 0,t,0]),[,i,d]=o;var h;(!i||s>i)&&(ot(o,s,a?n:(h=s,ye(pe(e??null)+":"+h))),o[0]=e,l[r]=e,g^=a?0:me(Me(r,d),Me(r,o[2])),u=rt(u,s))}),g^=a?0:nt(i,r),ot(s,r,g),[u,d,s[2]]},f=P,C=P,T=()=>[dt(a[0],e=>dt(e,e=>dt(e))),dt(a[1])],v=e=>g(()=>u.applyChanges(h(e))),w={getMergeableContent:T,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>Oe(a[0][0],at),getMergeableTableDiff:e=>{const t=ct(a[0][1]),s={};return Je(a[0][0],(l,[a,n,r])=>he(e,l)?r!=e[l]?s[l]=r:0:t[0][l]=ut([a,n],e=>ut(e))),[t,s]},getMergeableRowHashes:e=>{const t={};return fe(e,(e,s)=>D(He(a[0][0],s),([l,,a])=>a!=e?Je(l,(e,[,,l])=>ve(t,s,ge)[e]=l):0)),t},getMergeableRowDiff:e=>{const t=ct(a[0][1]),s={};return fe(e,(e,l)=>Je(He(a[0][0],l)?.[0],(a,[n,r,o])=>he(e,a)?o!==e[a]?ve(s,l,ge)[a]=o:0:ve(t[0],l,ct)[0][a]=ut([n,r]))),[t,s]},getMergeableCellHashes:e=>{const t={};return fe(e,(e,s)=>D(He(a[0][0],s),([l])=>fe(e,(e,a)=>D(He(l,a),([l,,n])=>n!==e?Je(l,(e,[,,l])=>ve(ve(t,s,ge),a,ge)[e]=l):0)))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,l={};return fe(e,(e,s)=>fe(e,(e,a)=>D(He(t,s),([t,n])=>D(He(t,a),([t,r])=>Je(t,(t,[o,c,i])=>i!==e[t]?ve(ve(l,s,()=>ct(n))[0],a,()=>ct(r))[0][t]=[o,c]:0))))),st(l,s)},getMergeableValueHashes:()=>Oe(a[1][0],at),getMergeableValueDiff:e=>{const[,[t,s]]=a,l=Oe(t,et,([,,t],s)=>t==e?.[s]);return st(l,s)},setMergeableContent:e=>g(()=>(e=>x(e)&&2==A(e)&>(e[0],e=>we(e,e=>gt(e,e=>we(e,e=>gt(e,e=>we(e,e=>gt(e,N),void 0,1)),void 0,1)),void 0,1))&>(e[1],e=>we(e,e=>gt(e,N),void 0,1)))(e)?u.transaction(()=>{u.delTables().delValues(),a=Rt(),u.applyChanges(h(e,1))}):0),setDefaultContent:e=>(u.transaction(()=>{n=1,u.setContent(e),n=0}),w),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[n,c,i]]=a,d=e?lt:st,u={};le(r,(e,s)=>D(He(t,s),([t,l,a])=>{const n={};le(e,(e,s)=>D(He(t,s),([t,l,a])=>{const r={};le(e,e=>{D(He(t,e),([t,s,l])=>r[e]=d(t,s,l))}),n[s]=d(r,l,a)})),u[s]=d(n,l,a)}));const g={};return le(o,e=>D(He(n,e),([t,s,l])=>g[e]=d(t,s,l))),[d(u,s,l),d(g,c,i),1]},applyMergeableChanges:v,merge:e=>{const t=T(),s=e.getMergeableContent();return e.applyMergeableChanges(t),v(s)}};return u.setInternalListeners(f,C,()=>{se(r),se(o)},(e,s,a,o)=>{_e(De(De(r,e,Se),s,$e),a),l&&h([[{[e]:[{[s]:[{[a]:[o,n?t:i()]}]}]}],[{}],1])},(e,s)=>{_e(o,e),l&&h([[{}],[{[e]:[s,n?t:i()]}],1])}),Ce(u,(e,t)=>w[t]=R(t,"set")||R(t,"del")||R(t,"apply")||y(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),w):R(t,"add")&&y(t,c)?(...s)=>{const l=pt[z(t,3,-8)]??0,a=s[l];return s[l]=(e,...t)=>a(w,...t),e(...s)}:"isMergeable"==t?()=>!0:e),ue(w)};export{yt as createMergeableStore};
|
|
1
|
+
const e=e=>typeof e,t="",s=e(t),l=e(!0),a=e(0),n=e(e),r="type",o="default",c="Listener",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,b="Row",f=b+"Count",C=b+d,T="Cell",v=T+d,w="Value",V=w+"s",I=w+d,p=e=>t+e,R=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),m=(e,s=t,l)=>e.split(s,l),M=globalThis,S=Math,L=S.max,H=S.floor,J=isFinite,E=e=>null==e,D=(e,t,s)=>E(e)?s?.():t(e),F=e=>e==s||e==l,O=t=>e(t)==n,x=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),A=e=>e.length,P=()=>{},W=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},k=t=>{const s=e(t);return F(s)||s==a&&J(t)?s:void 0},N=e=>E(e)||!E(k(e)),j=(e,t,s,l,a)=>E(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),U=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),q=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),Q=e=>t=>G(te(t),(t,s)=>t+e(s),0),X=e=>e?.size??0,Y=Q(X),Z=Q(Y),$=Q(Z),_=(e,t)=>e?.has(t)??!1,ee=e=>E(e)||0==X(e),te=e=>[...e?.values()??[]],se=e=>e.clear(),le=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),ne=Object,re=e=>ne.getPrototypeOf(e),oe=ne.isFrozen,ce=ne.entries,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),fe=(e,t)=>q(ce(e),([e,s])=>t(s,e)),Ce=(e,t)=>ge(((e,t)=>B(ce(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]),we=(e,t,s,l=0)=>E(e)||!ie(e)||!l&&Te(e)||oe(e)?(s?.(),!1):(fe(e,(s,l)=>{t(s,l)||be(e,l)}),!!l||!Te(e)),Ve=JSON.stringify,Ie=JSON.parse,pe=e=>Ve(e,(e,t)=>t instanceof Map?ne.fromEntries([...t]):t),Re=new M.TextEncoder,ye=e=>{let t=2166136261;return q(Re.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},me=(e,t)=>(e^t)>>>0,Me=(e,t)=>ye(e+":"+t),Se=e=>new Map(e),Le=e=>[...e?.keys()??[]],He=(e,t)=>e?.get(t),Je=(e,t)=>le(e,(e,s)=>t(s,e)),Ee=(e,t,s)=>E(s)?(ae(e,t),e):e?.set(t,s),De=(e,t,s,l)=>(_(e,t)?l?.(He(e,t)):Ee(e,t,s()),He(e,t)),Fe=(e,t,s,l=Ee)=>(Ce(t,(t,l)=>s(e,l,t)),Je(e,s=>he(t,s)?0:l(e,s)),e),Oe=(e,t,s,l)=>{const a={};return le(e,(e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;l?.(s)||(a[n]=s)}}),a},xe=(e,t,s)=>Oe(e,e=>Oe(e,t,s),ee,Te),ze=(e,t,s)=>Oe(e,e=>xe(e,t,s),ee,Te),Ae=(e,t)=>{const s=Se();return le(e,(e,l)=>s.set(l,t?.(e)??e)),s},Pe=e=>Ae(e,Ae),We=e=>Ae(e,Pe),ke=(e,t,s,l,a=0)=>D((s?De:He)(e,t[a],a>A(t)-2?s:Se),n=>{if(a>A(t)-2)return l?.(n)&&Ee(e,t[a]),n;const r=ke(n,t,s,l,a+1);return ee(n)&&Ee(e,t[a]),r}),Ne=m("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),je=Se(B(Ne,(e,t)=>[e,t])),Ue=e=>Ne[63&e],qe=(e,t)=>He(je,e[t])??0,Be=M.crypto?e=>M.crypto.getRandomValues(e):e=>B(e,()=>H(256*S.random())),Ge=2**36,Ke=2**30,Qe=2**24,Xe=2**18,Ye=4096,Ze=e=>{const t=ye(e);return Ue(t/Qe)+Ue(t/Xe)+Ue(t/Ye)+Ue(t/64)+Ue(t)},$e=e=>new Set(x(e)||E(e)?e:[e]),_e=(e,t)=>e?.add(t),et=([e,t])=>st(e,t),tt=([e,t,s])=>[e,t,s],st=(e,t)=>t?[e,t]:[e],lt=(e,t,s)=>[e,t,s],at=e=>e[2],nt=(e,t)=>t>e?(e?ye(e):0)^ye(t):0,rt=(e,t)=>((e??"")>(t??"")?e:t)??"",ot=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},ct=(e=t)=>st(ge(),e),it=(e=t)=>[Se(),e,0],dt=([e,t,s],l=tt)=>[Oe(e,l),t,s],ut=([e,t],s=et)=>st(Oe(e,s),t),gt=(t,l)=>{return x(t)&&3==A(t)&&(n=t[1],e(n)==s)&&e(t[2])==a&&J(t[2])&&l(t[0]);var n},ht=/^\d+$/,bt=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ht.test(t)&&A(e)<1e3&&K(e,t)}]},ft=e=>[e,e],Ct=(e,t=Y)=>t(e[0])+t(e[1]),Tt=()=>[Se(),Se()],vt=e=>[...e],wt=([e,t])=>e===t,Vt=(e,t,s)=>Ee(e,t,He(e,t)==-s?void 0:s),It=()=>{let e,s,l=!1,n=!1,d=0,R=[];const y=Se(),m=Se(),M=Se(),S=Se(),L=Se(),H=Se(),J=Se(),P=Se(),N=Se(),G=Se(),Q=Se(),te=Se(),ne=Se(),re=Se(),oe=$e(),ce=Se(),de=Se(),ge=Se(),fe=Se(),ve=Tt(),Ve=Tt(),Re=Tt(),ye=Tt(),me=Tt(),Me=Tt(),Ne=Tt(),je=Tt(),Ue=Tt(),qe=Tt(),Be=Tt(),Ge=Tt(),Ke=Tt(),Qe=Tt(),Xe=Tt(),Ye=Tt(),Ze=Tt(),et=Tt(),tt=Tt(),st=Tt(),lt=Tt(),at=Tt(),nt=Se(),rt=Tt(),[ot,ct,it,dt]=(()=>{let e;const[s,l]=bt(),a=Se();return[(l,n,r,o=[],c=()=>[])=>{e??=Ws;const i=s(1);return Ee(a,i,[l,n,r,o,c]),_e(ke(n,r??[t],$e),i),i},(s,l,...n)=>q(((e,s=[t])=>{const l=[],a=(e,t)=>t==A(s)?K(l,e):null===s[t]?le(e,e=>a(e,t+1)):q([s[t],null],s=>a(He(e,s),t+1));return a(e,0),l})(s,l),t=>le(t,t=>He(a,t)[0](e,...l??[],...n))),e=>D(He(a,e),([,s,n])=>(ke(s,n??[t],void 0,t=>(ae(t,e),ee(t)?1:0)),Ee(a,e),l(e),n)),t=>D(He(a,t),([t,,s=[],l,a])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...a(r)):E(s[o])?q(l[o]?.(...r)??[],e=>n(...r,e)):n(...r,s[o])};n()})]})(),ut=e=>{if(!we(e,(e,t)=>[r,o].includes(t)))return!1;const t=e[r];return!(!F(t)&&t!=a||(k(e[o])!=t&&be(e,o),0))},gt=x,ht=(t,s)=>(!e||_(Q,s)||Yt(s))&&we(t,(e,t)=>pt(s,t,e),()=>Yt(s)),pt=(e,t,s,l)=>we(l?s:Mt(s,e,t),(l,a)=>D(Rt(e,t,a,l),e=>(s[a]=e,!0),()=>!1),()=>Yt(e,t)),Rt=(t,s,l,a)=>e?D(He(He(Q,t),l),e=>k(a)!=e[r]?Yt(t,s,l,a,e[o]):a,()=>Yt(t,s,l,a)):E(k(a))?Yt(t,s,l,a):a,yt=(e,t)=>we(t?e:St(e),(t,s)=>D(mt(s,t),t=>(e[s]=t,!0),()=>!1),()=>Zt()),mt=(e,t)=>s?D(He(ne,e),s=>k(t)!=s[r]?Zt(e,t,s[o]):t,()=>Zt(e,t)):E(k(t))?Zt(e,t):t,Mt=(e,t,s)=>(D(He(te,t),([l,a])=>{le(l,(t,s)=>{he(e,s)||(e[s]=t)}),le(a,l=>{he(e,l)||Yt(t,s,l)})}),e),St=e=>(s&&(le(re,(t,s)=>{he(e,s)||(e[s]=t)}),le(oe,t=>{he(e,t)||Zt(t)})),e),Lt=e=>Fe(Q,e,(e,t,s)=>{const l=Se(),a=$e();Fe(De(Q,t,Se),s,(e,t,s)=>{Ee(e,t,s),D(s[o],e=>Ee(l,t,e),()=>_e(a,t))}),Ee(te,t,[l,a])},(e,t)=>{Ee(Q,t),Ee(te,t)}),Ht=e=>Fe(ne,e,(e,t,s)=>{Ee(ne,t,s),D(s[o],e=>Ee(re,t,e),()=>_e(oe,t))},(e,t)=>{Ee(ne,t),Ee(re,t),ae(oe,t)}),Jt=e=>Te(e)?Js():ms(e),Et=e=>Fe(ge,e,(e,t,s)=>Dt(t,s),(e,t)=>kt(t)),Dt=(e,t)=>Fe(De(ge,e,()=>(qt(e,1),Ee(ce,e,bt()),Ee(de,e,Se()),Se())),t,(t,s,l)=>Ft(e,t,s,l),(t,s)=>Nt(e,t,s)),Ft=(e,t,s,l,a)=>Fe(De(t,s,()=>(Bt(e,s,1),Se())),l,(t,l,a)=>Ot(e,s,t,l,a),(l,n)=>jt(e,t,s,l,n,a)),Ot=(e,t,s,l,a)=>{_(s,l)||Gt(e,t,l,1);const n=He(s,l);a!==n&&(Kt(e,t,l,n,a),Ee(s,l,a))},xt=(e,t,s,l,a)=>D(He(t,s),t=>Ot(e,s,t,l,a),()=>Ft(e,t,s,Mt({[l]:a},e,s))),zt=e=>Te(e)?Fs():Ms(e),At=e=>Fe(fe,e,(e,t,s)=>Pt(t,s),(e,t)=>Ut(t)),Pt=(e,t)=>{_(fe,e)||Qt(e,1);const s=He(fe,e);t!==s&&(Xt(e,s,t),Ee(fe,e,t))},Wt=e=>He(ge,e)??Dt(e,{}),kt=e=>Dt(e,{}),Nt=(e,t,s)=>{const[,l]=He(ce,e);l(s),Ft(e,t,s,{},!0)},jt=(e,t,s,l,a,n)=>{const r=He(He(te,e)?.[0],a);if(!E(r)&&!n)return Ot(e,s,l,a,r);const o=t=>{Kt(e,s,t,He(l,t)),Gt(e,s,t,-1),Ee(l,t)};E(r)?o(a):Je(l,o),ee(l)&&(Bt(e,s,-1),ee(Ee(t,s))&&(qt(e,-1),Ee(ge,e),Ee(ce,e),Ee(de,e)))},Ut=e=>{const t=He(re,e);if(!E(t))return Pt(e,t);Xt(e,He(fe,e)),Qt(e,-1),Ee(fe,e)},qt=(e,t)=>Vt(y,e,t),Bt=(e,t,s)=>Vt(De(S,e,Se),t,s)&&Ee(M,e,De(M,e,()=>0)+s),Gt=(e,t,s,l)=>{const a=He(de,e),n=He(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&Vt(De(m,e,Se),s,l),Ee(a,s,n!=-l?n+l:null),Vt(De(De(L,e,Se),t,Se),s,l)},Kt=(e,t,s,l,a)=>{De(De(De(H,e,Se),t,Se),s,()=>[l,0])[1]=a,R[3]?.(e,t,s,a)},Qt=(e,t)=>Vt(J,e,t),Xt=(e,t,s)=>{De(P,e,()=>[t,0])[1]=s,R[4]?.(e,s)},Yt=(e,t,s,l,a)=>(K(De(De(De(N,e,Se),t,Se),s,()=>[]),l),a),Zt=(e,t,s)=>(K(De(G,e,()=>[]),t),s),$t=(e,t,s)=>D(He(He(He(H,e),t),s),([e,t])=>[!0,e,t],()=>[!1,...ft(bs(e,t,s))]),_t=e=>D(He(P,e),([e,t])=>[!0,e,t],()=>[!1,...ft(Ts(e))]),es=e=>ee(N)||ee(Ye[e])?0:le(e?We(N):N,(t,s)=>le(t,(t,l)=>le(t,(t,a)=>ct(Ye[e],[s,l,a],t)))),ts=e=>ee(G)||ee(Ze[e])?0:le(e?Ae(G):G,(t,s)=>ct(Ze[e],[s],t)),ss=(e,t,s,l)=>{if(!ee(e))return ct(t,l,()=>Oe(e)),Je(e,(e,t)=>ct(s,[...l??[],e],1==t)),1},ls=e=>{const t=vs();t!=l&&ct(ve[e],void 0,t);const s=ee(qe[e]),a=ee(Ke[e])&&ee(Qe[e])&&ee(Ue[e])&&ee(Be[e])&&ee(Me[e])&&ee(Ne[e])&&ee(je[e])&&s&&ee(Re[e])&&ee(ye[e]),n=ee(Xe[e])&&ee(Ge[e])&&ee(me[e])&&ee(Ve[e]);if(!a||!n){const t=e?[Ae(y),Pe(m),Ae(M),Pe(S),We(L),We(H)]:[y,m,M,S,L,H];if(!a){ss(t[0],Re[e],ye[e]),le(t[1],(t,s)=>ss(t,Me[e],Ne[e],[s])),le(t[2],(t,s)=>{0!=t&&ct(je[e],[s],ds(s))});const l=$e();le(t[3],(t,a)=>{ss(t,Ue[e],Be[e],[a])&&!s&&(ct(qe[e],[a,null]),_e(l,a))}),s||le(t[5],(t,s)=>{if(!_(l,s)){const l=$e();le(t,e=>le(e,([t,s],a)=>s!==t?_e(l,a):ae(e,a))),le(l,t=>ct(qe[e],[s,t]))}}),le(t[4],(t,s)=>le(t,(t,l)=>ss(t,Ke[e],Qe[e],[s,l])))}if(!n){let s;le(t[5],(t,l)=>{let a;le(t,(t,n)=>{let r;le(t,([t,o],c)=>{o!==t&&(ct(Xe[e],[l,n,c],o,t,$t),s=a=r=1)}),r&&ct(Ge[e],[l,n],$t)}),a&&ct(me[e],[l],$t)}),s&&ct(Ve[e],void 0,$t)}}},as=e=>{const t=Rs();t!=n&&ct(et[e],void 0,t);const s=ee(st[e])&&ee(lt[e]),l=ee(at[e])&&ee(tt[e]);if(!s||!l){const t=e?[Ae(J),Ae(P)]:[J,P];if(s||ss(t[0],st[e],lt[e]),!l){let s;le(t[1],([t,l],a)=>{l!==t&&(ct(at[e],[a],l,t,_t),s=1)}),s&&ct(tt[e],void 0,_t)}}},ns=(e,...t)=>(zs(()=>e(...B(t,p))),Ws),rs=(e,t,s,l,a)=>{let n=gs(e,t,...s);return ot(()=>{const a=gs(e,t,...s);var r,o,c;o=n,A(r=a)===A(o)&&(c=(e,t)=>o[t]===e,r.every(c))||(n=a,l(Ws,e,t,...s,n))},qe[a?1:0],[e,t],[cs])},os=()=>ze(ge),cs=()=>Le(ge),is=e=>Le(He(de,p(e))),ds=e=>X(He(ge,p(e))),us=e=>Le(He(ge,p(e))),gs=(e,t,s,l=0,a)=>{return ie(e)?gs(e.tableId,e.cellId,e.descending,e.offset,e.limit):B(z((r=He(ge,p(e)),o=(e,s)=>[E(t)?s:He(e,p(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),B([...r?.entries()??[]],([e,t])=>o(t,e)).sort(n)),l,E(a)?a:l+a),([,e])=>e);var n,r,o},hs=(e,t)=>Le(He(He(ge,p(e)),p(t))),bs=(e,t,s)=>He(He(He(ge,p(e)),p(t)),p(s)),fs=()=>Oe(fe),Cs=()=>Le(fe),Ts=e=>He(fe,p(e)),vs=()=>!ee(ge),ws=e=>_(ge,p(e)),Vs=(e,t)=>_(He(de,p(e)),p(t)),Is=(e,t)=>_(He(ge,p(e)),p(t)),ps=(e,t,s)=>_(He(He(ge,p(e)),p(t)),p(s)),Rs=()=>!ee(fe),ys=e=>_(fe,p(e)),ms=e=>ns(()=>(e=>we(e,ht,Yt))(e)?Et(e):0),Ms=e=>ns(()=>yt(e)?At(e):0),Ss=e=>(W(()=>Jt(Ie(e))),Ws),Ls=t=>ns(()=>{if((e=we(t,e=>we(e,ut)))&&(Lt(t),!ee(ge))){const e=os();Js(),ms(e)}}),Hs=e=>ns(()=>{if(s=(e=>we(e,ut))(e)){const t=fs();xs(),Fs(),s=!0,Ht(e),Ms(t)}}),Js=()=>ns(()=>Et({})),Es=e=>ns(e=>_(ge,e)?kt(e):0,e),Ds=(e,t)=>ns((e,t)=>D(He(ge,e),s=>_(s,t)?Nt(e,s,t):0),e,t),Fs=()=>ns(()=>At({})),Os=()=>ns(()=>{Lt({}),e=!1}),xs=()=>ns(()=>{Ht({}),s=!1}),zs=(e,t)=>{if(-1!=d){As();const s=e();return Ps(t),s}},As=()=>(-1!=d&&d++,1==d&&(R[0]?.(),ct(nt)),Ws),Ps=e=>(d>0&&(d--,0==d&&(d=1,es(1),ee(H)||ls(1),ts(1),ee(P)||as(1),e?.(Ws)&&(le(H,(e,t)=>le(e,(e,s)=>le(e,([e],l)=>j(Ws,t,s,l,e)))),se(H),le(P,([e],t)=>U(Ws,t,e)),se(P)),ct(rt[0],void 0),d=-1,es(0),ee(H)||ls(0),ts(0),ee(P)||as(0),R[1]?.(),ct(rt[1],void 0),R[2]?.(),d=0,l=vs(),n=Rs(),q([y,m,M,S,L,H,N,J,P,G],se))),Ws),Ws={getContent:()=>[os(),fs()],getTables:os,getTableIds:cs,getTable:e=>xe(He(ge,p(e))),getTableCellIds:is,getRowCount:ds,getRowIds:us,getSortedRowIds:gs,getRow:(e,t)=>Oe(He(He(ge,p(e)),p(t))),getCellIds:hs,getCell:bs,getValues:fs,getValueIds:Cs,getValue:Ts,hasTables:vs,hasTable:ws,hasTableCell:Vs,hasRow:Is,hasCell:ps,hasValues:Rs,hasValue:ys,getTablesJson:()=>pe(ge),getValuesJson:()=>pe(fe),getJson:()=>pe([ge,fe]),getTablesSchemaJson:()=>pe(Q),getValuesSchemaJson:()=>pe(ne),getSchemaJson:()=>pe([Q,ne]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ns(()=>{const t=O(e)?e():e;gt(t)&&(([e,t])=>{(Te(e)?Js:ms)(e),(Te(t)?Fs:Ms)(t)})(t)}),setTables:ms,setTable:(e,t)=>ns(e=>ht(t,e)?Dt(e,t):0,e),setRow:(e,t,s)=>ns((e,t)=>pt(e,t,s)?Ft(e,Wt(e),t,s):0,e,t),addRow:(e,t,s=!0)=>zs(()=>{let l;return pt(e,l,t)&&(e=p(e),Ft(e,Wt(e),l=((e,t)=>{const[s]=He(ce,e);let l;do{l=s(t)}while(_(He(ge,e),l));return l})(e,s?1:0),t)),l}),setPartialRow:(e,t,s)=>ns((e,t)=>{if(pt(e,t,s,1)){const l=Wt(e);Ce(s,(s,a)=>xt(e,l,t,a,s))}},e,t),setCell:(e,t,s,l)=>ns((e,t,s)=>D(Rt(e,t,s,O(l)?l(bs(e,t,s)):l),l=>xt(e,Wt(e),t,s,l)),e,t,s),setValues:Ms,setPartialValues:e=>ns(()=>yt(e,1)?Ce(e,(e,t)=>Pt(t,e)):0),setValue:(e,t)=>ns(e=>D(mt(e,O(t)?t(Ts(e)):t),t=>Pt(e,t)),e),applyChanges:e=>ns(()=>{Ce(e[0],(e,t)=>E(e)?Es(t):Ce(e,(e,s)=>E(e)?Ds(t,s):Ce(e,(e,l)=>j(Ws,t,s,l,e)))),Ce(e[1],(e,t)=>U(Ws,t,e))}),setTablesJson:Ss,setValuesJson:e=>(W(()=>zt(Ie(e))),Ws),setJson:e=>ns(()=>W(()=>{const[t,s]=Ie(e);Jt(t),zt(s)},()=>Ss(e))),setTablesSchema:Ls,setValuesSchema:Hs,setSchema:(e,t)=>ns(()=>{Ls(e),Hs(t)}),delTables:Js,delTable:Es,delRow:Ds,delCell:(e,t,s,l)=>ns((e,t,s)=>D(He(ge,e),a=>D(He(a,t),n=>_(n,s)?jt(e,a,t,n,s,l):0)),e,t,s),delValues:Fs,delValue:e=>ns(e=>_(fe,e)?Ut(e):0,e),delTablesSchema:Os,delValuesSchema:xs,delSchema:()=>ns(()=>{Os(),xs()}),transaction:zs,startTransaction:As,getTransactionChanges:()=>[Oe(H,(e,t)=>-1===He(y,t)?void 0:Oe(e,(e,s)=>-1===He(He(S,t),s)?void 0:Oe(e,([,e])=>e,e=>wt(e)),ee,Te),ee,Te),Oe(P,([,e])=>e,e=>wt(e)),1],getTransactionLog:()=>[!ee(H),!ee(P),ze(H,vt,wt),ze(N),Oe(P,vt,wt),Oe(G),Oe(y),xe(S),ze(L),Oe(J)],finishTransaction:Ps,forEachTable:e=>le(ge,(t,s)=>e(s,e=>le(t,(t,s)=>e(s,e=>Je(t,e))))),forEachTableCell:(e,t)=>Je(He(de,p(e)),t),forEachRow:(e,t)=>le(He(ge,p(e)),(e,s)=>t(s,t=>Je(e,t))),forEachCell:(e,t,s)=>Je(He(He(ge,p(e)),p(t)),s),forEachValue:e=>Je(fe,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>ie(e)?rs(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):rs(e,t,[s,l,a],n,r),addStartTransactionListener:e=>ot(e,nt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Ws),delListener:e=>(it(e),Ws),getListenerStats:()=>({hasTables:Ct(ve),tables:Ct(Ve),tableIds:Ct(Re),hasTable:Ct(ye),table:Ct(me),tableCellIds:Ct(Me),hasTableCell:Ct(Ne,Z),rowCount:Ct(je),rowIds:Ct(Ue),sortedRowIds:Ct(qe),hasRow:Ct(Be,Z),row:Ct(Ge,Z),cellIds:Ct(Ke,Z),hasCell:Ct(Qe,$),cell:Ct(Xe,$),invalidCell:Ct(Ye,$),hasValues:Ct(et),values:Ct(tt),valueIds:Ct(st),hasValue:Ct(lt),value:Ct(at),invalidValue:Ct(Ze),transaction:Y(nt)+Ct(rt)}),isMergeable:()=>!1,createStore:It,addListener:ot,callListeners:ct,setInternalListeners:(e,t,s,l,a)=>R=[e,t,s,l,a]};return Ce({[i+g]:[0,ve,[],()=>[vs()]],[g]:[0,Ve],[h]:[0,Re],[i+u]:[1,ye,[cs],e=>[ws(...e)]],[u]:[1,me,[cs]],[u+v]:[1,Me,[cs]],[i+u+T]:[2,Ne,[cs,is],e=>[Vs(...e)]],[f]:[1,je,[cs]],[C]:[1,Ue,[cs]],[i+b]:[2,Be,[cs,us],e=>[Is(...e)]],[b]:[2,Ge,[cs,us]],[v]:[2,Ke,[cs,us]],[i+T]:[3,Qe,[cs,us,hs],e=>[ps(...e)]],[T]:[3,Xe,[cs,us,hs],e=>ft(bs(...e))],InvalidCell:[3,Ye],[i+V]:[0,et,[],()=>[Rs()]],[V]:[0,tt],[I]:[0,st],[i+w]:[1,lt,[Cs],e=>[ys(...e)]],[w]:[1,at,[Cs],e=>ft(Ts(e[0]))],InvalidValue:[1,Ze]},([e,t,s,l],a)=>{Ws["add"+a+c]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)}),ue(Ws)},pt={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},Rt=(e=t)=>[it(e),it(e)],yt=(e,s)=>{let l=1,a=Rt(),n=0;const r=Se(),o=$e(),[i,d]=((e,s=Date.now)=>{let l=0,a=-1;const n=D(e,Ze,()=>((e=16)=>G(Be(new Uint8Array(e)),(e,t)=>e+Ue(t),t))(5)),r=e=>{const t=l,[n,r]=E(e)||""==e?[0,0]:c(e);l=L(t,n,s()),a=l==t?l==n?L(a,r):a:l==n?r:-1},o=(e,t,s)=>Ue(e/Ge)+Ue(e/Ke)+Ue(e/Qe)+Ue(e/Xe)+Ue(e/Ye)+Ue(e/64)+Ue(e)+Ue(t/Xe)+Ue(t/Ye)+Ue(t/64)+Ue(t)+(E(s)?n:Ze(s)),c=e=>[qe(e,0)*Ge+qe(e,1)*Ke+qe(e,2)*Qe+qe(e,3)*Xe+qe(e,4)*Ye+64*qe(e,5)+qe(e,6),qe(e,7)*Xe+qe(e,8)*Ye+64*qe(e,9)+qe(e,10),e.slice(11)];return[()=>(r(),o(l,++a)),r,o,c,()=>l,()=>a,()=>n]})(e,s),u=It(),g=e=>{const t=l;return l=0,e(),l=t,w},h=(e,s=0)=>{const l={},n={},[[r,o=t,c=0],i]=e,[u,g]=a,[h,f,C]=u;let T=s?c:C,v=o;fe(r,([e,a=t,n=0],r)=>{const o=De(h,r,it),[c,i,d]=o;let u=s?n:d,g=a;fe(e,(e,t)=>{const[a,n,o]=b(e,De(c,t,it),ve(ve(l,r,ge),t,ge),s);u^=s?0:me(n?Me(t,n):0,Me(t,o)),g=rt(g,a)}),u^=s?0:nt(i,a),ot(o,a,u),T^=s?0:me(d?Me(r,d):0,Me(r,o[2])),v=rt(v,g)}),T^=s?0:nt(f,o),ot(u,o,T);const[w]=b(i,g,n,s);return d(rt(v,w)),[l,n,1]},b=(e,s,l,a)=>{const[n,r=t,o=0]=e,[c,i,d]=s;let u=r,g=a?o:d;return fe(n,([e,s=t,n=0],r)=>{const o=De(c,r,()=>[void 0,t,0]),[,i,d]=o;var h;(!i||s>i)&&(ot(o,s,a?n:(h=s,ye(pe(e??null)+":"+h))),o[0]=e,l[r]=e,g^=a?0:me(Me(r,d),Me(r,o[2])),u=rt(u,s))}),g^=a?0:nt(i,r),ot(s,r,g),[u,d,s[2]]},f=P,C=P,T=()=>[dt(a[0],e=>dt(e,e=>dt(e))),dt(a[1])],v=e=>g(()=>u.applyChanges(h(e))),w={getMergeableContent:T,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>Oe(a[0][0],at),getMergeableTableDiff:e=>{const t=ct(a[0][1]),s={};return Je(a[0][0],(l,[a,n,r])=>he(e,l)?r!=e[l]?s[l]=r:0:t[0][l]=ut([a,n],e=>ut(e))),[t,s]},getMergeableRowHashes:e=>{const t={};return fe(e,(e,s)=>D(He(a[0][0],s),([l,,a])=>a!=e?Je(l,(e,[,,l])=>ve(t,s,ge)[e]=l):0)),t},getMergeableRowDiff:e=>{const t=ct(a[0][1]),s={};return fe(e,(e,l)=>Je(He(a[0][0],l)?.[0],(a,[n,r,o])=>he(e,a)?o!==e[a]?ve(s,l,ge)[a]=o:0:ve(t[0],l,ct)[0][a]=ut([n,r]))),[t,s]},getMergeableCellHashes:e=>{const t={};return fe(e,(e,s)=>D(He(a[0][0],s),([l])=>fe(e,(e,a)=>D(He(l,a),([l,,n])=>n!==e?Je(l,(e,[,,l])=>ve(ve(t,s,ge),a,ge)[e]=l):0)))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,l={};return fe(e,(e,s)=>fe(e,(e,a)=>D(He(t,s),([t,n])=>D(He(t,a),([t,r])=>Je(t,(t,[o,c,i])=>i!==e[t]?ve(ve(l,s,()=>ct(n))[0],a,()=>ct(r))[0][t]=[o,c]:0))))),st(l,s)},getMergeableValueHashes:()=>Oe(a[1][0],at),getMergeableValueDiff:e=>{const[,[t,s]]=a,l=Oe(t,et,([,,t],s)=>t==e?.[s]);return st(l,s)},setMergeableContent:e=>g(()=>(e=>x(e)&&2==A(e)&>(e[0],e=>we(e,e=>gt(e,e=>we(e,e=>gt(e,e=>we(e,e=>gt(e,N),void 0,1)),void 0,1)),void 0,1))&>(e[1],e=>we(e,e=>gt(e,N),void 0,1)))(e)?u.transaction(()=>{u.delTables().delValues(),a=Rt(),u.applyChanges(h(e,1))}):0),setDefaultContent:e=>(u.transaction(()=>{n=1,u.setContent(e),n=0}),w),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[n,c,i]]=a,d=e?lt:st,u={};le(r,(e,s)=>D(He(t,s),([t,l,a])=>{const n={};le(e,(e,s)=>D(He(t,s),([t,l,a])=>{const r={};le(e,e=>{D(He(t,e),([t,s,l])=>r[e]=d(t,s,l))}),n[s]=d(r,l,a)})),u[s]=d(n,l,a)}));const g={};return le(o,e=>D(He(n,e),([t,s,l])=>g[e]=d(t,s,l))),[d(u,s,l),d(g,c,i),1]},applyMergeableChanges:v,merge:e=>{const t=T(),s=e.getMergeableContent();return e.applyMergeableChanges(t),v(s)}};return u.setInternalListeners(f,C,()=>{se(r),se(o)},(e,s,a,o)=>{_e(De(De(r,e,Se),s,$e),a),l&&h([[{[e]:[{[s]:[{[a]:[o,n?t:i()]}]}]}],[{}],1])},(e,s)=>{_e(o,e),l&&h([[{}],[{[e]:[s,n?t:i()]}],1])}),Ce(u,(e,t)=>w[t]=R(t,"set")||R(t,"del")||R(t,"apply")||y(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),w):R(t,"add")&&y(t,c)?(...s)=>{const l=pt[z(t,3,-8)]??0,a=s[l];return s[l]=(e,...t)=>a(w,...t),e(...s)}:"isMergeable"==t?()=>!0:e),ue(w)};export{yt as createMergeableStore};
|
|
Binary file
|