From 2f9e9b1297c4ebeb981b3e9a4a64b69180762751 Mon Sep 17 00:00:00 2001 From: Razboy20 Date: Tue, 21 May 2024 20:59:08 -0500 Subject: [PATCH] refactor: Update getCreditHours function to handle additional cases (#222) * refactor: Update getCreditHours function to handle additional cases * style: fix prettier --- src/views/lib/CourseCatalogScraper.ts | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/views/lib/CourseCatalogScraper.ts b/src/views/lib/CourseCatalogScraper.ts index b8176c27..fb49e54d 100644 --- a/src/views/lib/CourseCatalogScraper.ts +++ b/src/views/lib/CourseCatalogScraper.ts @@ -122,11 +122,27 @@ export class CourseCatalogScraper { /** * Gets how many credit hours the course is worth - * @param number the course number, CS 314H + * @param courseNumber the course number, CS 314H * @return the number of credit hours the course is worth */ - getCreditHours(number: string): number { - return Number(number.split('')[0]); + getCreditHours(courseNumber: string): number { + let creditHours = Number(courseNumber.split('')[0]); + const lastChar = courseNumber.slice(-1); + + // eslint-disable-next-line default-case + switch (lastChar) { + case 'A': + case 'B': + creditHours /= 2; + break; + case 'X': + case 'Y': + case 'Z': + creditHours /= 3; + break; + } + + return creditHours; } /**