1.0.0 • Published 4 years ago
yrgo-schedule-fetcher-teeeest v1.0.0
Scheduele Parser for YRGO
Används för att parsea Schemat för WU20 och göra det till ett mer lättarbetat JSON format. Bör även även gå att parsea andra klassers schema som använder sig av RFC5545 formatet.
Installation
npm install YrgoSchedueleFetcher
alternativt,
yarn add YrgoSchedueleFetcher
API
YrgoScheduleFetcher baseras på Asynkrona operationer vilket innebär att varje operation returnerar ett
Promise<YrgoSchedule>
Därav måste ni använda async/await eller then() när ni anropar en av metoderna.
Json
YrgoSchedule är inget mer än en Array av JSON objekt, exempel:
{
"day": "Torsdag",
"date": "15",
"month": "Oktober",
"year": "2020",
"startTime": "13:00",
"endTime": "16:00",
"teacher": "Vincent Klaiber",
"lesson": "SQL / Datakällor "
}
ExempelAnvändning:
Hämta alla lektioner denna månaden som görs av Vincent och skriv ut det.
import {
filterBy,
getLessonsThisMonth,
getYrgoSchedule,
printSchedule,
} from './YrgoSchedule';
async function main() {
// Hämtar WU20 Schemat by default
const mySchedule = getYrgoSchedule();
// Hämtar lektioner för månaden
const monthlySchedule = getLessonsThisMonth(mySchedule);
// Filtrera ut alla som inte har Vincent som lärare
const vincentLessons = filterBy(
monthlySchedule,
'teacher',
'Vincent Klaiber'
);
// Pretty printar ut schemat
printSchedule(vincentLessons);
}
main();
Funktioner
Funktioner som stöjds är:
getYrgoSchedule(scheduleID: string) => Returnerar ett Promise<YrgoSchedule>
getLessonsToday(scheduele: Promise<YrgoSchedule>) -> Returnerar dagens lektioner som ett Promise<YrgoSchedule>
getLessonsThisWeek(scheduele: Promise<YrgoSchedule>) -> Returnerar alla lektioner för denna veckan som ett Promise<YrgoSchedule>
getRemainingLessonsInWeek(scheduele: Promise<YrgoSchedule>) -> Returnerar alla återstående lektioner för veckan som ett Promise<YrgoSchedule>
getLessonsThisMonth(scheduele: Promise<YrgoSchedule>) -> Returnerar alla lektioner för denna månaden som ett Promise<YrgoSchedule>
getRemainingLessonsInMonth(scheduele:Promise<YrgoSchedule>) -> Returnerar alla återstående lektioner för månaden som ett Promise<YrgoSchedule>
getLessonInX(scheduele: Promise<YrgoSchedule>, startDate: Date, endDate: Date) -> Returnerar alla lektioner mellan 2 Dates som ett Promise<YrgoSchedule>
filterBy(scheduele: Promise<YrgoSchedule>, property: string, value: string) -> Returnerar ett Promise<YrgoSchedule> baserat på property, samt värdet man vill filtrera med.
Andra Klassers Scheman
Vill man använda andra klassers Scheman t.ex. WU19, så behöver man bara passera ett Kalender ID för detta schemat, Hänvisning till hur man detta finns här: Hitta Calendar ID för andra klasser
1.0.0
4 years ago