Provide mapping functions for top level repo state models
This commit is contained in:
@@ -8,7 +8,17 @@ import {
|
||||
VariantAnalysisScannedRepositoryDownloadDto,
|
||||
} from "./repo-states-dto";
|
||||
|
||||
export function mapRepoStateToDomainModel(
|
||||
export function mapRepoStatesToDomainModel(
|
||||
repoStates: Record<number, VariantAnalysisScannedRepositoryStateDto>,
|
||||
): Record<number, VariantAnalysisScannedRepositoryState> {
|
||||
return Object.fromEntries(
|
||||
Object.entries(repoStates).map(([key, value]) => {
|
||||
return [key, mapRepoStateToDomainModel(value)];
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
function mapRepoStateToDomainModel(
|
||||
repoState: VariantAnalysisScannedRepositoryStateDto,
|
||||
): VariantAnalysisScannedRepositoryState {
|
||||
return {
|
||||
|
||||
@@ -8,7 +8,17 @@ import {
|
||||
VariantAnalysisScannedRepositoryStateDto,
|
||||
} from "./repo-states-dto";
|
||||
|
||||
export function mapRepoStateToDto(
|
||||
export function mapRepoStatesToDto(
|
||||
repoStates: Record<number, VariantAnalysisScannedRepositoryState>,
|
||||
): Record<number, VariantAnalysisScannedRepositoryStateDto> {
|
||||
return Object.fromEntries(
|
||||
Object.entries(repoStates).map(([key, value]) => {
|
||||
return [key, mapRepoStateToDto(value)];
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
function mapRepoStateToDto(
|
||||
repoState: VariantAnalysisScannedRepositoryState,
|
||||
): VariantAnalysisScannedRepositoryStateDto {
|
||||
return {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { outputJson, readJson } from "fs-extra";
|
||||
import { VariantAnalysisScannedRepositoryState } from "../shared/variant-analysis";
|
||||
import { VariantAnalysisScannedRepositoryStateDto } from "./repo-states-dto";
|
||||
import { mapRepoStateToDto } from "./repo-states-dto-mapper";
|
||||
import { mapRepoStateToDomainModel } from "./repo-states-domain-mapper";
|
||||
import { mapRepoStatesToDto } from "./repo-states-dto-mapper";
|
||||
import { mapRepoStatesToDomainModel } from "./repo-states-domain-mapper";
|
||||
|
||||
export const REPO_STATES_FILENAME = "repo_states.json";
|
||||
|
||||
@@ -10,13 +10,7 @@ export async function writeRepoStates(
|
||||
storagePath: string,
|
||||
repoStates: Record<number, VariantAnalysisScannedRepositoryState>,
|
||||
): Promise<void> {
|
||||
// Map from repoStates Domain type to the repoStates Data type
|
||||
const repoStatesData = Object.fromEntries(
|
||||
Object.entries(repoStates).map(([key, value]) => {
|
||||
return [key, mapRepoStateToDto(value)];
|
||||
}),
|
||||
);
|
||||
|
||||
const repoStatesData = mapRepoStatesToDto(repoStates);
|
||||
await outputJson(storagePath, repoStatesData);
|
||||
}
|
||||
|
||||
@@ -29,12 +23,7 @@ export async function readRepoStates(
|
||||
VariantAnalysisScannedRepositoryStateDto
|
||||
> = await readJson(storagePath);
|
||||
|
||||
// Map from repoStates Data type to the repoStates Domain type
|
||||
const repoStates = Object.fromEntries(
|
||||
Object.entries(repoStatesData).map(([key, value]) => {
|
||||
return [key, mapRepoStateToDomainModel(value)];
|
||||
}),
|
||||
);
|
||||
const repoStates = mapRepoStatesToDomainModel(repoStatesData);
|
||||
|
||||
return repoStates;
|
||||
} catch (e) {
|
||||
|
||||
Reference in New Issue
Block a user