tinybase 9.0.0-beta.0 → 9.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/@types/mergeable-store/index.d.ts +4 -4
- package/@types/mergeable-store/with-schemas/index.d.ts +41 -17
- package/@types/persisters/index.d.ts +2 -1
- package/@types/persisters/with-schemas/index.d.ts +16 -10
- package/@types/queries/index.d.ts +4 -0
- package/@types/queries/with-schemas/index.d.ts +4 -0
- package/index.js +46 -6
- package/mergeable-store/index.js +46 -6
- package/mergeable-store/with-schemas/index.js +46 -6
- 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/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-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/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/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/ui-solid-inspector/index.js +1 -1
- package/min/ui-solid-inspector/index.js.gz +0 -0
- package/min/ui-solid-inspector/with-schemas/index.js +1 -1
- package/min/ui-solid-inspector/with-schemas/index.js.gz +0 -0
- package/min/ui-svelte-inspector/index.js +1 -1
- package/min/ui-svelte-inspector/index.js.gz +0 -0
- package/min/ui-svelte-inspector/with-schemas/index.js +1 -1
- package/min/ui-svelte-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 +53 -14
- package/omni/with-schemas/index.js +53 -14
- package/package.json +3 -3
- package/persisters/index.js +4 -3
- package/persisters/persister-automerge/index.js +4 -3
- package/persisters/persister-automerge/with-schemas/index.js +4 -3
- package/persisters/persister-browser/index.js +4 -3
- package/persisters/persister-browser/with-schemas/index.js +4 -3
- package/persisters/persister-cr-sqlite-wasm/index.js +4 -3
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +4 -3
- package/persisters/persister-durable-object-sql-storage/index.js +4 -3
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +4 -3
- package/persisters/persister-durable-object-storage/index.js +4 -3
- package/persisters/persister-durable-object-storage/with-schemas/index.js +4 -3
- package/persisters/persister-electric-sql/index.js +4 -3
- package/persisters/persister-electric-sql/with-schemas/index.js +4 -3
- package/persisters/persister-expo-sqlite/index.js +4 -3
- package/persisters/persister-expo-sqlite/with-schemas/index.js +4 -3
- package/persisters/persister-file/index.js +4 -3
- package/persisters/persister-file/with-schemas/index.js +4 -3
- package/persisters/persister-indexed-db/index.js +4 -3
- package/persisters/persister-indexed-db/with-schemas/index.js +4 -3
- package/persisters/persister-libsql/index.js +4 -3
- package/persisters/persister-libsql/with-schemas/index.js +4 -3
- package/persisters/persister-partykit-client/index.js +4 -3
- package/persisters/persister-partykit-client/with-schemas/index.js +4 -3
- package/persisters/persister-pglite/index.js +4 -3
- package/persisters/persister-pglite/with-schemas/index.js +4 -3
- package/persisters/persister-postgres/index.js +4 -3
- package/persisters/persister-postgres/with-schemas/index.js +4 -3
- package/persisters/persister-powersync/index.js +4 -3
- package/persisters/persister-powersync/with-schemas/index.js +4 -3
- package/persisters/persister-react-native-mmkv/index.js +4 -3
- package/persisters/persister-react-native-mmkv/with-schemas/index.js +4 -3
- package/persisters/persister-react-native-sqlite/index.js +4 -3
- package/persisters/persister-react-native-sqlite/with-schemas/index.js +4 -3
- package/persisters/persister-remote/index.js +4 -3
- package/persisters/persister-remote/with-schemas/index.js +4 -3
- package/persisters/persister-sqlite-bun/index.js +4 -3
- package/persisters/persister-sqlite-bun/with-schemas/index.js +4 -3
- package/persisters/persister-sqlite-wasm/index.js +4 -3
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +4 -3
- package/persisters/persister-sqlite3/index.js +4 -3
- package/persisters/persister-sqlite3/with-schemas/index.js +4 -3
- package/persisters/persister-yjs/index.js +4 -3
- package/persisters/persister-yjs/with-schemas/index.js +4 -3
- package/persisters/with-schemas/index.js +4 -3
- package/readme.md +3 -3
- package/releases.md +16 -1
- package/store/index.js +33 -2
- package/store/with-schemas/index.js +33 -2
- package/synchronizers/index.js +4 -3
- package/synchronizers/synchronizer-broadcast-channel/index.js +4 -3
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -3
- package/synchronizers/synchronizer-local/index.js +4 -3
- package/synchronizers/synchronizer-local/with-schemas/index.js +4 -3
- package/synchronizers/synchronizer-ws-client/index.js +4 -3
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -3
- package/synchronizers/synchronizer-ws-server/index.js +7 -8
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +7 -8
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +3 -3
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +3 -3
- package/synchronizers/with-schemas/index.js +4 -3
- package/ui-react-inspector/index.js +36 -5
- package/ui-react-inspector/with-schemas/index.js +36 -5
- package/ui-solid-inspector/index.js +36 -5
- package/ui-solid-inspector/with-schemas/index.js +36 -5
- package/ui-svelte-inspector/index.js +36 -5
- package/ui-svelte-inspector/with-schemas/index.js +36 -5
- package/with-schemas/index.js +46 -6
|
@@ -452,13 +452,14 @@ const createCustomPersister = (
|
|
|
452
452
|
const content = await getPersisted();
|
|
453
453
|
if (isArray(content)) {
|
|
454
454
|
setContentOrChanges(content);
|
|
455
|
-
} else if (initialContent) {
|
|
455
|
+
} else if (isUndefined(content) && initialContent) {
|
|
456
456
|
setDefaultContent(initialContent);
|
|
457
|
-
} else {
|
|
457
|
+
} else if (!isUndefined(content)) {
|
|
458
458
|
errorNew(`Content is not an array: ${content}`);
|
|
459
459
|
}
|
|
460
460
|
},
|
|
461
|
-
() => {
|
|
461
|
+
(error) => {
|
|
462
|
+
onIgnoredError?.(error);
|
|
462
463
|
if (initialContent) {
|
|
463
464
|
setDefaultContent(initialContent);
|
|
464
465
|
}
|
|
@@ -876,11 +877,9 @@ const createWsServer = (
|
|
|
876
877
|
);
|
|
877
878
|
const startServerClient = async (serverClient) => {
|
|
878
879
|
serverClient[0 /* State */] = 2; /* Starting */
|
|
879
|
-
await serverClient[1 /* Persister */].
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
serverClient[2 /* Synchronizer */].startSync,
|
|
883
|
-
);
|
|
880
|
+
await serverClient[1 /* Persister */].startAutoLoad();
|
|
881
|
+
await serverClient[1 /* Persister */].startAutoSave();
|
|
882
|
+
await serverClient[2 /* Synchronizer */].startSync();
|
|
884
883
|
serverClient[5 /* Then */](serverClient[1 /* Persister */].getStore());
|
|
885
884
|
serverClient[0 /* State */] = 0; /* Ready */
|
|
886
885
|
};
|
|
@@ -452,13 +452,14 @@ const createCustomPersister = (
|
|
|
452
452
|
const content = await getPersisted();
|
|
453
453
|
if (isArray(content)) {
|
|
454
454
|
setContentOrChanges(content);
|
|
455
|
-
} else if (initialContent) {
|
|
455
|
+
} else if (isUndefined(content) && initialContent) {
|
|
456
456
|
setDefaultContent(initialContent);
|
|
457
|
-
} else {
|
|
457
|
+
} else if (!isUndefined(content)) {
|
|
458
458
|
errorNew(`Content is not an array: ${content}`);
|
|
459
459
|
}
|
|
460
460
|
},
|
|
461
|
-
() => {
|
|
461
|
+
(error) => {
|
|
462
|
+
onIgnoredError?.(error);
|
|
462
463
|
if (initialContent) {
|
|
463
464
|
setDefaultContent(initialContent);
|
|
464
465
|
}
|
|
@@ -876,11 +877,9 @@ const createWsServer = (
|
|
|
876
877
|
);
|
|
877
878
|
const startServerClient = async (serverClient) => {
|
|
878
879
|
serverClient[0 /* State */] = 2; /* Starting */
|
|
879
|
-
await serverClient[1 /* Persister */].
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
serverClient[2 /* Synchronizer */].startSync,
|
|
883
|
-
);
|
|
880
|
+
await serverClient[1 /* Persister */].startAutoLoad();
|
|
881
|
+
await serverClient[1 /* Persister */].startAutoSave();
|
|
882
|
+
await serverClient[2 /* Synchronizer */].startSync();
|
|
884
883
|
serverClient[5 /* Then */](serverClient[1 /* Persister */].getStore());
|
|
885
884
|
serverClient[0 /* State */] = 0; /* Ready */
|
|
886
885
|
};
|
|
@@ -444,13 +444,13 @@ const createCustomPersister = (
|
|
|
444
444
|
const content = await getPersisted();
|
|
445
445
|
if (isArray(content)) {
|
|
446
446
|
setContentOrChanges(content);
|
|
447
|
-
} else if (initialContent) {
|
|
447
|
+
} else if (isUndefined(content) && initialContent) {
|
|
448
448
|
setDefaultContent(initialContent);
|
|
449
|
-
} else {
|
|
449
|
+
} else if (!isUndefined(content)) {
|
|
450
450
|
errorNew(`Content is not an array: ${content}`);
|
|
451
451
|
}
|
|
452
452
|
},
|
|
453
|
-
() => {
|
|
453
|
+
(error) => {
|
|
454
454
|
if (initialContent) {
|
|
455
455
|
setDefaultContent(initialContent);
|
|
456
456
|
}
|
|
@@ -444,13 +444,13 @@ const createCustomPersister = (
|
|
|
444
444
|
const content = await getPersisted();
|
|
445
445
|
if (isArray(content)) {
|
|
446
446
|
setContentOrChanges(content);
|
|
447
|
-
} else if (initialContent) {
|
|
447
|
+
} else if (isUndefined(content) && initialContent) {
|
|
448
448
|
setDefaultContent(initialContent);
|
|
449
|
-
} else {
|
|
449
|
+
} else if (!isUndefined(content)) {
|
|
450
450
|
errorNew(`Content is not an array: ${content}`);
|
|
451
451
|
}
|
|
452
452
|
},
|
|
453
|
-
() => {
|
|
453
|
+
(error) => {
|
|
454
454
|
if (initialContent) {
|
|
455
455
|
setDefaultContent(initialContent);
|
|
456
456
|
}
|
|
@@ -331,13 +331,14 @@ const createCustomPersister = (
|
|
|
331
331
|
const content = await getPersisted();
|
|
332
332
|
if (isArray(content)) {
|
|
333
333
|
setContentOrChanges(content);
|
|
334
|
-
} else if (initialContent) {
|
|
334
|
+
} else if (isUndefined(content) && initialContent) {
|
|
335
335
|
setDefaultContent(initialContent);
|
|
336
|
-
} else {
|
|
336
|
+
} else if (!isUndefined(content)) {
|
|
337
337
|
errorNew(`Content is not an array: ${content}`);
|
|
338
338
|
}
|
|
339
339
|
},
|
|
340
|
-
() => {
|
|
340
|
+
(error) => {
|
|
341
|
+
onIgnoredError?.(error);
|
|
341
342
|
if (initialContent) {
|
|
342
343
|
setDefaultContent(initialContent);
|
|
343
344
|
}
|
|
@@ -930,13 +930,13 @@ const createCustomPersister = (
|
|
|
930
930
|
const content = await getPersisted();
|
|
931
931
|
if (isArray(content)) {
|
|
932
932
|
setContentOrChanges(content);
|
|
933
|
-
} else if (initialContent) {
|
|
933
|
+
} else if (isUndefined(content) && initialContent) {
|
|
934
934
|
setDefaultContent(initialContent);
|
|
935
|
-
} else {
|
|
935
|
+
} else if (!isUndefined(content)) {
|
|
936
936
|
errorNew(`Content is not an array: ${content}`);
|
|
937
937
|
}
|
|
938
938
|
},
|
|
939
|
-
() => {
|
|
939
|
+
(error) => {
|
|
940
940
|
if (initialContent) {
|
|
941
941
|
setDefaultContent(initialContent);
|
|
942
942
|
}
|
|
@@ -1189,8 +1189,10 @@ const createStore = () => {
|
|
|
1189
1189
|
const changedRowIds = mapNew();
|
|
1190
1190
|
const changedCellIds = mapNew();
|
|
1191
1191
|
const changedCells = mapNew();
|
|
1192
|
+
const defaultedCells = mapNew();
|
|
1192
1193
|
const changedValueIds = mapNew();
|
|
1193
1194
|
const changedValues = mapNew();
|
|
1195
|
+
const defaultedValues = setNew();
|
|
1194
1196
|
const invalidCells = mapNew();
|
|
1195
1197
|
const invalidValues = mapNew();
|
|
1196
1198
|
const tablesSchemaMap = mapNew();
|
|
@@ -1364,6 +1366,16 @@ const createStore = () => {
|
|
|
1364
1366
|
collForEach(rowDefaulted, (cell, cellId) => {
|
|
1365
1367
|
if (!objHas(row, cellId)) {
|
|
1366
1368
|
row[cellId] = cell;
|
|
1369
|
+
ifNotUndefined(rowId, (rowId2) =>
|
|
1370
|
+
setAdd(
|
|
1371
|
+
mapEnsure(
|
|
1372
|
+
mapEnsure(defaultedCells, tableId, mapNew),
|
|
1373
|
+
rowId2,
|
|
1374
|
+
setNew,
|
|
1375
|
+
),
|
|
1376
|
+
cellId,
|
|
1377
|
+
),
|
|
1378
|
+
);
|
|
1367
1379
|
}
|
|
1368
1380
|
});
|
|
1369
1381
|
collForEach(rowNonDefaulted, (cellId) => {
|
|
@@ -1380,6 +1392,7 @@ const createStore = () => {
|
|
|
1380
1392
|
collForEach(valuesDefaulted, (value, valueId) => {
|
|
1381
1393
|
if (!objHas(values, valueId)) {
|
|
1382
1394
|
values[valueId] = value;
|
|
1395
|
+
setAdd(defaultedValues, valueId);
|
|
1383
1396
|
}
|
|
1384
1397
|
});
|
|
1385
1398
|
collForEach(valuesNonDefaulted, (valueId) => {
|
|
@@ -1783,18 +1796,34 @@ const createStore = () => {
|
|
|
1783
1796
|
);
|
|
1784
1797
|
};
|
|
1785
1798
|
const cellChanged = (tableId, rowId, cellId, oldCell, newCell) => {
|
|
1799
|
+
const defaulted =
|
|
1800
|
+
collHas(mapGet(mapGet(defaultedCells, tableId), rowId), cellId) &&
|
|
1801
|
+
isUndefined(oldCell)
|
|
1802
|
+
? 1
|
|
1803
|
+
: 0;
|
|
1786
1804
|
mapEnsure(
|
|
1787
1805
|
mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
|
|
1788
1806
|
cellId,
|
|
1789
1807
|
() => [oldCell, 0],
|
|
1790
1808
|
)[1] = newCell;
|
|
1791
|
-
internalListeners[3]?.(
|
|
1809
|
+
internalListeners[3]?.(
|
|
1810
|
+
tableId,
|
|
1811
|
+
rowId,
|
|
1812
|
+
cellId,
|
|
1813
|
+
newCell,
|
|
1814
|
+
mutating,
|
|
1815
|
+
defaulted,
|
|
1816
|
+
);
|
|
1817
|
+
collDel(mapGet(mapGet(defaultedCells, tableId), rowId), cellId);
|
|
1792
1818
|
};
|
|
1793
1819
|
const valueIdsChanged = (valueId, addedOrRemoved) =>
|
|
1794
1820
|
idsChanged(changedValueIds, valueId, addedOrRemoved);
|
|
1795
1821
|
const valueChanged = (valueId, oldValue, newValue) => {
|
|
1822
|
+
const defaulted =
|
|
1823
|
+
collHas(defaultedValues, valueId) && isUndefined(oldValue) ? 1 : 0;
|
|
1796
1824
|
mapEnsure(changedValues, valueId, () => [oldValue, 0])[1] = newValue;
|
|
1797
|
-
internalListeners[4]?.(valueId, newValue, mutating);
|
|
1825
|
+
internalListeners[4]?.(valueId, newValue, mutating, defaulted);
|
|
1826
|
+
collDel(defaultedValues, valueId);
|
|
1798
1827
|
};
|
|
1799
1828
|
const cellInvalid = (tableId, rowId, cellId, invalidCell, defaultedCell) => {
|
|
1800
1829
|
arrayPush(
|
|
@@ -2582,9 +2611,11 @@ const createStore = () => {
|
|
|
2582
2611
|
changedRowIds,
|
|
2583
2612
|
changedCellIds,
|
|
2584
2613
|
changedCells,
|
|
2614
|
+
defaultedCells,
|
|
2585
2615
|
invalidCells,
|
|
2586
2616
|
changedValueIds,
|
|
2587
2617
|
changedValues,
|
|
2618
|
+
defaultedValues,
|
|
2588
2619
|
invalidValues,
|
|
2589
2620
|
],
|
|
2590
2621
|
collClear,
|
|
@@ -930,13 +930,13 @@ const createCustomPersister = (
|
|
|
930
930
|
const content = await getPersisted();
|
|
931
931
|
if (isArray(content)) {
|
|
932
932
|
setContentOrChanges(content);
|
|
933
|
-
} else if (initialContent) {
|
|
933
|
+
} else if (isUndefined(content) && initialContent) {
|
|
934
934
|
setDefaultContent(initialContent);
|
|
935
|
-
} else {
|
|
935
|
+
} else if (!isUndefined(content)) {
|
|
936
936
|
errorNew(`Content is not an array: ${content}`);
|
|
937
937
|
}
|
|
938
938
|
},
|
|
939
|
-
() => {
|
|
939
|
+
(error) => {
|
|
940
940
|
if (initialContent) {
|
|
941
941
|
setDefaultContent(initialContent);
|
|
942
942
|
}
|
|
@@ -1189,8 +1189,10 @@ const createStore = () => {
|
|
|
1189
1189
|
const changedRowIds = mapNew();
|
|
1190
1190
|
const changedCellIds = mapNew();
|
|
1191
1191
|
const changedCells = mapNew();
|
|
1192
|
+
const defaultedCells = mapNew();
|
|
1192
1193
|
const changedValueIds = mapNew();
|
|
1193
1194
|
const changedValues = mapNew();
|
|
1195
|
+
const defaultedValues = setNew();
|
|
1194
1196
|
const invalidCells = mapNew();
|
|
1195
1197
|
const invalidValues = mapNew();
|
|
1196
1198
|
const tablesSchemaMap = mapNew();
|
|
@@ -1364,6 +1366,16 @@ const createStore = () => {
|
|
|
1364
1366
|
collForEach(rowDefaulted, (cell, cellId) => {
|
|
1365
1367
|
if (!objHas(row, cellId)) {
|
|
1366
1368
|
row[cellId] = cell;
|
|
1369
|
+
ifNotUndefined(rowId, (rowId2) =>
|
|
1370
|
+
setAdd(
|
|
1371
|
+
mapEnsure(
|
|
1372
|
+
mapEnsure(defaultedCells, tableId, mapNew),
|
|
1373
|
+
rowId2,
|
|
1374
|
+
setNew,
|
|
1375
|
+
),
|
|
1376
|
+
cellId,
|
|
1377
|
+
),
|
|
1378
|
+
);
|
|
1367
1379
|
}
|
|
1368
1380
|
});
|
|
1369
1381
|
collForEach(rowNonDefaulted, (cellId) => {
|
|
@@ -1380,6 +1392,7 @@ const createStore = () => {
|
|
|
1380
1392
|
collForEach(valuesDefaulted, (value, valueId) => {
|
|
1381
1393
|
if (!objHas(values, valueId)) {
|
|
1382
1394
|
values[valueId] = value;
|
|
1395
|
+
setAdd(defaultedValues, valueId);
|
|
1383
1396
|
}
|
|
1384
1397
|
});
|
|
1385
1398
|
collForEach(valuesNonDefaulted, (valueId) => {
|
|
@@ -1783,18 +1796,34 @@ const createStore = () => {
|
|
|
1783
1796
|
);
|
|
1784
1797
|
};
|
|
1785
1798
|
const cellChanged = (tableId, rowId, cellId, oldCell, newCell) => {
|
|
1799
|
+
const defaulted =
|
|
1800
|
+
collHas(mapGet(mapGet(defaultedCells, tableId), rowId), cellId) &&
|
|
1801
|
+
isUndefined(oldCell)
|
|
1802
|
+
? 1
|
|
1803
|
+
: 0;
|
|
1786
1804
|
mapEnsure(
|
|
1787
1805
|
mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
|
|
1788
1806
|
cellId,
|
|
1789
1807
|
() => [oldCell, 0],
|
|
1790
1808
|
)[1] = newCell;
|
|
1791
|
-
internalListeners[3]?.(
|
|
1809
|
+
internalListeners[3]?.(
|
|
1810
|
+
tableId,
|
|
1811
|
+
rowId,
|
|
1812
|
+
cellId,
|
|
1813
|
+
newCell,
|
|
1814
|
+
mutating,
|
|
1815
|
+
defaulted,
|
|
1816
|
+
);
|
|
1817
|
+
collDel(mapGet(mapGet(defaultedCells, tableId), rowId), cellId);
|
|
1792
1818
|
};
|
|
1793
1819
|
const valueIdsChanged = (valueId, addedOrRemoved) =>
|
|
1794
1820
|
idsChanged(changedValueIds, valueId, addedOrRemoved);
|
|
1795
1821
|
const valueChanged = (valueId, oldValue, newValue) => {
|
|
1822
|
+
const defaulted =
|
|
1823
|
+
collHas(defaultedValues, valueId) && isUndefined(oldValue) ? 1 : 0;
|
|
1796
1824
|
mapEnsure(changedValues, valueId, () => [oldValue, 0])[1] = newValue;
|
|
1797
|
-
internalListeners[4]?.(valueId, newValue, mutating);
|
|
1825
|
+
internalListeners[4]?.(valueId, newValue, mutating, defaulted);
|
|
1826
|
+
collDel(defaultedValues, valueId);
|
|
1798
1827
|
};
|
|
1799
1828
|
const cellInvalid = (tableId, rowId, cellId, invalidCell, defaultedCell) => {
|
|
1800
1829
|
arrayPush(
|
|
@@ -2582,9 +2611,11 @@ const createStore = () => {
|
|
|
2582
2611
|
changedRowIds,
|
|
2583
2612
|
changedCellIds,
|
|
2584
2613
|
changedCells,
|
|
2614
|
+
defaultedCells,
|
|
2585
2615
|
invalidCells,
|
|
2586
2616
|
changedValueIds,
|
|
2587
2617
|
changedValues,
|
|
2618
|
+
defaultedValues,
|
|
2588
2619
|
invalidValues,
|
|
2589
2620
|
],
|
|
2590
2621
|
collClear,
|
|
@@ -989,13 +989,13 @@ const createCustomPersister = (
|
|
|
989
989
|
const content = await getPersisted();
|
|
990
990
|
if (isArray(content)) {
|
|
991
991
|
setContentOrChanges(content);
|
|
992
|
-
} else if (initialContent) {
|
|
992
|
+
} else if (isUndefined(content) && initialContent) {
|
|
993
993
|
setDefaultContent(initialContent);
|
|
994
|
-
} else {
|
|
994
|
+
} else if (!isUndefined(content)) {
|
|
995
995
|
errorNew(`Content is not an array: ${content}`);
|
|
996
996
|
}
|
|
997
997
|
},
|
|
998
|
-
() => {
|
|
998
|
+
(error) => {
|
|
999
999
|
if (initialContent) {
|
|
1000
1000
|
setDefaultContent(initialContent);
|
|
1001
1001
|
}
|
|
@@ -1248,8 +1248,10 @@ const createStore = () => {
|
|
|
1248
1248
|
const changedRowIds = mapNew();
|
|
1249
1249
|
const changedCellIds = mapNew();
|
|
1250
1250
|
const changedCells = mapNew();
|
|
1251
|
+
const defaultedCells = mapNew();
|
|
1251
1252
|
const changedValueIds = mapNew();
|
|
1252
1253
|
const changedValues = mapNew();
|
|
1254
|
+
const defaultedValues = setNew();
|
|
1253
1255
|
const invalidCells = mapNew();
|
|
1254
1256
|
const invalidValues = mapNew();
|
|
1255
1257
|
const tablesSchemaMap = mapNew();
|
|
@@ -1423,6 +1425,16 @@ const createStore = () => {
|
|
|
1423
1425
|
collForEach(rowDefaulted, (cell, cellId) => {
|
|
1424
1426
|
if (!objHas(row, cellId)) {
|
|
1425
1427
|
row[cellId] = cell;
|
|
1428
|
+
ifNotUndefined(rowId, (rowId2) =>
|
|
1429
|
+
setAdd(
|
|
1430
|
+
mapEnsure(
|
|
1431
|
+
mapEnsure(defaultedCells, tableId, mapNew),
|
|
1432
|
+
rowId2,
|
|
1433
|
+
setNew,
|
|
1434
|
+
),
|
|
1435
|
+
cellId,
|
|
1436
|
+
),
|
|
1437
|
+
);
|
|
1426
1438
|
}
|
|
1427
1439
|
});
|
|
1428
1440
|
collForEach(rowNonDefaulted, (cellId) => {
|
|
@@ -1439,6 +1451,7 @@ const createStore = () => {
|
|
|
1439
1451
|
collForEach(valuesDefaulted, (value, valueId) => {
|
|
1440
1452
|
if (!objHas(values, valueId)) {
|
|
1441
1453
|
values[valueId] = value;
|
|
1454
|
+
setAdd(defaultedValues, valueId);
|
|
1442
1455
|
}
|
|
1443
1456
|
});
|
|
1444
1457
|
collForEach(valuesNonDefaulted, (valueId) => {
|
|
@@ -1842,18 +1855,34 @@ const createStore = () => {
|
|
|
1842
1855
|
);
|
|
1843
1856
|
};
|
|
1844
1857
|
const cellChanged = (tableId, rowId, cellId, oldCell, newCell) => {
|
|
1858
|
+
const defaulted =
|
|
1859
|
+
collHas(mapGet(mapGet(defaultedCells, tableId), rowId), cellId) &&
|
|
1860
|
+
isUndefined(oldCell)
|
|
1861
|
+
? 1
|
|
1862
|
+
: 0;
|
|
1845
1863
|
mapEnsure(
|
|
1846
1864
|
mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
|
|
1847
1865
|
cellId,
|
|
1848
1866
|
() => [oldCell, 0],
|
|
1849
1867
|
)[1] = newCell;
|
|
1850
|
-
internalListeners[3]?.(
|
|
1868
|
+
internalListeners[3]?.(
|
|
1869
|
+
tableId,
|
|
1870
|
+
rowId,
|
|
1871
|
+
cellId,
|
|
1872
|
+
newCell,
|
|
1873
|
+
mutating,
|
|
1874
|
+
defaulted,
|
|
1875
|
+
);
|
|
1876
|
+
collDel(mapGet(mapGet(defaultedCells, tableId), rowId), cellId);
|
|
1851
1877
|
};
|
|
1852
1878
|
const valueIdsChanged = (valueId, addedOrRemoved) =>
|
|
1853
1879
|
idsChanged(changedValueIds, valueId, addedOrRemoved);
|
|
1854
1880
|
const valueChanged = (valueId, oldValue, newValue) => {
|
|
1881
|
+
const defaulted =
|
|
1882
|
+
collHas(defaultedValues, valueId) && isUndefined(oldValue) ? 1 : 0;
|
|
1855
1883
|
mapEnsure(changedValues, valueId, () => [oldValue, 0])[1] = newValue;
|
|
1856
|
-
internalListeners[4]?.(valueId, newValue, mutating);
|
|
1884
|
+
internalListeners[4]?.(valueId, newValue, mutating, defaulted);
|
|
1885
|
+
collDel(defaultedValues, valueId);
|
|
1857
1886
|
};
|
|
1858
1887
|
const cellInvalid = (tableId, rowId, cellId, invalidCell, defaultedCell) => {
|
|
1859
1888
|
arrayPush(
|
|
@@ -2641,9 +2670,11 @@ const createStore = () => {
|
|
|
2641
2670
|
changedRowIds,
|
|
2642
2671
|
changedCellIds,
|
|
2643
2672
|
changedCells,
|
|
2673
|
+
defaultedCells,
|
|
2644
2674
|
invalidCells,
|
|
2645
2675
|
changedValueIds,
|
|
2646
2676
|
changedValues,
|
|
2677
|
+
defaultedValues,
|
|
2647
2678
|
invalidValues,
|
|
2648
2679
|
],
|
|
2649
2680
|
collClear,
|
|
@@ -989,13 +989,13 @@ const createCustomPersister = (
|
|
|
989
989
|
const content = await getPersisted();
|
|
990
990
|
if (isArray(content)) {
|
|
991
991
|
setContentOrChanges(content);
|
|
992
|
-
} else if (initialContent) {
|
|
992
|
+
} else if (isUndefined(content) && initialContent) {
|
|
993
993
|
setDefaultContent(initialContent);
|
|
994
|
-
} else {
|
|
994
|
+
} else if (!isUndefined(content)) {
|
|
995
995
|
errorNew(`Content is not an array: ${content}`);
|
|
996
996
|
}
|
|
997
997
|
},
|
|
998
|
-
() => {
|
|
998
|
+
(error) => {
|
|
999
999
|
if (initialContent) {
|
|
1000
1000
|
setDefaultContent(initialContent);
|
|
1001
1001
|
}
|
|
@@ -1248,8 +1248,10 @@ const createStore = () => {
|
|
|
1248
1248
|
const changedRowIds = mapNew();
|
|
1249
1249
|
const changedCellIds = mapNew();
|
|
1250
1250
|
const changedCells = mapNew();
|
|
1251
|
+
const defaultedCells = mapNew();
|
|
1251
1252
|
const changedValueIds = mapNew();
|
|
1252
1253
|
const changedValues = mapNew();
|
|
1254
|
+
const defaultedValues = setNew();
|
|
1253
1255
|
const invalidCells = mapNew();
|
|
1254
1256
|
const invalidValues = mapNew();
|
|
1255
1257
|
const tablesSchemaMap = mapNew();
|
|
@@ -1423,6 +1425,16 @@ const createStore = () => {
|
|
|
1423
1425
|
collForEach(rowDefaulted, (cell, cellId) => {
|
|
1424
1426
|
if (!objHas(row, cellId)) {
|
|
1425
1427
|
row[cellId] = cell;
|
|
1428
|
+
ifNotUndefined(rowId, (rowId2) =>
|
|
1429
|
+
setAdd(
|
|
1430
|
+
mapEnsure(
|
|
1431
|
+
mapEnsure(defaultedCells, tableId, mapNew),
|
|
1432
|
+
rowId2,
|
|
1433
|
+
setNew,
|
|
1434
|
+
),
|
|
1435
|
+
cellId,
|
|
1436
|
+
),
|
|
1437
|
+
);
|
|
1426
1438
|
}
|
|
1427
1439
|
});
|
|
1428
1440
|
collForEach(rowNonDefaulted, (cellId) => {
|
|
@@ -1439,6 +1451,7 @@ const createStore = () => {
|
|
|
1439
1451
|
collForEach(valuesDefaulted, (value, valueId) => {
|
|
1440
1452
|
if (!objHas(values, valueId)) {
|
|
1441
1453
|
values[valueId] = value;
|
|
1454
|
+
setAdd(defaultedValues, valueId);
|
|
1442
1455
|
}
|
|
1443
1456
|
});
|
|
1444
1457
|
collForEach(valuesNonDefaulted, (valueId) => {
|
|
@@ -1842,18 +1855,34 @@ const createStore = () => {
|
|
|
1842
1855
|
);
|
|
1843
1856
|
};
|
|
1844
1857
|
const cellChanged = (tableId, rowId, cellId, oldCell, newCell) => {
|
|
1858
|
+
const defaulted =
|
|
1859
|
+
collHas(mapGet(mapGet(defaultedCells, tableId), rowId), cellId) &&
|
|
1860
|
+
isUndefined(oldCell)
|
|
1861
|
+
? 1
|
|
1862
|
+
: 0;
|
|
1845
1863
|
mapEnsure(
|
|
1846
1864
|
mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
|
|
1847
1865
|
cellId,
|
|
1848
1866
|
() => [oldCell, 0],
|
|
1849
1867
|
)[1] = newCell;
|
|
1850
|
-
internalListeners[3]?.(
|
|
1868
|
+
internalListeners[3]?.(
|
|
1869
|
+
tableId,
|
|
1870
|
+
rowId,
|
|
1871
|
+
cellId,
|
|
1872
|
+
newCell,
|
|
1873
|
+
mutating,
|
|
1874
|
+
defaulted,
|
|
1875
|
+
);
|
|
1876
|
+
collDel(mapGet(mapGet(defaultedCells, tableId), rowId), cellId);
|
|
1851
1877
|
};
|
|
1852
1878
|
const valueIdsChanged = (valueId, addedOrRemoved) =>
|
|
1853
1879
|
idsChanged(changedValueIds, valueId, addedOrRemoved);
|
|
1854
1880
|
const valueChanged = (valueId, oldValue, newValue) => {
|
|
1881
|
+
const defaulted =
|
|
1882
|
+
collHas(defaultedValues, valueId) && isUndefined(oldValue) ? 1 : 0;
|
|
1855
1883
|
mapEnsure(changedValues, valueId, () => [oldValue, 0])[1] = newValue;
|
|
1856
|
-
internalListeners[4]?.(valueId, newValue, mutating);
|
|
1884
|
+
internalListeners[4]?.(valueId, newValue, mutating, defaulted);
|
|
1885
|
+
collDel(defaultedValues, valueId);
|
|
1857
1886
|
};
|
|
1858
1887
|
const cellInvalid = (tableId, rowId, cellId, invalidCell, defaultedCell) => {
|
|
1859
1888
|
arrayPush(
|
|
@@ -2641,9 +2670,11 @@ const createStore = () => {
|
|
|
2641
2670
|
changedRowIds,
|
|
2642
2671
|
changedCellIds,
|
|
2643
2672
|
changedCells,
|
|
2673
|
+
defaultedCells,
|
|
2644
2674
|
invalidCells,
|
|
2645
2675
|
changedValueIds,
|
|
2646
2676
|
changedValues,
|
|
2677
|
+
defaultedValues,
|
|
2647
2678
|
invalidValues,
|
|
2648
2679
|
],
|
|
2649
2680
|
collClear,
|
|
@@ -907,13 +907,13 @@ const createCustomPersister = (
|
|
|
907
907
|
const content = await getPersisted();
|
|
908
908
|
if (isArray(content)) {
|
|
909
909
|
setContentOrChanges(content);
|
|
910
|
-
} else if (initialContent) {
|
|
910
|
+
} else if (isUndefined(content) && initialContent) {
|
|
911
911
|
setDefaultContent(initialContent);
|
|
912
|
-
} else {
|
|
912
|
+
} else if (!isUndefined(content)) {
|
|
913
913
|
errorNew(`Content is not an array: ${content}`);
|
|
914
914
|
}
|
|
915
915
|
},
|
|
916
|
-
() => {
|
|
916
|
+
(error) => {
|
|
917
917
|
if (initialContent) {
|
|
918
918
|
setDefaultContent(initialContent);
|
|
919
919
|
}
|
|
@@ -1166,8 +1166,10 @@ const createStore = () => {
|
|
|
1166
1166
|
const changedRowIds = mapNew();
|
|
1167
1167
|
const changedCellIds = mapNew();
|
|
1168
1168
|
const changedCells = mapNew();
|
|
1169
|
+
const defaultedCells = mapNew();
|
|
1169
1170
|
const changedValueIds = mapNew();
|
|
1170
1171
|
const changedValues = mapNew();
|
|
1172
|
+
const defaultedValues = setNew();
|
|
1171
1173
|
const invalidCells = mapNew();
|
|
1172
1174
|
const invalidValues = mapNew();
|
|
1173
1175
|
const tablesSchemaMap = mapNew();
|
|
@@ -1341,6 +1343,16 @@ const createStore = () => {
|
|
|
1341
1343
|
collForEach(rowDefaulted, (cell, cellId) => {
|
|
1342
1344
|
if (!objHas(row, cellId)) {
|
|
1343
1345
|
row[cellId] = cell;
|
|
1346
|
+
ifNotUndefined(rowId, (rowId2) =>
|
|
1347
|
+
setAdd(
|
|
1348
|
+
mapEnsure(
|
|
1349
|
+
mapEnsure(defaultedCells, tableId, mapNew),
|
|
1350
|
+
rowId2,
|
|
1351
|
+
setNew,
|
|
1352
|
+
),
|
|
1353
|
+
cellId,
|
|
1354
|
+
),
|
|
1355
|
+
);
|
|
1344
1356
|
}
|
|
1345
1357
|
});
|
|
1346
1358
|
collForEach(rowNonDefaulted, (cellId) => {
|
|
@@ -1357,6 +1369,7 @@ const createStore = () => {
|
|
|
1357
1369
|
collForEach(valuesDefaulted, (value, valueId) => {
|
|
1358
1370
|
if (!objHas(values, valueId)) {
|
|
1359
1371
|
values[valueId] = value;
|
|
1372
|
+
setAdd(defaultedValues, valueId);
|
|
1360
1373
|
}
|
|
1361
1374
|
});
|
|
1362
1375
|
collForEach(valuesNonDefaulted, (valueId) => {
|
|
@@ -1760,18 +1773,34 @@ const createStore = () => {
|
|
|
1760
1773
|
);
|
|
1761
1774
|
};
|
|
1762
1775
|
const cellChanged = (tableId, rowId, cellId, oldCell, newCell) => {
|
|
1776
|
+
const defaulted =
|
|
1777
|
+
collHas(mapGet(mapGet(defaultedCells, tableId), rowId), cellId) &&
|
|
1778
|
+
isUndefined(oldCell)
|
|
1779
|
+
? 1
|
|
1780
|
+
: 0;
|
|
1763
1781
|
mapEnsure(
|
|
1764
1782
|
mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
|
|
1765
1783
|
cellId,
|
|
1766
1784
|
() => [oldCell, 0],
|
|
1767
1785
|
)[1] = newCell;
|
|
1768
|
-
internalListeners[3]?.(
|
|
1786
|
+
internalListeners[3]?.(
|
|
1787
|
+
tableId,
|
|
1788
|
+
rowId,
|
|
1789
|
+
cellId,
|
|
1790
|
+
newCell,
|
|
1791
|
+
mutating,
|
|
1792
|
+
defaulted,
|
|
1793
|
+
);
|
|
1794
|
+
collDel(mapGet(mapGet(defaultedCells, tableId), rowId), cellId);
|
|
1769
1795
|
};
|
|
1770
1796
|
const valueIdsChanged = (valueId, addedOrRemoved) =>
|
|
1771
1797
|
idsChanged(changedValueIds, valueId, addedOrRemoved);
|
|
1772
1798
|
const valueChanged = (valueId, oldValue, newValue) => {
|
|
1799
|
+
const defaulted =
|
|
1800
|
+
collHas(defaultedValues, valueId) && isUndefined(oldValue) ? 1 : 0;
|
|
1773
1801
|
mapEnsure(changedValues, valueId, () => [oldValue, 0])[1] = newValue;
|
|
1774
|
-
internalListeners[4]?.(valueId, newValue, mutating);
|
|
1802
|
+
internalListeners[4]?.(valueId, newValue, mutating, defaulted);
|
|
1803
|
+
collDel(defaultedValues, valueId);
|
|
1775
1804
|
};
|
|
1776
1805
|
const cellInvalid = (tableId, rowId, cellId, invalidCell, defaultedCell) => {
|
|
1777
1806
|
arrayPush(
|
|
@@ -2559,9 +2588,11 @@ const createStore = () => {
|
|
|
2559
2588
|
changedRowIds,
|
|
2560
2589
|
changedCellIds,
|
|
2561
2590
|
changedCells,
|
|
2591
|
+
defaultedCells,
|
|
2562
2592
|
invalidCells,
|
|
2563
2593
|
changedValueIds,
|
|
2564
2594
|
changedValues,
|
|
2595
|
+
defaultedValues,
|
|
2565
2596
|
invalidValues,
|
|
2566
2597
|
],
|
|
2567
2598
|
collClear,
|