tinybase 7.0.0-beta.2 → 7.0.0-beta.3
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/common/index.d.ts +1 -1
- package/@types/mergeable-store/index.d.ts +1 -1
- package/@types/mergeable-store/with-schemas/index.d.ts +1 -1
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +4 -0
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-durable-object-sql-storage/index.d.ts +4 -0
- package/@types/persisters/persister-durable-object-sql-storage/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-electric-sql/index.d.ts +4 -0
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-expo-sqlite/index.d.ts +4 -0
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-libsql/index.d.ts +4 -0
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-pglite/index.d.ts +5 -1
- package/@types/persisters/persister-pglite/with-schemas/index.d.ts +5 -1
- package/@types/persisters/persister-postgres/index.d.ts +4 -0
- package/@types/persisters/persister-postgres/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-powersync/index.d.ts +4 -0
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-react-native-sqlite/index.d.ts +4 -0
- package/@types/persisters/persister-react-native-sqlite/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite-bun/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite-bun/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite3/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +4 -0
- package/@types/queries/index.d.ts +1 -1
- package/@types/store/index.d.ts +21 -19
- package/@types/store/with-schemas/index.d.ts +15 -13
- package/agents.md +62 -0
- package/checkpoints/index.js +11 -6
- package/checkpoints/with-schemas/index.js +11 -6
- package/common/index.js +7 -3
- package/common/with-schemas/index.js +7 -3
- package/index.js +62 -30
- package/indexes/index.js +10 -5
- package/indexes/with-schemas/index.js +10 -5
- package/mergeable-store/index.js +53 -21
- package/mergeable-store/with-schemas/index.js +53 -21
- package/metrics/index.js +10 -5
- package/metrics/with-schemas/index.js +10 -5
- package/min/checkpoints/index.js +1 -1
- package/min/checkpoints/index.js.gz +0 -0
- package/min/checkpoints/with-schemas/index.js +1 -1
- package/min/checkpoints/with-schemas/index.js.gz +0 -0
- package/min/common/index.js +1 -1
- package/min/common/index.js.gz +0 -0
- package/min/common/with-schemas/index.js +1 -1
- package/min/common/with-schemas/index.js.gz +0 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/indexes/index.js +1 -1
- package/min/indexes/index.js.gz +0 -0
- package/min/indexes/with-schemas/index.js +1 -1
- package/min/indexes/with-schemas/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/metrics/index.js +1 -1
- package/min/metrics/index.js.gz +0 -0
- package/min/metrics/with-schemas/index.js +1 -1
- package/min/metrics/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/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/index.js +1 -1
- package/min/persisters/persister-partykit-server/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/index.js +1 -1
- package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/queries/index.js +1 -1
- package/min/queries/index.js.gz +0 -0
- package/min/queries/with-schemas/index.js +1 -1
- package/min/queries/with-schemas/index.js.gz +0 -0
- package/min/relationships/index.js +1 -1
- package/min/relationships/index.js.gz +0 -0
- package/min/relationships/with-schemas/index.js +1 -1
- package/min/relationships/with-schemas/index.js.gz +0 -0
- package/min/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react/index.js +1 -1
- package/min/ui-react/index.js.gz +0 -0
- package/min/ui-react/with-schemas/index.js +1 -1
- package/min/ui-react/with-schemas/index.js.gz +0 -0
- package/min/ui-react-dom/index.js +1 -1
- package/min/ui-react-dom/index.js.gz +0 -0
- package/min/ui-react-dom/with-schemas/index.js +1 -1
- package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/omni/index.js +80 -46
- package/omni/with-schemas/index.js +80 -46
- package/package.json +2 -2
- package/persisters/index.js +16 -10
- package/persisters/persister-automerge/index.js +14 -8
- package/persisters/persister-automerge/with-schemas/index.js +14 -8
- package/persisters/persister-browser/index.js +14 -8
- package/persisters/persister-browser/with-schemas/index.js +14 -8
- package/persisters/persister-cr-sqlite-wasm/index.js +16 -10
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +16 -10
- package/persisters/persister-durable-object-sql-storage/index.js +16 -10
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +16 -10
- package/persisters/persister-durable-object-storage/index.js +14 -8
- package/persisters/persister-durable-object-storage/with-schemas/index.js +14 -8
- package/persisters/persister-electric-sql/index.js +16 -10
- package/persisters/persister-electric-sql/with-schemas/index.js +16 -10
- package/persisters/persister-expo-sqlite/index.js +16 -10
- package/persisters/persister-expo-sqlite/with-schemas/index.js +16 -10
- package/persisters/persister-file/index.js +14 -8
- package/persisters/persister-file/with-schemas/index.js +14 -8
- package/persisters/persister-indexed-db/index.js +14 -8
- package/persisters/persister-indexed-db/with-schemas/index.js +14 -8
- package/persisters/persister-libsql/index.js +16 -10
- package/persisters/persister-libsql/with-schemas/index.js +16 -10
- package/persisters/persister-partykit-client/index.js +14 -8
- package/persisters/persister-partykit-client/with-schemas/index.js +14 -8
- package/persisters/persister-partykit-server/index.js +7 -3
- package/persisters/persister-partykit-server/with-schemas/index.js +7 -3
- package/persisters/persister-pglite/index.js +15 -9
- package/persisters/persister-pglite/with-schemas/index.js +15 -9
- package/persisters/persister-postgres/index.js +15 -9
- package/persisters/persister-postgres/with-schemas/index.js +15 -9
- package/persisters/persister-powersync/index.js +16 -10
- package/persisters/persister-powersync/with-schemas/index.js +16 -10
- package/persisters/persister-react-native-mmkv/index.js +14 -8
- package/persisters/persister-react-native-mmkv/with-schemas/index.js +14 -8
- package/persisters/persister-react-native-sqlite/index.js +16 -10
- package/persisters/persister-react-native-sqlite/with-schemas/index.js +16 -10
- package/persisters/persister-remote/index.js +16 -10
- package/persisters/persister-remote/with-schemas/index.js +16 -10
- package/persisters/persister-sqlite-bun/index.js +16 -10
- package/persisters/persister-sqlite-bun/with-schemas/index.js +16 -10
- package/persisters/persister-sqlite-wasm/index.js +16 -10
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +16 -10
- package/persisters/persister-sqlite3/index.js +16 -10
- package/persisters/persister-sqlite3/with-schemas/index.js +16 -10
- package/persisters/persister-yjs/index.js +20 -12
- package/persisters/persister-yjs/with-schemas/index.js +20 -12
- package/persisters/with-schemas/index.js +16 -10
- package/queries/index.js +20 -12
- package/queries/with-schemas/index.js +20 -12
- package/readme.md +13 -13
- package/relationships/index.js +10 -5
- package/relationships/with-schemas/index.js +10 -5
- package/releases.md +133 -45
- package/store/index.js +50 -18
- package/store/with-schemas/index.js +50 -18
- package/synchronizers/index.js +15 -9
- package/synchronizers/synchronizer-broadcast-channel/index.js +16 -10
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +16 -10
- package/synchronizers/synchronizer-local/index.js +16 -10
- package/synchronizers/synchronizer-local/with-schemas/index.js +16 -10
- package/synchronizers/synchronizer-ws-client/index.js +15 -9
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -9
- package/synchronizers/synchronizer-ws-server/index.js +15 -9
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +15 -9
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +15 -9
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +15 -9
- package/synchronizers/synchronizer-ws-server-simple/index.js +8 -4
- package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +8 -4
- package/synchronizers/with-schemas/index.js +15 -9
- package/ui-react/index.js +11 -6
- package/ui-react/with-schemas/index.js +11 -6
- package/ui-react-dom/index.js +16 -7
- package/ui-react-dom/with-schemas/index.js +16 -7
- package/ui-react-inspector/index.js +55 -23
- package/ui-react-inspector/with-schemas/index.js +55 -23
- package/with-schemas/index.js +62 -30
package/omni/index.js
CHANGED
|
@@ -18,6 +18,7 @@ const FUNCTION$1 = getTypeOf(getTypeOf);
|
|
|
18
18
|
const TRUE = 'true';
|
|
19
19
|
const TYPE = 'type';
|
|
20
20
|
const DEFAULT = 'default';
|
|
21
|
+
const ALLOW_NULL = 'allowNull';
|
|
21
22
|
const UTF8 = 'utf8';
|
|
22
23
|
const SUM = 'sum';
|
|
23
24
|
const AVG = 'avg';
|
|
@@ -76,6 +77,10 @@ const strReplace = (str, searchValue, replaceValue) =>
|
|
|
76
77
|
str.replace(searchValue, replaceValue);
|
|
77
78
|
|
|
78
79
|
const promise = Promise;
|
|
80
|
+
const getIfNotFunction =
|
|
81
|
+
(predicate = isNullish) =>
|
|
82
|
+
(value, then, otherwise) =>
|
|
83
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
79
84
|
const GLOBAL = globalThis;
|
|
80
85
|
const WINDOW = GLOBAL.window;
|
|
81
86
|
const THOUSAND = 1e3;
|
|
@@ -91,9 +96,11 @@ const mathMin = math.min;
|
|
|
91
96
|
const mathFloor = math.floor;
|
|
92
97
|
const isFiniteNumber = isFinite;
|
|
93
98
|
const isInstanceOf = (thing, cls) => thing instanceof cls;
|
|
94
|
-
const
|
|
95
|
-
const
|
|
96
|
-
|
|
99
|
+
const isNullish = (thing) => thing == null;
|
|
100
|
+
const isUndefined = (thing) => thing === void 0;
|
|
101
|
+
const isNull = (thing) => thing === null;
|
|
102
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
103
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
97
104
|
const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
|
|
98
105
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
99
106
|
const isFunction = (thing) => getTypeOf(thing) == FUNCTION$1;
|
|
@@ -145,13 +152,16 @@ const arrayShift = (array) => array.shift();
|
|
|
145
152
|
const arrayWith = (array, index, value) => array.with(index, value);
|
|
146
153
|
|
|
147
154
|
const getCellOrValueType = (cellOrValue) => {
|
|
155
|
+
if (isNull(cellOrValue)) {
|
|
156
|
+
return 'null';
|
|
157
|
+
}
|
|
148
158
|
const type = getTypeOf(cellOrValue);
|
|
149
159
|
return isTypeStringOrBoolean(type) ||
|
|
150
160
|
(type == NUMBER && isFiniteNumber(cellOrValue))
|
|
151
161
|
? type
|
|
152
162
|
: void 0;
|
|
153
163
|
};
|
|
154
|
-
const
|
|
164
|
+
const isCellOrValueOrUndefined = (cellOrValue) =>
|
|
155
165
|
isUndefined(cellOrValue) || !isUndefined(getCellOrValueType(cellOrValue));
|
|
156
166
|
const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
|
|
157
167
|
isUndefined(cell)
|
|
@@ -186,12 +196,12 @@ const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
|
186
196
|
const objFrozen = object.isFrozen;
|
|
187
197
|
const objEntries = object.entries;
|
|
188
198
|
const isObject = (obj) =>
|
|
189
|
-
!
|
|
190
|
-
|
|
199
|
+
!isNullish(obj) &&
|
|
200
|
+
ifNotNullish(
|
|
191
201
|
getPrototypeOf(obj),
|
|
192
202
|
(objPrototype) =>
|
|
193
203
|
objPrototype == object.prototype ||
|
|
194
|
-
|
|
204
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
195
205
|
|
|
196
206
|
/* istanbul ignore next */
|
|
197
207
|
() => true,
|
|
@@ -236,7 +246,7 @@ const objEnsure = (obj, id, getDefaultValue) => {
|
|
|
236
246
|
};
|
|
237
247
|
const objValidate = (obj, validateChild, onInvalidObj, emptyIsValid = 0) => {
|
|
238
248
|
if (
|
|
239
|
-
|
|
249
|
+
isNullish(obj) ||
|
|
240
250
|
!isObject(obj) ||
|
|
241
251
|
(!emptyIsValid && objIsEmpty(obj)) ||
|
|
242
252
|
objFrozen(obj)
|
|
@@ -260,7 +270,7 @@ const mapForEach = (map, cb) =>
|
|
|
260
270
|
const mapMap = (coll, cb) =>
|
|
261
271
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
262
272
|
const mapSet = (map, key, value) =>
|
|
263
|
-
|
|
273
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
264
274
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
265
275
|
if (!collHas(map, key)) {
|
|
266
276
|
mapSet(map, key, getDefaultValue());
|
|
@@ -581,7 +591,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
581
591
|
const index = size(ids);
|
|
582
592
|
if (index == size(path)) {
|
|
583
593
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
584
|
-
} else if (
|
|
594
|
+
} else if (isNull(path[index])) {
|
|
585
595
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
586
596
|
callWithIds(...ids, id2),
|
|
587
597
|
);
|
|
@@ -734,7 +744,7 @@ const createCheckpoints = getCreateFunction(
|
|
|
734
744
|
? goBackwardImpl
|
|
735
745
|
: arrayHas(forwardIds, checkpointId)
|
|
736
746
|
? goForwardImpl
|
|
737
|
-
:
|
|
747
|
+
: void 0;
|
|
738
748
|
while (!isUndefined(action) && checkpointId != currentId) {
|
|
739
749
|
action();
|
|
740
750
|
}
|
|
@@ -1318,14 +1328,22 @@ const createStore = () => {
|
|
|
1318
1328
|
const validateValuesSchema = (valuesSchema) =>
|
|
1319
1329
|
objValidate(valuesSchema, validateCellOrValueSchema);
|
|
1320
1330
|
const validateCellOrValueSchema = (schema) => {
|
|
1321
|
-
if (
|
|
1331
|
+
if (
|
|
1332
|
+
!objValidate(schema, (_child, id2) =>
|
|
1333
|
+
arrayHas([TYPE, DEFAULT, ALLOW_NULL], id2),
|
|
1334
|
+
)
|
|
1335
|
+
) {
|
|
1322
1336
|
return false;
|
|
1323
1337
|
}
|
|
1324
1338
|
const type = schema[TYPE];
|
|
1325
1339
|
if (!isTypeStringOrBoolean(type) && type != NUMBER) {
|
|
1326
1340
|
return false;
|
|
1327
1341
|
}
|
|
1328
|
-
|
|
1342
|
+
const defaultValue = schema[DEFAULT];
|
|
1343
|
+
if (isNull(defaultValue) && !schema[ALLOW_NULL]) {
|
|
1344
|
+
return false;
|
|
1345
|
+
}
|
|
1346
|
+
if (!isNull(defaultValue) && getCellOrValueType(defaultValue) != type) {
|
|
1329
1347
|
objDel(schema, DEFAULT);
|
|
1330
1348
|
}
|
|
1331
1349
|
return true;
|
|
@@ -1362,9 +1380,19 @@ const createStore = () => {
|
|
|
1362
1380
|
? ifNotUndefined(
|
|
1363
1381
|
mapGet(mapGet(tablesSchemaMap, tableId), cellId),
|
|
1364
1382
|
(cellSchema) =>
|
|
1365
|
-
|
|
1366
|
-
?
|
|
1367
|
-
|
|
1383
|
+
isNull(cell)
|
|
1384
|
+
? cellSchema[ALLOW_NULL]
|
|
1385
|
+
? cell
|
|
1386
|
+
: cellInvalid(tableId, rowId, cellId, cell, cellSchema[DEFAULT])
|
|
1387
|
+
: getCellOrValueType(cell) == cellSchema[TYPE]
|
|
1388
|
+
? cell
|
|
1389
|
+
: cellInvalid(
|
|
1390
|
+
tableId,
|
|
1391
|
+
rowId,
|
|
1392
|
+
cellId,
|
|
1393
|
+
cell,
|
|
1394
|
+
cellSchema[DEFAULT],
|
|
1395
|
+
),
|
|
1368
1396
|
() => cellInvalid(tableId, rowId, cellId, cell),
|
|
1369
1397
|
)
|
|
1370
1398
|
: isUndefined(getCellOrValueType(cell))
|
|
@@ -1389,9 +1417,13 @@ const createStore = () => {
|
|
|
1389
1417
|
? ifNotUndefined(
|
|
1390
1418
|
mapGet(valuesSchemaMap, valueId),
|
|
1391
1419
|
(valueSchema) =>
|
|
1392
|
-
|
|
1393
|
-
?
|
|
1394
|
-
|
|
1420
|
+
isNull(value)
|
|
1421
|
+
? valueSchema[ALLOW_NULL]
|
|
1422
|
+
? value
|
|
1423
|
+
: valueInvalid(valueId, value, valueSchema[DEFAULT])
|
|
1424
|
+
: getCellOrValueType(value) == valueSchema[TYPE]
|
|
1425
|
+
? value
|
|
1426
|
+
: valueInvalid(valueId, value, valueSchema[DEFAULT]),
|
|
1395
1427
|
() => valueInvalid(valueId, value),
|
|
1396
1428
|
)
|
|
1397
1429
|
: isUndefined(getCellOrValueType(value))
|
|
@@ -1634,7 +1666,7 @@ const createStore = () => {
|
|
|
1634
1666
|
mapSet(
|
|
1635
1667
|
cellIds,
|
|
1636
1668
|
cellId,
|
|
1637
|
-
count != -addedOrRemoved ? count + addedOrRemoved :
|
|
1669
|
+
count != -addedOrRemoved ? count + addedOrRemoved : void 0,
|
|
1638
1670
|
);
|
|
1639
1671
|
idsChanged(
|
|
1640
1672
|
mapEnsure(mapEnsure(changedCellIds, tableId, mapNew), rowId, mapNew),
|
|
@@ -2643,7 +2675,7 @@ const validateMergeableContent = (mergeableContent) =>
|
|
|
2643
2675
|
objValidate(
|
|
2644
2676
|
cellStamps,
|
|
2645
2677
|
(cellStamp) =>
|
|
2646
|
-
stampValidate(cellStamp,
|
|
2678
|
+
stampValidate(cellStamp, isCellOrValueOrUndefined),
|
|
2647
2679
|
void 0,
|
|
2648
2680
|
1,
|
|
2649
2681
|
),
|
|
@@ -2659,7 +2691,7 @@ const validateMergeableContent = (mergeableContent) =>
|
|
|
2659
2691
|
stampValidate(mergeableContent[1], (values) =>
|
|
2660
2692
|
objValidate(
|
|
2661
2693
|
values,
|
|
2662
|
-
(value) => stampValidate(value,
|
|
2694
|
+
(value) => stampValidate(value, isCellOrValueOrUndefined),
|
|
2663
2695
|
void 0,
|
|
2664
2696
|
1,
|
|
2665
2697
|
),
|
|
@@ -3608,7 +3640,7 @@ const getDefaultedTabularConfigMap = (
|
|
|
3608
3640
|
0,
|
|
3609
3641
|
objSize(defaultObj),
|
|
3610
3642
|
);
|
|
3611
|
-
if (!
|
|
3643
|
+
if (!isNull(defaultedConfig[0]) && !exclude(id, defaultedConfig[0])) {
|
|
3612
3644
|
then(id, defaultedConfig[0]);
|
|
3613
3645
|
mapSet(configMap, id, defaultedConfig);
|
|
3614
3646
|
}
|
|
@@ -4335,7 +4367,7 @@ const createCustomSqlitePersister = (
|
|
|
4335
4367
|
` ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
4336
4368
|
);
|
|
4337
4369
|
if (d != dataVersion || s != schemaVersion || c != totalChanges) {
|
|
4338
|
-
if (dataVersion
|
|
4370
|
+
if (!isNullish(dataVersion)) {
|
|
4339
4371
|
listener();
|
|
4340
4372
|
}
|
|
4341
4373
|
dataVersion = d;
|
|
@@ -5483,8 +5515,8 @@ const createRemotePersister = (
|
|
|
5483
5515
|
const response = await fetch(loadUrl, {method: 'HEAD'});
|
|
5484
5516
|
const currentEtag = getETag(response);
|
|
5485
5517
|
if (
|
|
5486
|
-
!
|
|
5487
|
-
!
|
|
5518
|
+
!isNull(lastEtag) &&
|
|
5519
|
+
!isNull(currentEtag) &&
|
|
5488
5520
|
currentEtag != lastEtag
|
|
5489
5521
|
) {
|
|
5490
5522
|
lastEtag = currentEtag;
|
|
@@ -5611,7 +5643,8 @@ const getChangesFromYDoc = (yContent, events) => {
|
|
|
5611
5643
|
mapForEach(
|
|
5612
5644
|
keys,
|
|
5613
5645
|
(cellId, {action}) =>
|
|
5614
|
-
(row[cellId] =
|
|
5646
|
+
(row[cellId] =
|
|
5647
|
+
action == DELETE ? void 0 : yRow.get(cellId)),
|
|
5615
5648
|
);
|
|
5616
5649
|
},
|
|
5617
5650
|
() =>
|
|
@@ -5619,7 +5652,7 @@ const getChangesFromYDoc = (yContent, events) => {
|
|
|
5619
5652
|
keys,
|
|
5620
5653
|
(rowId, {action}) =>
|
|
5621
5654
|
(table[rowId] =
|
|
5622
|
-
action == DELETE ?
|
|
5655
|
+
action == DELETE ? void 0 : yTable.get(rowId)?.toJSON()),
|
|
5623
5656
|
),
|
|
5624
5657
|
);
|
|
5625
5658
|
},
|
|
@@ -5628,13 +5661,14 @@ const getChangesFromYDoc = (yContent, events) => {
|
|
|
5628
5661
|
keys,
|
|
5629
5662
|
(tableId, {action}) =>
|
|
5630
5663
|
(tables[tableId] =
|
|
5631
|
-
action == DELETE ?
|
|
5664
|
+
action == DELETE ? void 0 : yTables.get(tableId)?.toJSON()),
|
|
5632
5665
|
),
|
|
5633
5666
|
)
|
|
5634
5667
|
: mapForEach(
|
|
5635
5668
|
keys,
|
|
5636
5669
|
(valueId, {action}) =>
|
|
5637
|
-
(values[valueId] =
|
|
5670
|
+
(values[valueId] =
|
|
5671
|
+
action == DELETE ? void 0 : yValues.get(valueId)),
|
|
5638
5672
|
),
|
|
5639
5673
|
);
|
|
5640
5674
|
return [tables, values, 1];
|
|
@@ -5832,7 +5866,7 @@ const createQueries = getCreateFunction((store) => {
|
|
|
5832
5866
|
setDefinition(queryId, tableId);
|
|
5833
5867
|
resetPreStores(queryId);
|
|
5834
5868
|
const selectEntries = [];
|
|
5835
|
-
const joinEntries = [[
|
|
5869
|
+
const joinEntries = [[void 0, [tableId, void 0, void 0, [], mapNew()]]];
|
|
5836
5870
|
const wheres = [];
|
|
5837
5871
|
const groupEntries = [];
|
|
5838
5872
|
const havings = [];
|
|
@@ -5848,7 +5882,7 @@ const createQueries = getCreateFunction((store) => {
|
|
|
5848
5882
|
};
|
|
5849
5883
|
const join = (joinedTableId, arg1, arg2) => {
|
|
5850
5884
|
const fromIntermediateJoinedTableId =
|
|
5851
|
-
isUndefined(arg2) || isFunction(arg1) ?
|
|
5885
|
+
isUndefined(arg2) || isFunction(arg1) ? void 0 : arg1;
|
|
5852
5886
|
const onArg = isUndefined(fromIntermediateJoinedTableId) ? arg1 : arg2;
|
|
5853
5887
|
const joinEntry = [
|
|
5854
5888
|
joinedTableId,
|
|
@@ -5968,7 +6002,7 @@ const createQueries = getCreateFunction((store) => {
|
|
|
5968
6002
|
groupRow[groupedCellId] = isUndefined(
|
|
5969
6003
|
getCellOrValueType(aggregateValue),
|
|
5970
6004
|
)
|
|
5971
|
-
?
|
|
6005
|
+
? void 0
|
|
5972
6006
|
: aggregateValue;
|
|
5973
6007
|
},
|
|
5974
6008
|
);
|
|
@@ -6097,20 +6131,20 @@ const createQueries = getCreateFunction((store) => {
|
|
|
6097
6131
|
const listenToTable = (rootRowId, tableId2, rowId, joinedTableIds2) => {
|
|
6098
6132
|
const getCell = (cellId) => store.getCell(tableId2, rowId, cellId);
|
|
6099
6133
|
arrayForEach(joinedTableIds2, (remoteAsTableId) => {
|
|
6100
|
-
const [realJoinedTableId, , on, nextJoinedTableIds,
|
|
6134
|
+
const [realJoinedTableId, , on, nextJoinedTableIds, remoteIdPairs] =
|
|
6101
6135
|
mapGet(joins, remoteAsTableId);
|
|
6102
6136
|
const remoteRowId = on?.(getCell, rootRowId);
|
|
6103
6137
|
const [previousRemoteRowId, previousRemoteListenerId] =
|
|
6104
|
-
mapGet(
|
|
6138
|
+
mapGet(remoteIdPairs, rootRowId) ?? [];
|
|
6105
6139
|
if (remoteRowId != previousRemoteRowId) {
|
|
6106
6140
|
if (!isUndefined(previousRemoteListenerId)) {
|
|
6107
6141
|
delStoreListeners(queryId, previousRemoteListenerId);
|
|
6108
6142
|
}
|
|
6109
6143
|
mapSet(
|
|
6110
|
-
|
|
6144
|
+
remoteIdPairs,
|
|
6111
6145
|
rootRowId,
|
|
6112
6146
|
isUndefined(remoteRowId)
|
|
6113
|
-
?
|
|
6147
|
+
? void 0
|
|
6114
6148
|
: [
|
|
6115
6149
|
remoteRowId,
|
|
6116
6150
|
...addStoreListeners(
|
|
@@ -6131,7 +6165,7 @@ const createQueries = getCreateFunction((store) => {
|
|
|
6131
6165
|
});
|
|
6132
6166
|
writeSelectRow(rootRowId);
|
|
6133
6167
|
};
|
|
6134
|
-
const {3: joinedTableIds} = mapGet(joins,
|
|
6168
|
+
const {3: joinedTableIds} = mapGet(joins, void 0);
|
|
6135
6169
|
selectJoinWhereStore.transaction(() =>
|
|
6136
6170
|
addStoreListeners(
|
|
6137
6171
|
queryId,
|
|
@@ -6595,7 +6629,7 @@ const createCustomSynchronizer = (
|
|
|
6595
6629
|
ifNotUndefined(
|
|
6596
6630
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
6597
6631
|
([toClientId, handleResponse]) =>
|
|
6598
|
-
|
|
6632
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
6599
6633
|
? handleResponse(body, fromClientId)
|
|
6600
6634
|
: /* istanbul ignore next */
|
|
6601
6635
|
0,
|
|
@@ -6655,7 +6689,7 @@ const createBroadcastChannelSynchronizer = (
|
|
|
6655
6689
|
channel.onmessage = ({
|
|
6656
6690
|
data: [fromClientId, toClientId, requestId, message, body],
|
|
6657
6691
|
}) =>
|
|
6658
|
-
|
|
6692
|
+
isNull(toClientId) || toClientId == clientId
|
|
6659
6693
|
? receive(fromClientId, requestId, message, body)
|
|
6660
6694
|
: 0;
|
|
6661
6695
|
};
|
|
@@ -6680,7 +6714,7 @@ const createLocalSynchronizer = (store, onSend, onReceive, onIgnoredError) => {
|
|
|
6680
6714
|
const clientId = getUniqueId$1();
|
|
6681
6715
|
const send = (toClientId, requestId, message, body) =>
|
|
6682
6716
|
startTimeout(() =>
|
|
6683
|
-
|
|
6717
|
+
isNull(toClientId)
|
|
6684
6718
|
? mapForEach(clients, (otherClientId, receive) =>
|
|
6685
6719
|
otherClientId != clientId
|
|
6686
6720
|
? receive(clientId, requestId, message, body)
|
|
@@ -9525,7 +9559,7 @@ const RelationshipInHtmlRow = ({
|
|
|
9525
9559
|
? localRowId
|
|
9526
9560
|
: tableId === remoteTableId
|
|
9527
9561
|
? remoteRowId
|
|
9528
|
-
:
|
|
9562
|
+
: void 0;
|
|
9529
9563
|
return isUndefined(rowId)
|
|
9530
9564
|
? null
|
|
9531
9565
|
: /* @__PURE__ */ jsx(
|
|
@@ -10268,11 +10302,11 @@ const getNewIdFromSuggestedId = (suggestedId, has) => {
|
|
|
10268
10302
|
};
|
|
10269
10303
|
const ConfirmableActions = ({actions, ...props}) => {
|
|
10270
10304
|
const [confirming, setConfirming] = useState();
|
|
10271
|
-
const handleDone = useCallback(() => setConfirming(
|
|
10305
|
+
const handleDone = useCallback(() => setConfirming(void 0), []);
|
|
10272
10306
|
useEffect(() => {
|
|
10273
|
-
if (confirming
|
|
10307
|
+
if (!isUndefined(confirming)) {
|
|
10274
10308
|
const handleKeyDown = (e) => {
|
|
10275
|
-
if (confirming
|
|
10309
|
+
if (!isUndefined(confirming) && e.key === 'Escape') {
|
|
10276
10310
|
e.preventDefault();
|
|
10277
10311
|
handleDone();
|
|
10278
10312
|
}
|
|
@@ -10281,7 +10315,7 @@ const ConfirmableActions = ({actions, ...props}) => {
|
|
|
10281
10315
|
return () => document.removeEventListener('keydown', handleKeyDown);
|
|
10282
10316
|
}
|
|
10283
10317
|
}, [confirming, handleDone]);
|
|
10284
|
-
if (confirming
|
|
10318
|
+
if (!isUndefined(confirming)) {
|
|
10285
10319
|
const [, , Component] = actions[confirming];
|
|
10286
10320
|
return /* @__PURE__ */ jsxs(Fragment, {
|
|
10287
10321
|
children: [
|