Skip to content

Commit c0cd038

Browse files
committed
Provide mapping functions for top level repo state models
1 parent 7f5548b commit c0cd038

File tree

3 files changed

+26
-17
lines changed

3 files changed

+26
-17
lines changed

extensions/ql-vscode/src/variant-analysis/repo-states-store/repo-states-domain-mapper.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,17 @@ import {
88
VariantAnalysisScannedRepositoryDownloadDto,
99
} from "./repo-states-dto";
1010

11-
export function mapRepoStateToDomainModel(
11+
export function mapRepoStatesToDomainModel(
12+
repoStates: Record<number, VariantAnalysisScannedRepositoryStateDto>,
13+
): Record<number, VariantAnalysisScannedRepositoryState> {
14+
return Object.fromEntries(
15+
Object.entries(repoStates).map(([key, value]) => {
16+
return [key, mapRepoStateToDomainModel(value)];
17+
}),
18+
);
19+
}
20+
21+
function mapRepoStateToDomainModel(
1222
repoState: VariantAnalysisScannedRepositoryStateDto,
1323
): VariantAnalysisScannedRepositoryState {
1424
return {

extensions/ql-vscode/src/variant-analysis/repo-states-store/repo-states-dto-mapper.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,17 @@ import {
88
VariantAnalysisScannedRepositoryStateDto,
99
} from "./repo-states-dto";
1010

11-
export function mapRepoStateToDto(
11+
export function mapRepoStatesToDto(
12+
repoStates: Record<number, VariantAnalysisScannedRepositoryState>,
13+
): Record<number, VariantAnalysisScannedRepositoryStateDto> {
14+
return Object.fromEntries(
15+
Object.entries(repoStates).map(([key, value]) => {
16+
return [key, mapRepoStateToDto(value)];
17+
}),
18+
);
19+
}
20+
21+
function mapRepoStateToDto(
1222
repoState: VariantAnalysisScannedRepositoryState,
1323
): VariantAnalysisScannedRepositoryStateDto {
1424
return {

extensions/ql-vscode/src/variant-analysis/repo-states-store/repo-states-store.ts

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,16 @@
11
import { outputJson, readJson } from "fs-extra";
22
import { VariantAnalysisScannedRepositoryState } from "../shared/variant-analysis";
33
import { VariantAnalysisScannedRepositoryStateDto } from "./repo-states-dto";
4-
import { mapRepoStateToDto } from "./repo-states-dto-mapper";
5-
import { mapRepoStateToDomainModel } from "./repo-states-domain-mapper";
4+
import { mapRepoStatesToDto } from "./repo-states-dto-mapper";
5+
import { mapRepoStatesToDomainModel } from "./repo-states-domain-mapper";
66

77
export const REPO_STATES_FILENAME = "repo_states.json";
88

99
export async function writeRepoStates(
1010
storagePath: string,
1111
repoStates: Record<number, VariantAnalysisScannedRepositoryState>,
1212
): Promise<void> {
13-
// Map from repoStates Domain type to the repoStates Data type
14-
const repoStatesData = Object.fromEntries(
15-
Object.entries(repoStates).map(([key, value]) => {
16-
return [key, mapRepoStateToDto(value)];
17-
}),
18-
);
19-
13+
const repoStatesData = mapRepoStatesToDto(repoStates);
2014
await outputJson(storagePath, repoStatesData);
2115
}
2216

@@ -29,12 +23,7 @@ export async function readRepoStates(
2923
VariantAnalysisScannedRepositoryStateDto
3024
> = await readJson(storagePath);
3125

32-
// Map from repoStates Data type to the repoStates Domain type
33-
const repoStates = Object.fromEntries(
34-
Object.entries(repoStatesData).map(([key, value]) => {
35-
return [key, mapRepoStateToDomainModel(value)];
36-
}),
37-
);
26+
const repoStates = mapRepoStatesToDomainModel(repoStatesData);
3827

3928
return repoStates;
4029
} catch (e) {

0 commit comments

Comments
 (0)