diff --git a/services/departments-terms-scraper/src/index.ts b/services/departments-terms-scraper/src/index.ts index 76829a17..3026dafb 100644 --- a/services/departments-terms-scraper/src/index.ts +++ b/services/departments-terms-scraper/src/index.ts @@ -1,4 +1,4 @@ -import { load } from "cheerio"; +import { CheerioAPI, load } from "cheerio"; import fetch from "cross-fetch"; async function fetchWebSoc() { @@ -7,9 +7,7 @@ async function fetchWebSoc() { return load(body); } -export async function getDepartments(): Promise { - const $ = await fetchWebSoc(); - +async function getDepartments($: CheerioAPI): Promise { const departments: string[] = []; $('select[name="Dept"] option').each((_index, element) => { const deptText = $(element).text().trim(); @@ -22,9 +20,7 @@ export async function getDepartments(): Promise { return departments; } -export async function getTerms(): Promise { - const $ = await fetchWebSoc(); - +async function getTerms($: CheerioAPI): Promise { const terms: string[] = []; $('select[name="YearTerm"] option').each((_index, element) => { const termText = $(element).text().trim(); @@ -33,3 +29,14 @@ export async function getTerms(): Promise { return terms; } + +async function getDepartmentsTerms() { + const $ = await fetchWebSoc(); + + const terms = await getTerms($); + const departments = await getDepartments($); + + return { departments, terms }; +} + +export default getDepartmentsTerms();