renamed
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
export const calculateBmi = (height: number, weight: number) => {
|
||||
const bmi = weight / (height ^ 2);
|
||||
|
||||
if (bmi < 15) return "Very severely underweight";
|
||||
else if (bmi < 16) return "Severely underweight";
|
||||
else if (bmi < 18.5) return "Underweight";
|
||||
else if (bmi < 25) return "Normal";
|
||||
else if (bmi < 30) return "Overweight";
|
||||
else if (bmi < 35) return "Moderately obese";
|
||||
else if (bmi < 40) return "Severely obese";
|
||||
else return "Very severely obese";
|
||||
};
|
||||
|
||||
const parseArguments = (args: string[]): { value1: number; value2: number } => {
|
||||
if (args.length > 4) throw new Error("Not enough arguments");
|
||||
if (args.length < 4) throw new Error("Too many arguments");
|
||||
if (!isNaN(Number(args[2])) && !isNaN(Number(args[3])))
|
||||
return {
|
||||
value1: Number(args[2]),
|
||||
value2: Number(args[3]),
|
||||
};
|
||||
throw new Error("provied values are not numbers");
|
||||
};
|
||||
|
||||
export const bmiCalculator = () => {
|
||||
try {
|
||||
const { value1, value2 } = parseArguments(process.argv);
|
||||
const message = calculateBmi(value1, value2);
|
||||
console.log(message);
|
||||
} catch (err: unknown) {
|
||||
let errorMessage = "Something went wrong";
|
||||
if (err instanceof Error) errorMessage += " Error " + err.message;
|
||||
console.log(errorMessage);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user