tinybase 4.6.2 → 5.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +1 -1
- package/lib/checkpoints.js +1 -1
- package/lib/checkpoints.js.gz +0 -0
- package/lib/cjs/checkpoints.cjs +1 -1
- package/lib/cjs/checkpoints.cjs.gz +0 -0
- package/lib/cjs/indexes.cjs +1 -1
- package/lib/cjs/indexes.cjs.gz +0 -0
- package/lib/cjs/metrics.cjs +1 -1
- package/lib/cjs/metrics.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
- package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/queries.cjs +1 -1
- package/lib/cjs/queries.cjs.gz +0 -0
- package/lib/cjs/relationships.cjs +1 -1
- package/lib/cjs/relationships.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom.cjs +1 -1
- package/lib/cjs/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/checkpoints.cjs +1 -1
- package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
- package/lib/cjs-es6/indexes.cjs +1 -1
- package/lib/cjs-es6/indexes.cjs.gz +0 -0
- package/lib/cjs-es6/metrics.cjs +1 -1
- package/lib/cjs-es6/metrics.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/queries.cjs +1 -1
- package/lib/cjs-es6/queries.cjs.gz +0 -0
- package/lib/cjs-es6/relationships.cjs +1 -1
- package/lib/cjs-es6/relationships.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/checkpoints.js +251 -234
- package/lib/debug/indexes.js +7 -5
- package/lib/debug/metrics.js +7 -5
- package/lib/debug/persisters/persister-automerge.js +3 -1
- package/lib/debug/persisters/persister-browser.js +1 -0
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +3 -1
- package/lib/debug/persisters/persister-electric-sql.js +3 -1
- package/lib/debug/persisters/persister-expo-sqlite-next.js +3 -1
- package/lib/debug/persisters/persister-expo-sqlite.js +3 -1
- package/lib/debug/persisters/persister-file.js +1 -0
- package/lib/debug/persisters/persister-indexed-db.js +3 -1
- package/lib/debug/persisters/persister-partykit-client.js +1 -0
- package/lib/debug/persisters/persister-partykit-server.js +2 -1
- package/lib/debug/persisters/persister-remote.js +1 -0
- package/lib/debug/persisters/persister-sqlite-wasm.js +3 -1
- package/lib/debug/persisters/persister-sqlite3.js +3 -1
- package/lib/debug/persisters/persister-yjs.js +3 -1
- package/lib/debug/persisters.js +1 -0
- package/lib/debug/queries.js +9 -6
- package/lib/debug/relationships.js +7 -5
- package/lib/debug/store.js +3 -1
- package/lib/debug/tinybase.js +254 -235
- package/lib/debug/tools.js +10 -6
- package/lib/debug/ui-react-dom.js +3 -1
- package/lib/debug/ui-react.js +166 -200
- package/lib/es6/checkpoints.js +1 -1
- package/lib/es6/checkpoints.js.gz +0 -0
- package/lib/es6/indexes.js +1 -1
- package/lib/es6/indexes.js.gz +0 -0
- package/lib/es6/metrics.js +1 -1
- package/lib/es6/metrics.js.gz +0 -0
- package/lib/es6/persisters/persister-automerge.js +1 -1
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-electric-sql.js +1 -1
- package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-indexed-db.js +1 -1
- package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-server.js +1 -1
- package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/queries.js +1 -1
- package/lib/es6/queries.js.gz +0 -0
- package/lib/es6/relationships.js +1 -1
- package/lib/es6/relationships.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react-dom-debug.js +1 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/es6/ui-react-dom.js +1 -1
- package/lib/es6/ui-react-dom.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/indexes.js +1 -1
- package/lib/indexes.js.gz +0 -0
- package/lib/metrics.js +1 -1
- package/lib/metrics.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-electric-sql.js +1 -1
- package/lib/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-indexed-db.js +1 -1
- package/lib/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/persisters/persister-partykit-server.js +1 -1
- package/lib/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/relationships.js +1 -1
- package/lib/relationships.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/ui-react.d.ts +77 -88
- package/lib/types/with-schemas/ui-react.d.ts +84 -95
- package/lib/ui-react-dom.js +1 -1
- package/lib/ui-react-dom.js.gz +0 -0
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/checkpoints.js +1 -1
- package/lib/umd/checkpoints.js.gz +0 -0
- package/lib/umd/indexes.js +1 -1
- package/lib/umd/indexes.js.gz +0 -0
- package/lib/umd/metrics.js +1 -1
- package/lib/umd/metrics.js.gz +0 -0
- package/lib/umd/persisters/persister-automerge.js +1 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-electric-sql.js +1 -1
- package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-indexed-db.js +1 -1
- package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-server.js +1 -1
- package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/relationships.js +1 -1
- package/lib/umd/relationships.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd/ui-react-dom-debug.js +1 -1
- package/lib/umd/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd/ui-react-dom.js +1 -1
- package/lib/umd/ui-react-dom.js.gz +0 -0
- package/lib/umd/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/checkpoints.js +1 -1
- package/lib/umd-es6/checkpoints.js.gz +0 -0
- package/lib/umd-es6/indexes.js +1 -1
- package/lib/umd-es6/indexes.js.gz +0 -0
- package/lib/umd-es6/metrics.js +1 -1
- package/lib/umd-es6/metrics.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
- package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
- package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
- package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/queries.js +1 -1
- package/lib/umd-es6/queries.js.gz +0 -0
- package/lib/umd-es6/relationships.js +1 -1
- package/lib/umd-es6/relationships.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom-debug.js +1 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom.js +1 -1
- package/lib/umd-es6/ui-react-dom.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +4 -4
- package/readme.md +13 -13
package/lib/debug/ui-react.js
CHANGED
|
@@ -33,16 +33,46 @@ const isArray = (thing) => Array.isArray(thing);
|
|
|
33
33
|
const size = (arrayOrString) => arrayOrString.length;
|
|
34
34
|
const getUndefined = () => void 0;
|
|
35
35
|
|
|
36
|
+
const arrayEvery = (array, cb) => array.every(cb);
|
|
37
|
+
const arrayIsEqual = (array1, array2) =>
|
|
38
|
+
size(array1) === size(array2) &&
|
|
39
|
+
arrayEvery(array1, (value1, index) => array2[index] === value1);
|
|
36
40
|
const arrayMap = (array, cb) => array.map(cb);
|
|
37
41
|
const arrayIsEmpty = (array) => size(array) == 0;
|
|
38
42
|
|
|
39
43
|
const object = Object;
|
|
44
|
+
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
45
|
+
const objEntries = object.entries;
|
|
40
46
|
const objIds = object.keys;
|
|
47
|
+
const isObject = (obj) =>
|
|
48
|
+
!isUndefined(obj) &&
|
|
49
|
+
ifNotUndefined(
|
|
50
|
+
getPrototypeOf(obj),
|
|
51
|
+
(objPrototype) =>
|
|
52
|
+
objPrototype == object.prototype ||
|
|
53
|
+
isUndefined(getPrototypeOf(objPrototype)),
|
|
54
|
+
/* istanbul ignore next */
|
|
55
|
+
() => true,
|
|
56
|
+
);
|
|
41
57
|
const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
|
|
42
58
|
const objDel = (obj, id) => {
|
|
43
59
|
delete obj[id];
|
|
44
60
|
return obj;
|
|
45
61
|
};
|
|
62
|
+
const objSize = (obj) => size(objIds(obj));
|
|
63
|
+
const objIsEqual = (obj1, obj2) => {
|
|
64
|
+
const entries1 = objEntries(obj1);
|
|
65
|
+
return (
|
|
66
|
+
size(entries1) === objSize(obj2) &&
|
|
67
|
+
arrayEvery(entries1, ([index, value1]) =>
|
|
68
|
+
isObject(value1)
|
|
69
|
+
? isObject(obj2[index])
|
|
70
|
+
? objIsEqual(obj2[index], value1)
|
|
71
|
+
: false
|
|
72
|
+
: obj2[index] === value1,
|
|
73
|
+
)
|
|
74
|
+
);
|
|
75
|
+
};
|
|
46
76
|
|
|
47
77
|
const {createContext, useContext: useContext$1, useEffect: useEffect$1} = React;
|
|
48
78
|
const Context = createContext([]);
|
|
@@ -99,49 +129,67 @@ const {
|
|
|
99
129
|
useLayoutEffect: useLayoutEffect$1,
|
|
100
130
|
useRef: useRef$1,
|
|
101
131
|
useState: useState$2,
|
|
132
|
+
useSyncExternalStore,
|
|
102
133
|
} = React;
|
|
103
134
|
const EMPTY_ARRAY = [];
|
|
104
|
-
const
|
|
105
|
-
const
|
|
135
|
+
const DEFAULTS = [{}, [], [EMPTY_ARRAY, void 0, EMPTY_ARRAY], void 0, false, 0];
|
|
136
|
+
const IS_EQUAL = (thing1, thing2) => thing1 === thing2;
|
|
137
|
+
const IS_EQUALS = [
|
|
138
|
+
objIsEqual,
|
|
139
|
+
arrayIsEqual,
|
|
140
|
+
(
|
|
141
|
+
[backwardIds1, currentId1, forwardIds1],
|
|
142
|
+
[backwardIds2, currentId2, forwardIds2],
|
|
143
|
+
) =>
|
|
144
|
+
currentId1 === currentId2 &&
|
|
145
|
+
arrayIsEqual(backwardIds1, backwardIds2) &&
|
|
146
|
+
arrayIsEqual(forwardIds1, forwardIds2),
|
|
147
|
+
];
|
|
106
148
|
const useCreate = (store, create, createDeps = EMPTY_ARRAY) => {
|
|
107
|
-
const
|
|
108
|
-
|
|
149
|
+
const [, rerender] = useState$2();
|
|
150
|
+
const [thing, setThing] = useState$2();
|
|
151
|
+
useEffect(
|
|
152
|
+
() => {
|
|
153
|
+
const newThing = create(store);
|
|
154
|
+
setThing(newThing);
|
|
155
|
+
rerender([]);
|
|
156
|
+
return newThing.destroy;
|
|
157
|
+
},
|
|
109
158
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
110
159
|
[store, ...createDeps],
|
|
111
160
|
);
|
|
112
|
-
useEffect(() => () => thing.destroy(), [thing]);
|
|
113
161
|
return thing;
|
|
114
162
|
};
|
|
115
|
-
const
|
|
116
|
-
listenable
|
|
117
|
-
thing
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
getterPrefix = GET,
|
|
122
|
-
listenerPrefix = EMPTY_STRING,
|
|
123
|
-
) => {
|
|
124
|
-
const [, rerender] = useState$2();
|
|
163
|
+
const addAndDelListener = (thing, listenable, ...args) => {
|
|
164
|
+
const listenerId = thing?.[ADD + listenable + LISTENER]?.(...args);
|
|
165
|
+
return () => thing?.delListener(listenerId);
|
|
166
|
+
};
|
|
167
|
+
const useListenable = (listenable, thing, type, args = EMPTY_ARRAY) => {
|
|
168
|
+
const lastResult = useRef$1(DEFAULTS[type]);
|
|
125
169
|
const getResult = useCallback$2(
|
|
126
|
-
() =>
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
listenerPrefix + listenable,
|
|
134
|
-
thing,
|
|
135
|
-
(...listenerArgs) => {
|
|
136
|
-
result.current = isUndefined(getFromListenerArg)
|
|
137
|
-
? getResult()
|
|
138
|
-
: listenerArgs[getFromListenerArg];
|
|
139
|
-
rerender([]);
|
|
170
|
+
() => {
|
|
171
|
+
const nextResult =
|
|
172
|
+
thing?.[(type == 4 ? _HAS : GET) + listenable]?.(...args) ??
|
|
173
|
+
DEFAULTS[type];
|
|
174
|
+
return !(IS_EQUALS[type] ?? IS_EQUAL)(nextResult, lastResult.current)
|
|
175
|
+
? (lastResult.current = nextResult)
|
|
176
|
+
: lastResult.current;
|
|
140
177
|
},
|
|
141
|
-
|
|
142
|
-
args,
|
|
178
|
+
/* eslint-disable-next-line react-hooks/exhaustive-deps */
|
|
179
|
+
[thing, type, listenable, ...args],
|
|
180
|
+
);
|
|
181
|
+
const subscribe = useCallback$2(
|
|
182
|
+
(listener) =>
|
|
183
|
+
addAndDelListener(
|
|
184
|
+
thing,
|
|
185
|
+
(type == 4 ? HAS : EMPTY_STRING) + listenable,
|
|
186
|
+
...args,
|
|
187
|
+
listener,
|
|
188
|
+
),
|
|
189
|
+
/* eslint-disable-next-line react-hooks/exhaustive-deps */
|
|
190
|
+
[thing, type, listenable, ...args],
|
|
143
191
|
);
|
|
144
|
-
return
|
|
192
|
+
return useSyncExternalStore(subscribe, getResult);
|
|
145
193
|
};
|
|
146
194
|
const useListener = (
|
|
147
195
|
listenable,
|
|
@@ -151,14 +199,12 @@ const useListener = (
|
|
|
151
199
|
preArgs = EMPTY_ARRAY,
|
|
152
200
|
...postArgs
|
|
153
201
|
) =>
|
|
154
|
-
useLayoutEffect$1(
|
|
155
|
-
|
|
156
|
-
...preArgs,
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
return () => thing?.delListener(listenerId);
|
|
161
|
-
}, [thing, listenable, ...preArgs, ...listenerDeps, ...postArgs]);
|
|
202
|
+
useLayoutEffect$1(
|
|
203
|
+
() =>
|
|
204
|
+
addAndDelListener(thing, listenable, ...preArgs, listener, ...postArgs),
|
|
205
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
206
|
+
[thing, listenable, ...preArgs, ...listenerDeps, ...postArgs],
|
|
207
|
+
);
|
|
162
208
|
const useSetCallback = (
|
|
163
209
|
storeOrStoreId,
|
|
164
210
|
settable,
|
|
@@ -216,56 +262,28 @@ const useCreateStore = (create, createDeps = EMPTY_ARRAY) =>
|
|
|
216
262
|
useMemo$1(create, createDeps);
|
|
217
263
|
const useStoreIds = () => useThingIds(1);
|
|
218
264
|
const useHasTables = (storeOrStoreId) =>
|
|
219
|
-
useListenable(
|
|
220
|
-
TABLES,
|
|
221
|
-
useStoreOrStoreById(storeOrStoreId),
|
|
222
|
-
false,
|
|
223
|
-
[],
|
|
224
|
-
1,
|
|
225
|
-
_HAS,
|
|
226
|
-
HAS,
|
|
227
|
-
);
|
|
265
|
+
useListenable(TABLES, useStoreOrStoreById(storeOrStoreId), 4, []);
|
|
228
266
|
const useTables = (storeOrStoreId) =>
|
|
229
|
-
useListenable(TABLES, useStoreOrStoreById(storeOrStoreId),
|
|
267
|
+
useListenable(TABLES, useStoreOrStoreById(storeOrStoreId), 0);
|
|
230
268
|
const useTableIds = (storeOrStoreId) =>
|
|
231
|
-
useListenable(TABLE_IDS, useStoreOrStoreById(storeOrStoreId),
|
|
269
|
+
useListenable(TABLE_IDS, useStoreOrStoreById(storeOrStoreId), 1);
|
|
232
270
|
const useHasTable = (tableId, storeOrStoreId) =>
|
|
233
|
-
useListenable(
|
|
234
|
-
TABLE,
|
|
235
|
-
useStoreOrStoreById(storeOrStoreId),
|
|
236
|
-
false,
|
|
237
|
-
[tableId],
|
|
238
|
-
2,
|
|
239
|
-
_HAS,
|
|
240
|
-
HAS,
|
|
241
|
-
);
|
|
271
|
+
useListenable(TABLE, useStoreOrStoreById(storeOrStoreId), 4, [tableId]);
|
|
242
272
|
const useTable = (tableId, storeOrStoreId) =>
|
|
243
|
-
useListenable(TABLE, useStoreOrStoreById(storeOrStoreId),
|
|
273
|
+
useListenable(TABLE, useStoreOrStoreById(storeOrStoreId), 0, [tableId]);
|
|
274
|
+
const useTableCellIds = (tableId, storeOrStoreId) =>
|
|
275
|
+
useListenable(TABLE + CELL_IDS, useStoreOrStoreById(storeOrStoreId), 1, [
|
|
244
276
|
tableId,
|
|
245
277
|
]);
|
|
246
|
-
const useTableCellIds = (tableId, storeOrStoreId) =>
|
|
247
|
-
useListenable(
|
|
248
|
-
TABLE + CELL_IDS,
|
|
249
|
-
useStoreOrStoreById(storeOrStoreId),
|
|
250
|
-
EMPTY_ARRAY,
|
|
251
|
-
[tableId],
|
|
252
|
-
);
|
|
253
278
|
const useHasTableCell = (tableId, cellId, storeOrStoreId) =>
|
|
254
|
-
useListenable(
|
|
255
|
-
TABLE + CELL,
|
|
256
|
-
useStoreOrStoreById(storeOrStoreId),
|
|
257
|
-
false,
|
|
258
|
-
[tableId, cellId],
|
|
259
|
-
3,
|
|
260
|
-
_HAS,
|
|
261
|
-
HAS,
|
|
262
|
-
);
|
|
263
|
-
const useRowCount = (tableId, storeOrStoreId) =>
|
|
264
|
-
useListenable(ROW_COUNT, useStoreOrStoreById(storeOrStoreId), 0, [tableId]);
|
|
265
|
-
const useRowIds = (tableId, storeOrStoreId) =>
|
|
266
|
-
useListenable(ROW_IDS, useStoreOrStoreById(storeOrStoreId), EMPTY_ARRAY, [
|
|
279
|
+
useListenable(TABLE + CELL, useStoreOrStoreById(storeOrStoreId), 4, [
|
|
267
280
|
tableId,
|
|
281
|
+
cellId,
|
|
268
282
|
]);
|
|
283
|
+
const useRowCount = (tableId, storeOrStoreId) =>
|
|
284
|
+
useListenable(ROW_COUNT, useStoreOrStoreById(storeOrStoreId), 5, [tableId]);
|
|
285
|
+
const useRowIds = (tableId, storeOrStoreId) =>
|
|
286
|
+
useListenable(ROW_IDS, useStoreOrStoreById(storeOrStoreId), 1, [tableId]);
|
|
269
287
|
const useSortedRowIds = (
|
|
270
288
|
tableId,
|
|
271
289
|
cellId,
|
|
@@ -274,77 +292,44 @@ const useSortedRowIds = (
|
|
|
274
292
|
limit,
|
|
275
293
|
storeOrStoreId,
|
|
276
294
|
) =>
|
|
277
|
-
useListenable(
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
);
|
|
295
|
+
useListenable(SORTED_ROW_IDS, useStoreOrStoreById(storeOrStoreId), 1, [
|
|
296
|
+
tableId,
|
|
297
|
+
cellId,
|
|
298
|
+
descending,
|
|
299
|
+
offset,
|
|
300
|
+
limit,
|
|
301
|
+
]);
|
|
284
302
|
const useHasRow = (tableId, rowId, storeOrStoreId) =>
|
|
285
|
-
useListenable(
|
|
286
|
-
ROW,
|
|
287
|
-
useStoreOrStoreById(storeOrStoreId),
|
|
288
|
-
false,
|
|
289
|
-
[tableId, rowId],
|
|
290
|
-
3,
|
|
291
|
-
_HAS,
|
|
292
|
-
HAS,
|
|
293
|
-
);
|
|
303
|
+
useListenable(ROW, useStoreOrStoreById(storeOrStoreId), 4, [tableId, rowId]);
|
|
294
304
|
const useRow = (tableId, rowId, storeOrStoreId) =>
|
|
295
|
-
useListenable(ROW, useStoreOrStoreById(storeOrStoreId),
|
|
305
|
+
useListenable(ROW, useStoreOrStoreById(storeOrStoreId), 0, [tableId, rowId]);
|
|
306
|
+
const useCellIds = (tableId, rowId, storeOrStoreId) =>
|
|
307
|
+
useListenable(CELL_IDS, useStoreOrStoreById(storeOrStoreId), 1, [
|
|
296
308
|
tableId,
|
|
297
309
|
rowId,
|
|
298
310
|
]);
|
|
299
|
-
const
|
|
300
|
-
useListenable(
|
|
311
|
+
const useHasCell = (tableId, rowId, cellId, storeOrStoreId) =>
|
|
312
|
+
useListenable(CELL, useStoreOrStoreById(storeOrStoreId), 4, [
|
|
301
313
|
tableId,
|
|
302
314
|
rowId,
|
|
315
|
+
cellId,
|
|
303
316
|
]);
|
|
304
|
-
const useHasCell = (tableId, rowId, cellId, storeOrStoreId) =>
|
|
305
|
-
useListenable(
|
|
306
|
-
CELL,
|
|
307
|
-
useStoreOrStoreById(storeOrStoreId),
|
|
308
|
-
false,
|
|
309
|
-
[tableId, rowId, cellId],
|
|
310
|
-
4,
|
|
311
|
-
_HAS,
|
|
312
|
-
HAS,
|
|
313
|
-
);
|
|
314
317
|
const useCell = (tableId, rowId, cellId, storeOrStoreId) =>
|
|
315
|
-
useListenable(
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
4,
|
|
321
|
-
);
|
|
318
|
+
useListenable(CELL, useStoreOrStoreById(storeOrStoreId), 3, [
|
|
319
|
+
tableId,
|
|
320
|
+
rowId,
|
|
321
|
+
cellId,
|
|
322
|
+
]);
|
|
322
323
|
const useHasValues = (storeOrStoreId) =>
|
|
323
|
-
useListenable(
|
|
324
|
-
VALUES,
|
|
325
|
-
useStoreOrStoreById(storeOrStoreId),
|
|
326
|
-
false,
|
|
327
|
-
[],
|
|
328
|
-
1,
|
|
329
|
-
_HAS,
|
|
330
|
-
HAS,
|
|
331
|
-
);
|
|
324
|
+
useListenable(VALUES, useStoreOrStoreById(storeOrStoreId), 4, []);
|
|
332
325
|
const useValues = (storeOrStoreId) =>
|
|
333
|
-
useListenable(VALUES, useStoreOrStoreById(storeOrStoreId),
|
|
326
|
+
useListenable(VALUES, useStoreOrStoreById(storeOrStoreId), 0);
|
|
334
327
|
const useValueIds = (storeOrStoreId) =>
|
|
335
|
-
useListenable(VALUE_IDS, useStoreOrStoreById(storeOrStoreId),
|
|
328
|
+
useListenable(VALUE_IDS, useStoreOrStoreById(storeOrStoreId), 1);
|
|
336
329
|
const useHasValue = (valueId, storeOrStoreId) =>
|
|
337
|
-
useListenable(
|
|
338
|
-
VALUE,
|
|
339
|
-
useStoreOrStoreById(storeOrStoreId),
|
|
340
|
-
false,
|
|
341
|
-
[valueId],
|
|
342
|
-
2,
|
|
343
|
-
_HAS,
|
|
344
|
-
HAS,
|
|
345
|
-
);
|
|
330
|
+
useListenable(VALUE, useStoreOrStoreById(storeOrStoreId), 4, [valueId]);
|
|
346
331
|
const useValue = (valueId, storeOrStoreId) =>
|
|
347
|
-
useListenable(VALUE, useStoreOrStoreById(storeOrStoreId),
|
|
332
|
+
useListenable(VALUE, useStoreOrStoreById(storeOrStoreId), 3, [valueId]);
|
|
348
333
|
const useSetTablesCallback = (
|
|
349
334
|
getTables,
|
|
350
335
|
getTablesDeps,
|
|
@@ -860,13 +845,9 @@ const useCreateMetrics = (store, create, createDeps) =>
|
|
|
860
845
|
useCreate(store, create, createDeps);
|
|
861
846
|
const useMetricsIds = () => useThingIds(3);
|
|
862
847
|
const useMetricIds = (metricsOrMetricsId) =>
|
|
863
|
-
useListenable(
|
|
864
|
-
'MetricIds',
|
|
865
|
-
useMetricsOrMetricsById(metricsOrMetricsId),
|
|
866
|
-
EMPTY_ARRAY,
|
|
867
|
-
);
|
|
848
|
+
useListenable('MetricIds', useMetricsOrMetricsById(metricsOrMetricsId), 1);
|
|
868
849
|
const useMetric = (metricId, metricsOrMetricsId) =>
|
|
869
|
-
useListenable('Metric', useMetricsOrMetricsById(metricsOrMetricsId),
|
|
850
|
+
useListenable('Metric', useMetricsOrMetricsById(metricsOrMetricsId), 3, [
|
|
870
851
|
metricId,
|
|
871
852
|
]);
|
|
872
853
|
const useMetricListener = (
|
|
@@ -886,23 +867,16 @@ const useCreateIndexes = (store, create, createDeps) =>
|
|
|
886
867
|
useCreate(store, create, createDeps);
|
|
887
868
|
const useIndexesIds = () => useThingIds(5);
|
|
888
869
|
const useSliceIds = (indexId, indexesOrIndexesId) =>
|
|
889
|
-
useListenable(
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
EMPTY_ARRAY,
|
|
893
|
-
[indexId],
|
|
894
|
-
);
|
|
870
|
+
useListenable('SliceIds', useIndexesOrIndexesById(indexesOrIndexesId), 1, [
|
|
871
|
+
indexId,
|
|
872
|
+
]);
|
|
895
873
|
const useIndexIds = (indexesOrIndexesId) =>
|
|
896
|
-
useListenable(
|
|
897
|
-
'IndexIds',
|
|
898
|
-
useIndexesOrIndexesById(indexesOrIndexesId),
|
|
899
|
-
EMPTY_ARRAY,
|
|
900
|
-
);
|
|
874
|
+
useListenable('IndexIds', useIndexesOrIndexesById(indexesOrIndexesId), 1);
|
|
901
875
|
const useSliceRowIds = (indexId, sliceId, indexesOrIndexesId) =>
|
|
902
876
|
useListenable(
|
|
903
877
|
'Slice' + ROW_IDS,
|
|
904
878
|
useIndexesOrIndexesById(indexesOrIndexesId),
|
|
905
|
-
|
|
879
|
+
1,
|
|
906
880
|
[indexId, sliceId],
|
|
907
881
|
);
|
|
908
882
|
const useSliceIdsListener = (
|
|
@@ -939,7 +913,7 @@ const useRelationshipIds = (relationshipsOrRelationshipsId) =>
|
|
|
939
913
|
useListenable(
|
|
940
914
|
'RelationshipIds',
|
|
941
915
|
useRelationshipsOrRelationshipsById(relationshipsOrRelationshipsId),
|
|
942
|
-
|
|
916
|
+
1,
|
|
943
917
|
);
|
|
944
918
|
const useRemoteRowId = (
|
|
945
919
|
relationshipId,
|
|
@@ -949,7 +923,7 @@ const useRemoteRowId = (
|
|
|
949
923
|
useListenable(
|
|
950
924
|
'RemoteRowId',
|
|
951
925
|
useRelationshipsOrRelationshipsById(relationshipsOrRelationshipsId),
|
|
952
|
-
|
|
926
|
+
3,
|
|
953
927
|
[relationshipId, localRowId],
|
|
954
928
|
);
|
|
955
929
|
const useLocalRowIds = (
|
|
@@ -960,7 +934,7 @@ const useLocalRowIds = (
|
|
|
960
934
|
useListenable(
|
|
961
935
|
'Local' + ROW_IDS,
|
|
962
936
|
useRelationshipsOrRelationshipsById(relationshipsOrRelationshipsId),
|
|
963
|
-
|
|
937
|
+
1,
|
|
964
938
|
[relationshipId, remoteRowId],
|
|
965
939
|
);
|
|
966
940
|
const useLinkedRowIds = (
|
|
@@ -971,7 +945,7 @@ const useLinkedRowIds = (
|
|
|
971
945
|
useListenable(
|
|
972
946
|
'Linked' + ROW_IDS,
|
|
973
947
|
useRelationshipsOrRelationshipsById(relationshipsOrRelationshipsId),
|
|
974
|
-
|
|
948
|
+
1,
|
|
975
949
|
[relationshipId, firstRowId],
|
|
976
950
|
);
|
|
977
951
|
const useRemoteRowIdListener = (
|
|
@@ -1020,37 +994,33 @@ const useCreateQueries = (store, create, createDeps) =>
|
|
|
1020
994
|
useCreate(store, create, createDeps);
|
|
1021
995
|
const useQueriesIds = () => useThingIds(9);
|
|
1022
996
|
const useQueryIds = (queriesOrQueriesId) =>
|
|
1023
|
-
useListenable(
|
|
1024
|
-
'QueryIds',
|
|
1025
|
-
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
1026
|
-
EMPTY_ARRAY,
|
|
1027
|
-
);
|
|
997
|
+
useListenable('QueryIds', useQueriesOrQueriesById(queriesOrQueriesId), 1);
|
|
1028
998
|
const useResultTable = (queryId, queriesOrQueriesId) =>
|
|
1029
999
|
useListenable(
|
|
1030
1000
|
RESULT + TABLE,
|
|
1031
1001
|
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
1032
|
-
|
|
1002
|
+
0,
|
|
1033
1003
|
[queryId],
|
|
1034
1004
|
);
|
|
1035
1005
|
const useResultTableCellIds = (queryId, queriesOrQueriesId) =>
|
|
1036
1006
|
useListenable(
|
|
1037
1007
|
RESULT + TABLE + CELL_IDS,
|
|
1038
1008
|
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
1039
|
-
|
|
1009
|
+
1,
|
|
1040
1010
|
[queryId],
|
|
1041
1011
|
);
|
|
1042
1012
|
const useResultRowCount = (queryId, queriesOrQueriesId) =>
|
|
1043
1013
|
useListenable(
|
|
1044
1014
|
RESULT + ROW_COUNT,
|
|
1045
1015
|
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
1046
|
-
|
|
1016
|
+
5,
|
|
1047
1017
|
[queryId],
|
|
1048
1018
|
);
|
|
1049
1019
|
const useResultRowIds = (queryId, queriesOrQueriesId) =>
|
|
1050
1020
|
useListenable(
|
|
1051
1021
|
RESULT + ROW_IDS,
|
|
1052
1022
|
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
1053
|
-
|
|
1023
|
+
1,
|
|
1054
1024
|
[queryId],
|
|
1055
1025
|
);
|
|
1056
1026
|
const useResultSortedRowIds = (
|
|
@@ -1064,31 +1034,27 @@ const useResultSortedRowIds = (
|
|
|
1064
1034
|
useListenable(
|
|
1065
1035
|
RESULT + SORTED_ROW_IDS,
|
|
1066
1036
|
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
1067
|
-
|
|
1037
|
+
1,
|
|
1068
1038
|
[queryId, cellId, descending, offset, limit],
|
|
1069
|
-
6,
|
|
1070
1039
|
);
|
|
1071
1040
|
const useResultRow = (queryId, rowId, queriesOrQueriesId) =>
|
|
1072
|
-
useListenable(
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
[queryId, rowId],
|
|
1077
|
-
);
|
|
1041
|
+
useListenable(RESULT + ROW, useQueriesOrQueriesById(queriesOrQueriesId), 0, [
|
|
1042
|
+
queryId,
|
|
1043
|
+
rowId,
|
|
1044
|
+
]);
|
|
1078
1045
|
const useResultCellIds = (queryId, rowId, queriesOrQueriesId) =>
|
|
1079
1046
|
useListenable(
|
|
1080
1047
|
RESULT + CELL_IDS,
|
|
1081
1048
|
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
1082
|
-
|
|
1049
|
+
1,
|
|
1083
1050
|
[queryId, rowId],
|
|
1084
1051
|
);
|
|
1085
1052
|
const useResultCell = (queryId, rowId, cellId, queriesOrQueriesId) =>
|
|
1086
|
-
useListenable(
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
);
|
|
1053
|
+
useListenable(RESULT + CELL, useQueriesOrQueriesById(queriesOrQueriesId), 3, [
|
|
1054
|
+
queryId,
|
|
1055
|
+
rowId,
|
|
1056
|
+
cellId,
|
|
1057
|
+
]);
|
|
1092
1058
|
const useResultTableListener = (
|
|
1093
1059
|
queryId,
|
|
1094
1060
|
listener,
|
|
@@ -1208,13 +1174,13 @@ const useCheckpointIds = (checkpointsOrCheckpointsId) =>
|
|
|
1208
1174
|
useListenable(
|
|
1209
1175
|
'CheckpointIds',
|
|
1210
1176
|
useCheckpointsOrCheckpointsById(checkpointsOrCheckpointsId),
|
|
1211
|
-
|
|
1177
|
+
2,
|
|
1212
1178
|
);
|
|
1213
1179
|
const useCheckpoint = (checkpointId, checkpointsOrCheckpointsId) =>
|
|
1214
1180
|
useListenable(
|
|
1215
1181
|
'Checkpoint',
|
|
1216
1182
|
useCheckpointsOrCheckpointsById(checkpointsOrCheckpointsId),
|
|
1217
|
-
|
|
1183
|
+
3,
|
|
1218
1184
|
[checkpointId],
|
|
1219
1185
|
);
|
|
1220
1186
|
const useSetCheckpointCallback = (
|
|
@@ -1322,26 +1288,26 @@ const useCreatePersister = (
|
|
|
1322
1288
|
destroyDeps = EMPTY_ARRAY,
|
|
1323
1289
|
) => {
|
|
1324
1290
|
const [, rerender] = useState$2();
|
|
1325
|
-
const persister =
|
|
1326
|
-
() => create(store),
|
|
1327
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1328
|
-
[store, ...createDeps],
|
|
1329
|
-
);
|
|
1291
|
+
const [persister, setPersister] = useState$2();
|
|
1330
1292
|
useEffect(
|
|
1331
1293
|
() => {
|
|
1332
|
-
|
|
1294
|
+
const newPersister = create(store);
|
|
1295
|
+
setPersister(newPersister);
|
|
1296
|
+
if (newPersister) {
|
|
1333
1297
|
if (then) {
|
|
1334
|
-
|
|
1335
|
-
|
|
1298
|
+
(async () => {
|
|
1299
|
+
await then(newPersister);
|
|
1300
|
+
rerender([]);
|
|
1301
|
+
})();
|
|
1336
1302
|
}
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
}
|
|
1303
|
+
return () => {
|
|
1304
|
+
newPersister.destroy();
|
|
1305
|
+
destroy?.(newPersister);
|
|
1306
|
+
};
|
|
1307
|
+
}
|
|
1342
1308
|
},
|
|
1343
1309
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1344
|
-
[
|
|
1310
|
+
[store, ...createDeps, ...thenDeps, ...destroyDeps],
|
|
1345
1311
|
);
|
|
1346
1312
|
return persister;
|
|
1347
1313
|
};
|
package/lib/es6/checkpoints.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>null==e,
|
|
1
|
+
const e=e=>null==e,n=(n,l,t)=>e(n)?null==t?void 0:t():l(n),l=e=>e.length,t=(e,n)=>e.includes(n),r=(e,n)=>e.forEach(n),o=e=>0==l(e),s=(e,...n)=>e.push(...n),u=e=>e.pop(),i=e=>e.shift(),d=Object.freeze,a=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},c=n=>e(n)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(n),v=(e,n)=>null==e?void 0:e.forEach(n),h=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),g=(e,n)=>null==e?void 0:e.get(n),C=(n,l,t)=>e(t)?(h(n,l),n):null==n?void 0:n.set(l,t),f=(e,n,l)=>(a(e,n)||C(e,n,l()),g(e,n)),k=(e,t,r,o,s=0)=>n((r?f:g)(e,t[s],s>l(t)-2?r:p),(n=>{if(s>l(t)-2)return(null==o?void 0:o(n))&&C(e,t[s]),n;const u=k(n,t,r,o,s+1);return c(n)&&C(e,t[s]),u})),L=n=>new Set(Array.isArray(n)||e(n)?n:[n]),w=/^\d+$/,S=((S,y)=>{const z=new WeakMap;return S=>{z.has(S)||z.set(S,(S=>{let y,z,E,V=100,A=p(),F=p(),I=1;const M=p(),_=p(),[b,j,x]=(t=>{let o;const[u,d]=(()=>{const e=[];let n=0;return[l=>{var t;return null!=(t=l?i(e):null)?t:""+n++},n=>{w.test(n)&&l(e)<1e3&&s(e,n)}]})(),a=p();return[(e,n,l,t=[],r=(()=>[]))=>{null!=o||(o=Z);const s=u(1);var i,d;return C(a,s,[e,n,l,t,r]),d=s,null==(i=k(n,null!=l?l:[""],L))||i.add(d),s},(e,n,...t)=>r(((e,n=[""])=>{const t=[],o=(e,u)=>u==l(n)?s(t,e):null===n[u]?v(e,(e=>o(e,u+1))):r([n[u],null],(n=>o(g(e,n),u+1)));return o(e,0),t})(e,n),(e=>v(e,(e=>g(a,e)[0](o,...null!=n?n:[],...t))))),e=>n(g(a,e),(([,n,l])=>(k(n,null!=l?l:[""],void 0,(n=>(h(n,e),c(n)?1:0))),C(a,e),d(e),l))),t=>n(g(a,t),(([n,,t=[],s,u])=>{const i=(...d)=>{var a,c;const v=l(d);v==l(t)?n(o,...d,...u(d)):e(t[v])?r(null!=(c=null==(a=s[v])?void 0:a.call(s,...d))?c:[],(e=>i(...d,e))):i(...d,t[v])};i()}))]})(),B=p(),O=p(),T=[],W=[],$=(n,l)=>{I=0,S.transaction((()=>{const[t,r]=g(B,l);v(t,((l,t)=>v(l,((l,r)=>v(l,((l,o)=>((n,l,t,r,o)=>e(o)?n.delCell(l,t,r,!0):n.setCell(l,t,r,o))(S,t,r,o,l[n]))))))),v(r,((l,t)=>((n,l,t)=>e(t)?n.delValue(l):n.setValue(l,t))(S,t,l[n])))})),I=1},m=e=>{C(B,e),C(O,e),j(_,[e])},q=(e,n)=>r(((e,n)=>e.splice(0,n))(e,null!=n?n:l(e)),m),D=()=>q(T,l(T)-V),G=()=>n(y,(()=>{s(T,y),D(),q(W),y=void 0,E=1})),H=()=>{y=u(T),E=1};let J,K;const N=(n="")=>(e(y)&&(y=""+z++,C(B,y,[A,F]),X(y,n),A=p(),F=p(),E=1),y),P=()=>{o(T)||(((e,...n)=>{e.unshift(...n)})(W,N()),$(0,y),y=u(T),E=1)},Q=()=>{o(W)||(s(T,y),y=i(W),$(1,y),E=1)},R=()=>{E&&(j(M),E=0)},U=e=>{const n=N(e);return R(),n},X=(e,n)=>(Y(e)&&g(O,e)!==n&&(C(O,e,n),j(_,[e])),Z),Y=e=>a(B,e),Z={setSize:e=>(V=e,D(),Z),addCheckpoint:U,setCheckpoint:X,getStore:()=>S,getCheckpointIds:()=>[[...T],y,[...W]],forEachCheckpoint:e=>{return n=e,v(O,((e,l)=>n(l,e)));var n},hasCheckpoint:Y,getCheckpoint:e=>g(O,e),goBackward:()=>(P(),R(),Z),goForward:()=>(Q(),R(),Z),goTo:n=>{const l=t(T,n)?P:t(W,n)?Q:null;for(;!e(l)&&n!=y;)l();return R(),Z},addCheckpointIdsListener:e=>b(e,M),addCheckpointListener:(e,n)=>b(n,_,[e]),delListener:e=>(x(e),Z),clear:()=>(q(T),q(W),e(y)||m(y),y=void 0,z=0,U(),Z),clearForward:()=>(o(W)||(q(W),j(M)),Z),destroy:()=>{S.delListener(J),S.delListener(K)},getListenerStats:()=>({}),_registerListeners:()=>{J=S.addCellListener(null,null,null,((e,n,l,t,r,o)=>{if(I){G();const e=f(A,n,p),s=f(e,l,p),u=f(s,t,(()=>[o,void 0]));u[1]=r,u[0]===r&&c(C(s,t))&&c(C(e,l))&&c(C(A,n))&&H(),R()}})),K=S.addValueListener(null,((e,n,l,t)=>{if(I){G();const e=f(F,n,(()=>[t,void 0]));e[1]=l,e[0]===l&&c(C(F,n))&&H(),R()}}))}};return d(Z.clear())})(S));const E=z.get(S);return null==y||y(E),E}})(0,(e=>e._registerListeners()));export{S as createCheckpoints};
|
|
Binary file
|
package/lib/es6/indexes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="",l=e(n),t=e=>n+e,r=e=>null==e,s=(e,n,l)=>r(e)?null==l?void 0:l():n(e),o=e=>Array.isArray(e),u=e=>e.length,d=(e,n)=>e.every(n),i=(e,n)=>d(e,((l,t)=>0==t||n(e[t-1],l)<=0)),a=(e,n)=>e.sort(n),c=(e,n)=>e.forEach(n),v=(e,...n)=>e.push(...n),h=Object.freeze,I=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},f=e=>r(e)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},L=e=>e.clear(),S=(e,n)=>null==e?void 0:e.forEach(n),w=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),p=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},y=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>S(e,((e,l)=>n(l,e))),R=(e,n,l)=>r(l)?(w(e,n),e):null==e?void 0:e.set(n,l),b=(e,n,l)=>(I(e,n)||R(e,n,l()),y(e,n)),T=(e,n,l,t,r=0)=>s((l?b:y)(e,n[r],r>u(n)-2?l:x),(s=>{if(r>u(n)-2)return(null==t?void 0:t(s))&&R(e,n[r]),s;const o=T(s,n,l,t,r+1);return f(s)&&R(e,n[r]),o})),k=e=>new Set(o(e)||r(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=(t,r)=>e(t)==l?e=>e(t):null!=t?t:()=>null!=r?r:n,C=(e,n)=>(null!=e?e:0)<(null!=n?n:0)?-1:1,D=/^\d+$/,M=(e=>{const
|
|
1
|
+
const e=e=>typeof e,n="",l=e(n),t=e=>n+e,r=e=>null==e,s=(e,n,l)=>r(e)?null==l?void 0:l():n(e),o=e=>Array.isArray(e),u=e=>e.length,d=(e,n)=>e.every(n),i=(e,n)=>d(e,((l,t)=>0==t||n(e[t-1],l)<=0)),a=(e,n)=>e.sort(n),c=(e,n)=>e.forEach(n),v=(e,...n)=>e.push(...n),h=Object.freeze,I=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},f=e=>r(e)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},L=e=>e.clear(),S=(e,n)=>null==e?void 0:e.forEach(n),w=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),p=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},y=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>S(e,((e,l)=>n(l,e))),R=(e,n,l)=>r(l)?(w(e,n),e):null==e?void 0:e.set(n,l),b=(e,n,l)=>(I(e,n)||R(e,n,l()),y(e,n)),T=(e,n,l,t,r=0)=>s((l?b:y)(e,n[r],r>u(n)-2?l:x),(s=>{if(r>u(n)-2)return(null==t?void 0:t(s))&&R(e,n[r]),s;const o=T(s,n,l,t,r+1);return f(s)&&R(e,n[r]),o})),k=e=>new Set(o(e)||r(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=(t,r)=>e(t)==l?e=>e(t):null!=t?t:()=>null!=r?r:n,C=(e,n)=>(null!=e?e:0)<(null!=n?n:0)?-1:1,D=/^\d+$/,M=((e,l)=>{const M=new WeakMap;return e=>{M.has(e)||M.set(e,(e=>{const l=x(),M=x(),[j,m,O]=(e=>{let l;const[t,o]=(()=>{const e=[];let l=0;return[t=>{var r;return null!=(r=t?e.shift():null)?r:n+l++},n=>{D.test(n)&&u(e)<1e3&&v(e,n)}]})(),d=x();return[(e,r,s,o=[],u=(()=>[]))=>{null!=l||(l=U);const i=t(1);return R(d,i,[e,r,s,o,u]),z(T(r,null!=s?s:[n],k),i),i},(e,t,...r)=>c(((e,l=[n])=>{const t=[],r=(e,n)=>n==u(l)?v(t,e):null===l[n]?S(e,(e=>r(e,n+1))):c([l[n],null],(l=>r(y(e,l),n+1)));return r(e,0),t})(e,t),(e=>S(e,(e=>y(d,e)[0](l,...null!=t?t:[],...r))))),e=>s(y(d,e),(([,l,t])=>(T(l,null!=t?t:[n],void 0,(n=>(w(n,e),f(n)?1:0))),R(d,e),o(e),t))),e=>s(y(d,e),(([e,,n=[],t,s])=>{const o=(...d)=>{var i,a;const v=u(d);v==u(n)?e(l,...d,...s(d)):r(n[v])?c(null!=(a=null==(i=t[v])?void 0:i.call(t,...d))?a:[],(e=>o(...d,e))):o(...d,n[v])};o()}))]})(),[W,$,q,B,F,G,H,,J,K,N,P]=((e,n,l,t,i)=>{const a=e.hasRow,v=x(),h=x(),T=x(),A=x(),C=x(),D=x(),M=(n,l,...t)=>{const r=b(D,n,k);return c(t,(n=>z(r,n)&&l&&e.callListener(n))),t},j=(n,...l)=>s(y(D,n),(t=>{c(0==u(l)?g(t):l,(n=>{e.delListener(n),w(t,n)})),f(t)&&R(D,n)})),m=(e,l)=>{R(v,e,l),I(h,e)||(R(h,e,n()),R(A,e,x()),R(C,e,x()),i(T))},O=e=>{R(v,e),R(h,e),R(A,e),R(C,e),j(e),i(T)};return[()=>e,()=>p(v),e=>E(h,e),e=>I(h,e),e=>y(v,e),e=>y(h,e),(e,n)=>R(h,e,n),m,(n,t,s,i,v)=>{m(n,t);const h=x(),f=x(),g=y(A,n),w=y(C,n),p=n=>{const s=l=>e.getCell(t,n,l),c=y(g,n),I=a(t,n)?l(i(s,n)):void 0;var L,S;if(c===I||o(c)&&o(I)&&(S=I,u(L=c)===u(S)&&d(L,((e,n)=>S[n]===e)))||R(h,n,[c,I]),!r(v)){const e=y(w,n),l=a(t,n)?v(s,n):void 0;e!=l&&R(f,n,l)}},b=e=>{s((()=>{S(h,(([,e],n)=>R(g,n,e))),S(f,((e,n)=>R(w,n,e)))}),h,f,g,w,e),L(h),L(f)};E(g,p),e.hasTable(t)&&c(e.getRowIds(t),(e=>{I(g,e)||p(e)})),b(!0),j(n),M(n,0,e.addRowListener(t,null,((e,n,l)=>p(l))),e.addTableListener(t,(()=>b())))},O,e=>t(e,T),()=>E(D,O),M,j]})(e,x,(e=>{return r(e)?n:o(e)?(l=t,e.map(l)):t(e);var l}),j,m),Q=(n,l,t)=>{const r=F(n);S(t,((n,t)=>l(t,(l=>S(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},U={setIndexDefinition:(e,n,t,o,u,d=C)=>{const c=r(u)?void 0:([e],[n])=>u(e,n);return J(e,n,((n,t,u,v,h,g)=>{let L=0;const p=k(),b=k(),T=G(e);if(S(t,(([e,n],l)=>{const t=k(e),u=k(n);S(t,(e=>w(u,e)?w(t,e):0)),S(t,(e=>{z(p,e),s(y(T,e),(n=>{w(n,l),f(n)&&(R(T,e),L=1)}))})),S(u,(e=>{z(p,e),I(T,e)||(R(T,e,k()),L=1),z(y(T,e),l),r(o)||z(b,e)}))})),n(),f(h)||(g?E(T,(e=>z(b,e))):E(u,(e=>s(y(v,e),(e=>z(b,e))))),S(b,(e=>{const n=(n,l)=>d(y(h,n),y(h,l),e),l=[...y(T,e)];i(l,n)||(R(T,e,k(a(l,n))),z(p,e))}))),(L||g)&&!r(c)){const n=[...T];i(n,c)||(H(e,x(a(n,c))),L=1)}L&&m(l,[e]),S(p,(n=>m(M,[e,n])))}),A(t),s(o,A)),U},delIndexDefinition:e=>(K(e),U),getStore:W,getIndexIds:$,forEachIndex:e=>q(((n,l)=>e(n,(e=>Q(n,e,l))))),forEachSlice:(e,n)=>Q(e,n,G(e)),hasIndex:B,hasSlice:(e,n)=>I(G(e),n),getTableId:F,getSliceIds:e=>p(G(e)),getSliceRowIds:(e,n)=>g(y(G(e),n)),addIndexIdsListener:N,addSliceIdsListener:(e,n)=>j(n,l,[e]),addSliceRowIdsListener:(e,n,l)=>j(l,M,[e,n]),delListener:e=>(O(e),U),destroy:P,getListenerStats:()=>({})};return h(U)})(e));return M.get(e)}})();export{M as createIndexes};
|
package/lib/es6/indexes.js.gz
CHANGED
|
Binary file
|
package/lib/es6/metrics.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="",t=e(n),l=e(e),r=Math.max,i=Math.min,u=isFinite,o=e=>null==e,s=(e,n,t)=>o(e)?null==t?void 0:t():n(e),d=e=>Array.isArray(e),a=e=>e.length,v=()=>{},c=(e,n)=>e.forEach(n),h=e=>M(e,((e,n)=>e+n),0),M=(e,n,t)=>e.reduce(n,t),f=(e,...n)=>e.push(...n),g=Object.freeze,L=e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},w=e=>o(e)||0==L(e),y=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},p=e=>e.clear(),b=(e,n)=>null==e?void 0:e.forEach(n),I=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),E=(e,n)=>null==e?void 0:e.get(n),R=(e,n)=>b(e,((e,t)=>n(t,e))),S=(e,n,t)=>o(t)?(I(e,n),e):null==e?void 0:e.set(n,t),T=(e,n,t)=>(m(e,n)||S(e,n,t()),E(e,n)),k=(e,n,t,l,r=0)=>s((t?T:E)(e,n[r],r>a(n)-2?t:x),(i=>{if(r>a(n)-2)return(null==l?void 0:l(i))&&S(e,n[r]),i;const u=k(i,n,t,l,r+1);return w(i)&&S(e,n[r]),u})),z=x([["avg",[(e,n)=>h(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,l)=>e+(n-t)/l]],["max",[e=>r(...e),(e,n)=>r(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:r(n,e)]],["min",[e=>i(...e),(e,n)=>i(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:i(n,e)]],["sum",[e=>h(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),A=e=>new Set(d(e)||o(e)?e:[e]),D=(e,n)=>null==e?void 0:e.add(n),N=/^\d+$/,j=(r=>{const
|
|
1
|
+
const e=e=>typeof e,n="",t=e(n),l=e(e),r=Math.max,i=Math.min,u=isFinite,o=e=>null==e,s=(e,n,t)=>o(e)?null==t?void 0:t():n(e),d=e=>Array.isArray(e),a=e=>e.length,v=()=>{},c=(e,n)=>e.forEach(n),h=e=>M(e,((e,n)=>e+n),0),M=(e,n,t)=>e.reduce(n,t),f=(e,...n)=>e.push(...n),g=Object.freeze,L=e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},w=e=>o(e)||0==L(e),y=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},p=e=>e.clear(),b=(e,n)=>null==e?void 0:e.forEach(n),I=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),E=(e,n)=>null==e?void 0:e.get(n),R=(e,n)=>b(e,((e,t)=>n(t,e))),S=(e,n,t)=>o(t)?(I(e,n),e):null==e?void 0:e.set(n,t),T=(e,n,t)=>(m(e,n)||S(e,n,t()),E(e,n)),k=(e,n,t,l,r=0)=>s((t?T:E)(e,n[r],r>a(n)-2?t:x),(i=>{if(r>a(n)-2)return(null==l?void 0:l(i))&&S(e,n[r]),i;const u=k(i,n,t,l,r+1);return w(i)&&S(e,n[r]),u})),z=x([["avg",[(e,n)=>h(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,l)=>e+(n-t)/l]],["max",[e=>r(...e),(e,n)=>r(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:r(n,e)]],["min",[e=>i(...e),(e,n)=>i(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:i(n,e)]],["sum",[e=>h(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),A=e=>new Set(d(e)||o(e)?e:[e]),D=(e,n)=>null==e?void 0:e.add(n),N=/^\d+$/,j=((r,i)=>{const h=new WeakMap;return r=>{h.has(r)||h.set(r,(r=>{const i=x(),[h,M,j]=(e=>{let t;const[l,r]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},n=>{N.test(n)&&a(e)<1e3&&f(e,n)}]})(),i=x();return[(e,r,u,o=[],s=(()=>[]))=>{null!=t||(t=P);const d=l(1);return S(i,d,[e,r,u,o,s]),D(k(r,null!=u?u:[n],A),d),d},(e,l,...r)=>c(((e,t=[n])=>{const l=[],r=(e,n)=>n==a(t)?f(l,e):null===t[n]?b(e,(e=>r(e,n+1))):c([t[n],null],(t=>r(E(e,t),n+1)));return r(e,0),l})(e,l),(e=>b(e,(e=>E(i,e)[0](t,...null!=l?l:[],...r))))),e=>s(E(i,e),(([,t,l])=>(k(t,null!=l?l:[n],void 0,(n=>(I(n,e),w(n)?1:0))),S(i,e),r(e),l))),e=>s(E(i,e),(([e,,n=[],l,r])=>{const i=(...u)=>{var s,d;const v=a(u);v==a(n)?e(t,...u,...r(u)):o(n[v])?c(null!=(d=null==(s=l[v])?void 0:s.call(l,...u))?d:[],(e=>i(...u,e))):i(...u,n[v])};i()}))]})(),[C,F,O,W,$,q,B,,G,H,J,K]=((e,t,l,r,i)=>{const u=e.hasRow,v=x(),h=x(),M=x(),f=x(),g=x(),L=x(),k=(n,t,...l)=>{const r=T(L,n,A);return c(l,(n=>D(r,n)&&t&&e.callListener(n))),l},z=(n,...t)=>s(E(L,n),(l=>{c(0==a(t)?y(l):t,(n=>{e.delListener(n),I(l,n)})),w(l)&&S(L,n)})),N=(e,n)=>{S(v,e,n),m(h,e)||(S(h,e,t()),S(f,e,x()),S(g,e,x()),i(M))},j=e=>{S(v,e),S(h,e),S(f,e),S(g,e),z(e),i(M)};return[()=>e,()=>{return[...null!=(n=null==(e=v)?void 0:e.keys())?n:[]];var e,n},e=>R(h,e),e=>m(h,e),e=>E(v,e),e=>E(h,e),(e,n)=>S(h,e,n),N,(t,l,r,i,s)=>{N(t,l);const v=x(),h=x(),M=E(f,t),L=E(g,t),w=t=>{const r=n=>e.getCell(l,t,n),c=E(M,t),f=u(l,t)?(g=i(r,t),isNaN(g)||o(g)||!0===g||!1===g||g===n?void 0:1*g):void 0;var g,m,w,y;if(c===f||d(c)&&d(f)&&(w=f,a(m=c)===a(w)&&(y=(e,n)=>w[n]===e,m.every(y)))||S(v,t,[c,f]),!o(s)){const e=E(L,t),n=u(l,t)?s(r,t):void 0;e!=n&&S(h,t,n)}},y=e=>{r((()=>{b(v,(([,e],n)=>S(M,n,e))),b(h,((e,n)=>S(L,n,e)))}),v,h,M,L,e),p(v),p(h)};R(M,w),e.hasTable(l)&&c(e.getRowIds(l),(e=>{m(M,e)||w(e)})),y(!0),z(t),k(t,0,e.addRowListener(l,null,((e,n,t)=>w(t))),e.addTableListener(l,(()=>y())))},j,e=>r(e,M),()=>R(L,j),k,z]})(r,v,0,h,M),P={setMetricDefinition:(n,r,s,d,a,v,c)=>{var h;const f=e(s)==l?[s,a,v,c]:null!=(h=E(z,s))?h:E(z,"sum");return G(n,r,((e,t,l,r,s,d)=>{const a=q(n),v=L(r);d||(d=o(a)),e();let c=((e,n,t,l,r,i=!1)=>{if(w(t))return;const[u,s,d,a]=r;return i||(i=o(e)),b(l,(([t,l])=>{i||(e=o(t)?null==s?void 0:s(e,l,n++):o(l)?null==d?void 0:d(e,t,n--):null==a?void 0:a(e,l,t,n),i||(i=o(e)))})),i?u(y(t),L(t)):e})(a,v,r,t,f,d);u(c)||(c=void 0),c!=a&&(B(n,c),M(i,[n],c,a))}),(1,e(g=d)==t?e=>e(g):null!=g?g:()=>1)),P;var g},delMetricDefinition:e=>(H(e),P),getStore:C,getMetricIds:F,forEachMetric:O,hasMetric:W,getTableId:$,getMetric:q,addMetricIdsListener:J,addMetricListener:(e,n)=>h(n,i,[e]),delListener:e=>(j(e),P),destroy:K,getListenerStats:()=>({})};return g(P)})(r));return h.get(r)}})();export{j as createMetrics};
|
package/lib/es6/metrics.js.gz
CHANGED
|
Binary file
|