Skip to content

Commit 3fe4fb6

Browse files
committed
[sqlite] Some saveTable refactoring 4
1 parent ab92ead commit 3fe4fb6

File tree

3 files changed

+13
-29
lines changed

3 files changed

+13
-29
lines changed

src/persisters/sqlite/commands.ts

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import {
1818
objNew,
1919
objValues,
2020
} from '../../common/obj';
21-
import {SINGLE_ROW_ID, escapeId} from './common';
2221
import {
2322
arrayFilter,
2423
arrayIsEmpty,
@@ -32,6 +31,7 @@ import {isUndefined, promiseAll} from '../../common/other';
3231
import {setAdd, setNew} from '../../common/set';
3332
import {Id} from '../../types/common';
3433
import {Table} from '../../types/store';
34+
import {escapeId} from './common';
3535

3636
export type Cmd = (sql: string, args?: any[]) => Promise<IdObj<any>[]>;
3737
type Schema = IdMap2<string>;
@@ -45,10 +45,6 @@ export const getCommandFunctions = (
4545
managedTableNames: string[],
4646
): [
4747
refreshSchema: () => Promise<Schema>,
48-
loadSingleRowTable: (
49-
tableName: string,
50-
rowIdColumnName: string,
51-
) => Promise<IdObj<any> | null>,
5248
loadTable: (tableName: string, rowIdColumnName: string) => Promise<Table>,
5349
saveTable: (
5450
tableName: string,
@@ -112,23 +108,6 @@ export const getCommandFunctions = (
112108
(_, name) => mapSet(schemaMap, name),
113109
);
114110

115-
const loadSingleRowTable = async (
116-
tableName: string,
117-
rowIdColumnName: string,
118-
): Promise<IdObj<any> | null> => {
119-
const rows = canSelect(tableName, rowIdColumnName)
120-
? await cmd(
121-
SELECT_STAR_FROM +
122-
escapeId(tableName) +
123-
WHERE +
124-
escapeId(rowIdColumnName) +
125-
'=?',
126-
[SINGLE_ROW_ID],
127-
)
128-
: [];
129-
return arrayIsEmpty(rows) ? null : objDel(rows[0], rowIdColumnName);
130-
};
131-
132111
const loadTable = async (
133112
tableName: string,
134113
rowIdColumnName: string,
@@ -273,7 +252,7 @@ export const getCommandFunctions = (
273252
}
274253
};
275254

276-
return [refreshSchema, loadSingleRowTable, loadTable, saveTable];
255+
return [refreshSchema, loadTable, saveTable];
277256
};
278257

279258
const upsert = async (

src/persisters/sqlite/json.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,17 @@ export const createJsonSqlitePersister = <ListeningHandle>(
1616
[storeTableName]: DefaultedJsonConfig,
1717
managedTableNames: string[],
1818
): Persister => {
19-
const [refreshSchema, loadSingleRowTable, , saveTable] = getCommandFunctions(
19+
const [refreshSchema, loadTable, saveTable] = getCommandFunctions(
2020
cmd,
2121
managedTableNames,
2222
);
2323

2424
const getPersisted = async (): Promise<[Tables, Values]> => {
2525
await refreshSchema();
2626
return jsonParse(
27-
((await loadSingleRowTable(storeTableName, DEFAULT_ROW_ID_COLUMN_NAME)) ??
28-
{})[STORE_COLUMN],
27+
(await loadTable(storeTableName, DEFAULT_ROW_ID_COLUMN_NAME))[
28+
SINGLE_ROW_ID
29+
]?.[STORE_COLUMN] as string,
2930
);
3031
};
3132

src/persisters/sqlite/tabular.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ export const createTabularSqlitePersister = <ListeningHandle>(
2121
]: DefaultedTabularConfig,
2222
managedTableNames: string[],
2323
): Persister => {
24-
const [refreshSchema, loadSingleRowTable, loadTable, saveTable] =
25-
getCommandFunctions(cmd, managedTableNames);
24+
const [refreshSchema, loadTable, saveTable] = getCommandFunctions(
25+
cmd,
26+
managedTableNames,
27+
);
2628

2729
const saveTables = async (tables: Tables) =>
2830
await promiseAll(
@@ -71,7 +73,9 @@ export const createTabularSqlitePersister = <ListeningHandle>(
7173

7274
const loadValues = async (): Promise<Values | null> =>
7375
valuesLoad
74-
? await loadSingleRowTable(valuesTableName, DEFAULT_ROW_ID_COLUMN_NAME)
76+
? (await loadTable(valuesTableName, DEFAULT_ROW_ID_COLUMN_NAME))[
77+
SINGLE_ROW_ID
78+
]
7579
: {};
7680

7781
const getPersisted = async (): Promise<[Tables, Values] | undefined> => {

0 commit comments

Comments
 (0)