Skip to content

Commit 09bb127

Browse files
committed
refactor: extract flagged storage file loader
1 parent 7a2f89d commit 09bb127

2 files changed

Lines changed: 18 additions & 3 deletions

File tree

lib/storage.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
buildMetadataSection,
2222
} from "./storage/backup-metadata.js";
2323
import { formatStorageErrorHint } from "./storage/error-hints.js";
24+
import { loadFlaggedAccountsFromFile } from "./storage/flagged-storage-file.js";
2425
import {
2526
collectNamedBackups,
2627
type NamedBackupSummary,
@@ -507,9 +508,10 @@ function isCacheLikeBackupArtifactName(entryName: string): boolean {
507508
async function loadFlaggedAccountsFromPath(
508509
path: string,
509510
): Promise<FlaggedAccountStorageV1> {
510-
const content = await fs.readFile(path, "utf-8");
511-
const data = JSON.parse(content) as unknown;
512-
return normalizeFlaggedStorage(data);
511+
return loadFlaggedAccountsFromFile(path, {
512+
readFile: fs.readFile,
513+
normalizeFlaggedStorage,
514+
});
513515
}
514516

515517
type AccountsJournalEntry = {
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import type { FlaggedAccountStorageV1 } from "../storage.js";
2+
3+
export async function loadFlaggedAccountsFromFile(
4+
path: string,
5+
deps: {
6+
readFile: typeof import("node:fs").promises.readFile;
7+
normalizeFlaggedStorage: (data: unknown) => FlaggedAccountStorageV1;
8+
},
9+
): Promise<FlaggedAccountStorageV1> {
10+
const content = await deps.readFile(path, "utf-8");
11+
const data = JSON.parse(content) as unknown;
12+
return deps.normalizeFlaggedStorage(data);
13+
}

0 commit comments

Comments
 (0)