type InputProject = Awaited<ReturnType<typeof fetchProjects>>[number];
type OutputProject = InputProject & {
budgetUsedHours: number;
};
type OptionalProject = InputProject & {
budgetUsedHours?: number;
};
function calculateSums(project: InputProject): OutputProject {
const p = project as unknown as OptionalProject;
p.budgetUsedHours= p.workstreams.reduce((acc: number, workstream) => acc + workstream.budgetHours, 0);
return p as unknown as OutputProject;
}
type InputProject = Awaited<ReturnType<typeof fetchProjects>>[number];
type OutputProject = InputProject & {
budgetUsedHours: number;
};
type OptionalProject = InputProject & {
budgetUsedHours?: number;
};
function calculateSums(project: InputProject): OutputProject {
const p = project as unknown as OptionalProject;
p.budgetUsedHours= p.workstreams.reduce((acc: number, workstream) => acc + workstream.budgetHours, 0);
return p as unknown as OutputProject;
}