tinybase 9.0.0-beta.0 → 9.0.0
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/@types/ui-react-dom/index.d.ts +10 -10
- package/@types/ui-react-dom/with-schemas/index.d.ts +10 -10
- package/@types/ui-react-dom-charts/index.d.ts +7 -7
- package/@types/ui-react-dom-charts/with-schemas/index.d.ts +7 -7
- package/@types/ui-react-inspector/index.d.ts +1 -1
- package/@types/ui-react-inspector/with-schemas/index.d.ts +1 -1
- package/@types/ui-solid-dom/index.d.ts +10 -10
- package/@types/ui-solid-dom/with-schemas/index.d.ts +10 -10
- package/@types/ui-solid-inspector/index.d.ts +1 -1
- package/@types/ui-solid-inspector/with-schemas/index.d.ts +1 -1
- package/@types/ui-svelte-dom/index.d.ts +10 -10
- package/@types/ui-svelte-dom/with-schemas/index.d.ts +10 -10
- package/@types/ui-svelte-inspector/index.d.ts +1 -1
- package/@types/ui-svelte-inspector/with-schemas/index.d.ts +1 -1
- 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 +7 -7
- 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 +17 -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
|
@@ -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,
|
package/with-schemas/index.js
CHANGED
|
@@ -1225,8 +1225,10 @@ const createStore = () => {
|
|
|
1225
1225
|
const changedRowIds = mapNew();
|
|
1226
1226
|
const changedCellIds = mapNew();
|
|
1227
1227
|
const changedCells = mapNew();
|
|
1228
|
+
const defaultedCells = mapNew();
|
|
1228
1229
|
const changedValueIds = mapNew();
|
|
1229
1230
|
const changedValues = mapNew();
|
|
1231
|
+
const defaultedValues = setNew();
|
|
1230
1232
|
const invalidCells = mapNew();
|
|
1231
1233
|
const invalidValues = mapNew();
|
|
1232
1234
|
const tablesSchemaMap = mapNew();
|
|
@@ -1400,6 +1402,16 @@ const createStore = () => {
|
|
|
1400
1402
|
collForEach(rowDefaulted, (cell, cellId) => {
|
|
1401
1403
|
if (!objHas(row, cellId)) {
|
|
1402
1404
|
row[cellId] = cell;
|
|
1405
|
+
ifNotUndefined(rowId, (rowId2) =>
|
|
1406
|
+
setAdd(
|
|
1407
|
+
mapEnsure(
|
|
1408
|
+
mapEnsure(defaultedCells, tableId, mapNew),
|
|
1409
|
+
rowId2,
|
|
1410
|
+
setNew,
|
|
1411
|
+
),
|
|
1412
|
+
cellId,
|
|
1413
|
+
),
|
|
1414
|
+
);
|
|
1403
1415
|
}
|
|
1404
1416
|
});
|
|
1405
1417
|
collForEach(rowNonDefaulted, (cellId) => {
|
|
@@ -1416,6 +1428,7 @@ const createStore = () => {
|
|
|
1416
1428
|
collForEach(valuesDefaulted, (value, valueId) => {
|
|
1417
1429
|
if (!objHas(values, valueId)) {
|
|
1418
1430
|
values[valueId] = value;
|
|
1431
|
+
setAdd(defaultedValues, valueId);
|
|
1419
1432
|
}
|
|
1420
1433
|
});
|
|
1421
1434
|
collForEach(valuesNonDefaulted, (valueId) => {
|
|
@@ -1819,18 +1832,34 @@ const createStore = () => {
|
|
|
1819
1832
|
);
|
|
1820
1833
|
};
|
|
1821
1834
|
const cellChanged = (tableId, rowId, cellId, oldCell, newCell) => {
|
|
1835
|
+
const defaulted =
|
|
1836
|
+
collHas(mapGet(mapGet(defaultedCells, tableId), rowId), cellId) &&
|
|
1837
|
+
isUndefined(oldCell)
|
|
1838
|
+
? 1
|
|
1839
|
+
: 0;
|
|
1822
1840
|
mapEnsure(
|
|
1823
1841
|
mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
|
|
1824
1842
|
cellId,
|
|
1825
1843
|
() => [oldCell, 0],
|
|
1826
1844
|
)[1] = newCell;
|
|
1827
|
-
internalListeners[3]?.(
|
|
1845
|
+
internalListeners[3]?.(
|
|
1846
|
+
tableId,
|
|
1847
|
+
rowId,
|
|
1848
|
+
cellId,
|
|
1849
|
+
newCell,
|
|
1850
|
+
mutating,
|
|
1851
|
+
defaulted,
|
|
1852
|
+
);
|
|
1853
|
+
collDel(mapGet(mapGet(defaultedCells, tableId), rowId), cellId);
|
|
1828
1854
|
};
|
|
1829
1855
|
const valueIdsChanged = (valueId, addedOrRemoved) =>
|
|
1830
1856
|
idsChanged(changedValueIds, valueId, addedOrRemoved);
|
|
1831
1857
|
const valueChanged = (valueId, oldValue, newValue) => {
|
|
1858
|
+
const defaulted =
|
|
1859
|
+
collHas(defaultedValues, valueId) && isUndefined(oldValue) ? 1 : 0;
|
|
1832
1860
|
mapEnsure(changedValues, valueId, () => [oldValue, 0])[1] = newValue;
|
|
1833
|
-
internalListeners[4]?.(valueId, newValue, mutating);
|
|
1861
|
+
internalListeners[4]?.(valueId, newValue, mutating, defaulted);
|
|
1862
|
+
collDel(defaultedValues, valueId);
|
|
1834
1863
|
};
|
|
1835
1864
|
const cellInvalid = (tableId, rowId, cellId, invalidCell, defaultedCell) => {
|
|
1836
1865
|
arrayPush(
|
|
@@ -2618,9 +2647,11 @@ const createStore = () => {
|
|
|
2618
2647
|
changedRowIds,
|
|
2619
2648
|
changedCellIds,
|
|
2620
2649
|
changedCells,
|
|
2650
|
+
defaultedCells,
|
|
2621
2651
|
invalidCells,
|
|
2622
2652
|
changedValueIds,
|
|
2623
2653
|
changedValues,
|
|
2654
|
+
defaultedValues,
|
|
2624
2655
|
invalidValues,
|
|
2625
2656
|
],
|
|
2626
2657
|
collClear,
|
|
@@ -3125,7 +3156,14 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
3125
3156
|
collClear(touchedCells);
|
|
3126
3157
|
collClear(touchedValues);
|
|
3127
3158
|
};
|
|
3128
|
-
const cellChanged = (
|
|
3159
|
+
const cellChanged = (
|
|
3160
|
+
tableId,
|
|
3161
|
+
rowId,
|
|
3162
|
+
cellId,
|
|
3163
|
+
newCell,
|
|
3164
|
+
mutating,
|
|
3165
|
+
defaulted,
|
|
3166
|
+
) => {
|
|
3129
3167
|
setAdd(
|
|
3130
3168
|
mapEnsure(mapEnsure(touchedCells, tableId, mapNew), rowId, setNew),
|
|
3131
3169
|
cellId,
|
|
@@ -3143,7 +3181,9 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
3143
3181
|
{
|
|
3144
3182
|
[cellId]: [
|
|
3145
3183
|
newCell,
|
|
3146
|
-
defaultingContent
|
|
3184
|
+
defaultingContent || defaulted
|
|
3185
|
+
? EMPTY_STRING
|
|
3186
|
+
: getNextHlc(),
|
|
3147
3187
|
],
|
|
3148
3188
|
},
|
|
3149
3189
|
],
|
|
@@ -3156,7 +3196,7 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
3156
3196
|
]);
|
|
3157
3197
|
}
|
|
3158
3198
|
};
|
|
3159
|
-
const valueChanged = (valueId, newValue, mutating) => {
|
|
3199
|
+
const valueChanged = (valueId, newValue, mutating, defaulted) => {
|
|
3160
3200
|
setAdd(touchedValues, valueId);
|
|
3161
3201
|
if (listeningToRawStoreChanges || mutating) {
|
|
3162
3202
|
if (mutating) {
|
|
@@ -3168,7 +3208,7 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
3168
3208
|
{
|
|
3169
3209
|
[valueId]: [
|
|
3170
3210
|
newValue,
|
|
3171
|
-
defaultingContent ? EMPTY_STRING : getNextHlc(),
|
|
3211
|
+
defaultingContent || defaulted ? EMPTY_STRING : getNextHlc(),
|
|
3172
3212
|
],
|
|
3173
3213
|
},
|
|
3174
3214
|
],
|