renamed
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
interface calculateExerciseResult {
|
||||
periodLength: number;
|
||||
trainingDays: number;
|
||||
success: boolean;
|
||||
rating: number;
|
||||
ratingDescription: string;
|
||||
target: number;
|
||||
average: number;
|
||||
}
|
||||
export const calculateExercise = (
|
||||
dailyExecise: number[],
|
||||
target: number
|
||||
): calculateExerciseResult => {
|
||||
const average =
|
||||
dailyExecise.reduce((prev, cur) => prev + cur) / (dailyExecise.length + 1);
|
||||
const success = average >= target ? true : false;
|
||||
|
||||
let rating: number, ratingDescription: string;
|
||||
if (average > target) {
|
||||
rating = 3;
|
||||
ratingDescription = "Good job";
|
||||
} else if (average > target * 0.7) {
|
||||
rating = 2;
|
||||
ratingDescription = "Could be better";
|
||||
} else {
|
||||
rating = 1;
|
||||
ratingDescription = "Very Bad";
|
||||
}
|
||||
|
||||
return {
|
||||
periodLength: dailyExecise.length + 1,
|
||||
trainingDays: dailyExecise.filter((el) => el > 0).length,
|
||||
average,
|
||||
target,
|
||||
success,
|
||||
rating,
|
||||
ratingDescription,
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user