@padrocha/uam-scraping
Version:
Scraping of teachers
52 lines (41 loc) • 982 B
TypeScript
interface uea {
key: string;
name: string;
}
interface teacherData {
name: string;
quality: number;
takeAgain: number;
difficulty: number;
students: number;
}
type hour = `${number}${number}:${number}${number}`;
interface time {
starts: hour | string;
ends: hour | string;
}
interface ueaInfo {
key: string;
teacher: string | teacherData;
group: string;
}
interface week {
monday: time | null;
tuesday: time | null;
wednesday: time | null;
thursday: time | null;
friday: time | null;
}
type ueaSchedule = ueaInfo & week;
type ueaData = Omit<ueaSchedule, 'teacher'> & { teacher: teacherData };
type day = keyof week;
type perDay = { [K in day]: string | null };
type weekByDay = { [hour: string]: perDay; };
interface schedule {
subjects_info: {
key: string;
teacher: string;
subject: string;
}[];
hours: weekByDay;
}