tinybase 8.5.0 → 9.0.0-beta.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/_internal/queries/with-schemas/index.d.ts +1 -2
- package/@types/_internal/ui/with-schemas/index.d.ts +8 -16
- package/@types/persisters/index.d.ts +32 -12
- package/@types/persisters/persister-durable-object-sql-storage/index.d.ts +9 -8
- package/@types/persisters/persister-durable-object-sql-storage/with-schemas/index.d.ts +10 -10
- package/@types/persisters/with-schemas/index.d.ts +56 -20
- package/@types/queries/index.d.ts +1 -7
- package/@types/queries/with-schemas/index.d.ts +5 -15
- package/@types/store/index.d.ts +1 -2
- package/@types/store/with-schemas/index.d.ts +19 -29
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +9 -3
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +10 -3
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +15 -2
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +17 -2
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +51 -0
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +51 -0
- package/@types/ui-react/with-schemas/index.d.ts +3 -6
- package/@types/ui-react-dom/index.d.ts +10 -10
- package/@types/ui-react-dom/with-schemas/index.d.ts +16 -22
- package/@types/ui-react-dom-charts/index.d.ts +7 -7
- package/@types/ui-react-dom-charts/with-schemas/index.d.ts +10 -11
- 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/with-schemas/index.d.ts +4 -8
- package/@types/ui-solid-dom/index.d.ts +10 -10
- package/@types/ui-solid-dom/with-schemas/index.d.ts +16 -22
- 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 +16 -22
- 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 +21 -19
- package/indexes/index.js +6 -8
- package/indexes/with-schemas/index.js +6 -8
- package/metrics/index.js +6 -8
- package/metrics/with-schemas/index.js +6 -8
- package/min/index.js +1 -1
- package/min/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-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-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-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-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-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-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/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/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/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/omni/index.js +311 -141
- package/omni/with-schemas/index.js +311 -141
- package/package.json +7 -7
- package/persisters/index.js +129 -37
- package/persisters/persister-cr-sqlite-wasm/index.js +129 -37
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +129 -37
- package/persisters/persister-durable-object-sql-storage/index.js +271 -110
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +271 -110
- package/persisters/persister-electric-sql/index.js +129 -37
- package/persisters/persister-electric-sql/with-schemas/index.js +129 -37
- package/persisters/persister-expo-sqlite/index.js +129 -37
- package/persisters/persister-expo-sqlite/with-schemas/index.js +129 -37
- package/persisters/persister-libsql/index.js +129 -37
- package/persisters/persister-libsql/with-schemas/index.js +129 -37
- package/persisters/persister-pglite/index.js +130 -37
- package/persisters/persister-pglite/with-schemas/index.js +130 -37
- package/persisters/persister-postgres/index.js +130 -37
- package/persisters/persister-postgres/with-schemas/index.js +130 -37
- package/persisters/persister-powersync/index.js +182 -117
- package/persisters/persister-powersync/with-schemas/index.js +182 -117
- package/persisters/persister-react-native-sqlite/index.js +129 -37
- package/persisters/persister-react-native-sqlite/with-schemas/index.js +129 -37
- package/persisters/persister-sqlite-bun/index.js +129 -37
- package/persisters/persister-sqlite-bun/with-schemas/index.js +129 -37
- package/persisters/persister-sqlite-wasm/index.js +129 -37
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +129 -37
- package/persisters/persister-sqlite3/index.js +129 -37
- package/persisters/persister-sqlite3/with-schemas/index.js +129 -37
- package/persisters/with-schemas/index.js +129 -37
- package/queries/index.js +21 -19
- package/queries/with-schemas/index.js +21 -19
- package/readme.md +14 -14
- package/relationships/index.js +6 -8
- package/relationships/with-schemas/index.js +6 -8
- package/releases.md +57 -57
- package/synchronizers/synchronizer-ws-client/index.js +116 -42
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +116 -42
- package/synchronizers/synchronizer-ws-server/index.js +109 -28
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +109 -28
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +122 -38
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +122 -38
- package/ui-svelte/index.js +1 -1
- package/ui-svelte/with-schemas/index.js +1 -1
- package/ui-svelte-dom/index.js +2 -2
- package/ui-svelte-dom/with-schemas/index.js +2 -2
- package/ui-svelte-inspector/index.js +2 -2
- package/ui-svelte-inspector/with-schemas/index.js +2 -2
- package/with-schemas/index.js +21 -19
|
@@ -48,6 +48,7 @@ const tryCatch = async (action, then1, then2) => {
|
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
+
const arrayHas = (array, value) => array.includes(value);
|
|
51
52
|
const arrayForEach = (array, cb) => array.forEach(cb);
|
|
52
53
|
const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
|
|
53
54
|
const arrayMap = (array, cb) => array.map(cb);
|
|
@@ -207,6 +208,8 @@ const DEFAULT_TABULAR_VALUES_CONFIG = {
|
|
|
207
208
|
save: 0,
|
|
208
209
|
[TABLE_NAME]: TINYBASE + '_values',
|
|
209
210
|
};
|
|
211
|
+
const getValuesIn = (config) => (isArray(config) ? config : void 0);
|
|
212
|
+
const hasValues = (config) => isTrue(config) || isArray(config);
|
|
210
213
|
const getDefaultedConfig = (configOrStoreTableName) =>
|
|
211
214
|
objMerge(
|
|
212
215
|
DEFAULT_CONFIG,
|
|
@@ -257,11 +260,15 @@ const getConfigStructures = (configOrStoreTableName) => {
|
|
|
257
260
|
];
|
|
258
261
|
}
|
|
259
262
|
const {tables: {load = {}, save = {}} = {}, values = {}} = config;
|
|
260
|
-
const
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
263
|
+
const valuesConfigObj = objMerge(DEFAULT_TABULAR_VALUES_CONFIG, values);
|
|
264
|
+
const {load: valuesLoad, save: valuesSave} = valuesConfigObj;
|
|
265
|
+
const valuesConfig = [
|
|
266
|
+
hasValues(valuesLoad),
|
|
267
|
+
hasValues(valuesSave),
|
|
268
|
+
valuesConfigObj[TABLE_NAME],
|
|
269
|
+
getValuesIn(valuesLoad),
|
|
270
|
+
getValuesIn(valuesSave),
|
|
271
|
+
];
|
|
265
272
|
const valuesTable = valuesConfig[2];
|
|
266
273
|
const managedTableNames = setNew(valuesTable);
|
|
267
274
|
const excludedTableNames = setNew(valuesTable);
|
|
@@ -670,8 +677,18 @@ const getCommandFunctions = (
|
|
|
670
677
|
({tn, cn}) => setAdd(mapEnsure(schemaMap, tn, setNew), cn),
|
|
671
678
|
);
|
|
672
679
|
};
|
|
673
|
-
const loadTable = async (
|
|
674
|
-
|
|
680
|
+
const loadTable = async (
|
|
681
|
+
tableName,
|
|
682
|
+
rowIdColumnName,
|
|
683
|
+
condition,
|
|
684
|
+
contentSubIds,
|
|
685
|
+
) => {
|
|
686
|
+
const contentSubIdSet = isUndefined(contentSubIds)
|
|
687
|
+
? void 0
|
|
688
|
+
: setNew(contentSubIds);
|
|
689
|
+
const includeContentSubId = (contentSubId) =>
|
|
690
|
+
isUndefined(contentSubIdSet) || collHas(contentSubIdSet, contentSubId);
|
|
691
|
+
return canSelect(tableName, rowIdColumnName)
|
|
675
692
|
? objNew(
|
|
676
693
|
arrayFilter(
|
|
677
694
|
arrayMap(
|
|
@@ -680,17 +697,35 @@ const getCommandFunctions = (
|
|
|
680
697
|
escapeId(tableName) +
|
|
681
698
|
getWhereCondition(tableName, condition),
|
|
682
699
|
),
|
|
683
|
-
(row) =>
|
|
684
|
-
row[rowIdColumnName]
|
|
685
|
-
decode
|
|
700
|
+
(row) => {
|
|
701
|
+
const rowId = row[rowIdColumnName];
|
|
702
|
+
const rowContent = decode
|
|
686
703
|
? objMap(objDel(row, rowIdColumnName), decode)
|
|
687
|
-
: objDel(row, rowIdColumnName)
|
|
688
|
-
|
|
704
|
+
: objDel(row, rowIdColumnName);
|
|
705
|
+
return [
|
|
706
|
+
rowId,
|
|
707
|
+
isUndefined(contentSubIdSet)
|
|
708
|
+
? rowContent
|
|
709
|
+
: objNew(
|
|
710
|
+
arrayFilter(
|
|
711
|
+
objToArray(
|
|
712
|
+
rowContent,
|
|
713
|
+
(cellOrValue, contentSubId) => [
|
|
714
|
+
contentSubId,
|
|
715
|
+
cellOrValue,
|
|
716
|
+
],
|
|
717
|
+
),
|
|
718
|
+
([contentSubId]) => includeContentSubId(contentSubId),
|
|
719
|
+
),
|
|
720
|
+
),
|
|
721
|
+
];
|
|
722
|
+
},
|
|
689
723
|
),
|
|
690
724
|
(entry) => !isUndefined(entry[0]) && !objIsEmpty(entry[1]),
|
|
691
725
|
),
|
|
692
726
|
)
|
|
693
727
|
: {};
|
|
728
|
+
};
|
|
694
729
|
const saveTable = async (
|
|
695
730
|
tableName,
|
|
696
731
|
rowIdColumnName,
|
|
@@ -699,15 +734,23 @@ const getCommandFunctions = (
|
|
|
699
734
|
deleteEmptyTable,
|
|
700
735
|
partial = false,
|
|
701
736
|
condition = TRUE,
|
|
737
|
+
contentSubIds,
|
|
702
738
|
) => {
|
|
739
|
+
const contentSubIdSet = isUndefined(contentSubIds)
|
|
740
|
+
? void 0
|
|
741
|
+
: setNew(contentSubIds);
|
|
742
|
+
const includeContentSubId = (contentSubId) =>
|
|
743
|
+
isUndefined(contentSubIdSet) || collHas(contentSubIdSet, contentSubId);
|
|
703
744
|
const settingColumnNameSet = setNew();
|
|
704
745
|
objMap(content ?? {}, (contentRow) =>
|
|
705
|
-
arrayMap(
|
|
706
|
-
|
|
746
|
+
arrayMap(
|
|
747
|
+
arrayFilter(objIds(contentRow ?? {}), includeContentSubId),
|
|
748
|
+
(cellOrValueId) => setAdd(settingColumnNameSet, cellOrValueId),
|
|
707
749
|
),
|
|
708
750
|
);
|
|
709
751
|
const settingColumnNames = collValues(settingColumnNameSet);
|
|
710
752
|
if (
|
|
753
|
+
isUndefined(contentSubIdSet) &&
|
|
711
754
|
!partial &&
|
|
712
755
|
deleteEmptyTable &&
|
|
713
756
|
condition == TRUE &&
|
|
@@ -719,7 +762,13 @@ const getCommandFunctions = (
|
|
|
719
762
|
return;
|
|
720
763
|
}
|
|
721
764
|
const currentColumnNames = mapGet(schemaMap, tableName);
|
|
722
|
-
const unaccountedColumnNames = setNew(
|
|
765
|
+
const unaccountedColumnNames = setNew(
|
|
766
|
+
arrayFilter(
|
|
767
|
+
collValues(currentColumnNames),
|
|
768
|
+
(columnName) =>
|
|
769
|
+
columnName == rowIdColumnName || includeContentSubId(columnName),
|
|
770
|
+
),
|
|
771
|
+
);
|
|
723
772
|
if (!arrayIsEmpty(settingColumnNames)) {
|
|
724
773
|
if (!collHas(schemaMap, tableName)) {
|
|
725
774
|
await databaseExecuteCommand(
|
|
@@ -785,11 +834,13 @@ const getCommandFunctions = (
|
|
|
785
834
|
]);
|
|
786
835
|
if (partial) {
|
|
787
836
|
if (isUndefined(content)) {
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
837
|
+
if (isUndefined(contentSubIdSet)) {
|
|
838
|
+
await databaseExecuteCommand(
|
|
839
|
+
DELETE_FROM +
|
|
840
|
+
escapeId(tableName) +
|
|
841
|
+
getWhereCondition(tableName, condition),
|
|
842
|
+
);
|
|
843
|
+
}
|
|
793
844
|
} else {
|
|
794
845
|
await promiseAll(
|
|
795
846
|
objToArray(content, async (row, rowId) => {
|
|
@@ -802,18 +853,24 @@ const getCommandFunctions = (
|
|
|
802
853
|
[rowId],
|
|
803
854
|
);
|
|
804
855
|
} else if (!arrayIsEmpty(settingColumnNames)) {
|
|
805
|
-
|
|
806
|
-
databaseExecuteCommand,
|
|
807
|
-
tableName,
|
|
808
|
-
rowIdColumnName,
|
|
856
|
+
const changingColumnNames = arrayFilter(
|
|
809
857
|
objIds(row),
|
|
810
|
-
|
|
811
|
-
[rowId]: encode
|
|
812
|
-
? arrayMap(objValues(row), encode)
|
|
813
|
-
: objValues(row),
|
|
814
|
-
},
|
|
815
|
-
currentColumnNames,
|
|
858
|
+
includeContentSubId,
|
|
816
859
|
);
|
|
860
|
+
if (!arrayIsEmpty(changingColumnNames)) {
|
|
861
|
+
await upsert(
|
|
862
|
+
databaseExecuteCommand,
|
|
863
|
+
tableName,
|
|
864
|
+
rowIdColumnName,
|
|
865
|
+
changingColumnNames,
|
|
866
|
+
{
|
|
867
|
+
[rowId]: arrayMap(changingColumnNames, (cellId) =>
|
|
868
|
+
encode ? encode(row[cellId]) : row[cellId],
|
|
869
|
+
),
|
|
870
|
+
},
|
|
871
|
+
currentColumnNames,
|
|
872
|
+
);
|
|
873
|
+
}
|
|
817
874
|
}
|
|
818
875
|
}),
|
|
819
876
|
);
|
|
@@ -822,7 +879,9 @@ const getCommandFunctions = (
|
|
|
822
879
|
if (!arrayIsEmpty(settingColumnNames)) {
|
|
823
880
|
const changingColumnNames = arrayFilter(
|
|
824
881
|
collValues(mapGet(schemaMap, tableName)),
|
|
825
|
-
(changingColumnName) =>
|
|
882
|
+
(changingColumnName) =>
|
|
883
|
+
changingColumnName != rowIdColumnName &&
|
|
884
|
+
includeContentSubId(changingColumnName),
|
|
826
885
|
);
|
|
827
886
|
const rows = {};
|
|
828
887
|
const deleteRowIds = [];
|
|
@@ -838,6 +897,7 @@ const getCommandFunctions = (
|
|
|
838
897
|
rowIdColumnName,
|
|
839
898
|
changingColumnNames,
|
|
840
899
|
rows,
|
|
900
|
+
currentColumnNames,
|
|
841
901
|
);
|
|
842
902
|
await databaseExecuteCommand(
|
|
843
903
|
DELETE_FROM +
|
|
@@ -846,7 +906,10 @@ const getCommandFunctions = (
|
|
|
846
906
|
`AND${escapeId(rowIdColumnName)}NOT IN(${getPlaceholders(deleteRowIds)})`,
|
|
847
907
|
deleteRowIds,
|
|
848
908
|
);
|
|
849
|
-
} else if (
|
|
909
|
+
} else if (
|
|
910
|
+
isUndefined(contentSubIdSet) &&
|
|
911
|
+
collHas(schemaMap, tableName)
|
|
912
|
+
) {
|
|
850
913
|
await databaseExecuteCommand(
|
|
851
914
|
DELETE_FROM +
|
|
852
915
|
escapeId(tableName) +
|
|
@@ -985,7 +1048,13 @@ const createTabularPersister = (
|
|
|
985
1048
|
[
|
|
986
1049
|
tablesLoadConfig,
|
|
987
1050
|
tablesSaveConfig,
|
|
988
|
-
[
|
|
1051
|
+
[
|
|
1052
|
+
valuesLoad,
|
|
1053
|
+
valuesSave,
|
|
1054
|
+
valuesTableName,
|
|
1055
|
+
valuesLoadValueIds,
|
|
1056
|
+
valuesSaveValueIds,
|
|
1057
|
+
],
|
|
989
1058
|
],
|
|
990
1059
|
managedTableNames,
|
|
991
1060
|
querySchema,
|
|
@@ -1035,15 +1104,33 @@ const createTabularPersister = (
|
|
|
1035
1104
|
},
|
|
1036
1105
|
),
|
|
1037
1106
|
);
|
|
1107
|
+
const getValuesSubset = (values, valueIds, partial) =>
|
|
1108
|
+
objNew(
|
|
1109
|
+
partial == true
|
|
1110
|
+
? arrayFilter(
|
|
1111
|
+
objToArray(values, (value, valueId) => [valueId, value]),
|
|
1112
|
+
([valueId]) => arrayHas(valueIds, valueId),
|
|
1113
|
+
)
|
|
1114
|
+
: arrayFilter(
|
|
1115
|
+
arrayMap(valueIds, (valueId) => [valueId, values[valueId]]),
|
|
1116
|
+
([, value]) => !isUndefined(value),
|
|
1117
|
+
),
|
|
1118
|
+
);
|
|
1038
1119
|
const saveValues = async (values, partial) =>
|
|
1039
1120
|
valuesSave
|
|
1040
1121
|
? await saveTable(
|
|
1041
1122
|
valuesTableName,
|
|
1042
1123
|
DEFAULT_ROW_ID_COLUMN_NAME,
|
|
1043
|
-
{
|
|
1124
|
+
{
|
|
1125
|
+
[SINGLE_ROW_ID]: isUndefined(valuesSaveValueIds)
|
|
1126
|
+
? values
|
|
1127
|
+
: getValuesSubset(values, valuesSaveValueIds, partial),
|
|
1128
|
+
},
|
|
1044
1129
|
true,
|
|
1045
1130
|
true,
|
|
1046
1131
|
partial,
|
|
1132
|
+
void 0,
|
|
1133
|
+
valuesSaveValueIds,
|
|
1047
1134
|
)
|
|
1048
1135
|
: null;
|
|
1049
1136
|
const loadTables = async () =>
|
|
@@ -1063,9 +1150,14 @@ const createTabularPersister = (
|
|
|
1063
1150
|
);
|
|
1064
1151
|
const loadValues = async () =>
|
|
1065
1152
|
valuesLoad
|
|
1066
|
-
? (
|
|
1067
|
-
|
|
1068
|
-
|
|
1153
|
+
? (
|
|
1154
|
+
await loadTable(
|
|
1155
|
+
valuesTableName,
|
|
1156
|
+
DEFAULT_ROW_ID_COLUMN_NAME,
|
|
1157
|
+
void 0,
|
|
1158
|
+
valuesLoadValueIds,
|
|
1159
|
+
)
|
|
1160
|
+
)[SINGLE_ROW_ID]
|
|
1069
1161
|
: {};
|
|
1070
1162
|
const getPersisted = () =>
|
|
1071
1163
|
transaction(async () => {
|