getDayOfWeek method
Implementation
DateTime getDayOfWeek(int dayOfWeek) {
assert(dayOfWeek.debugCheckIsValidTimetableDayOfWeek());
// Algorithm from https://en.wikipedia.org/wiki/ISO_week_date#`Calculating_an_ordinal_or_month_date_from_a_week_date`
final base = weekOfYear * DateTime.daysPerWeek + dayOfWeek;
final yearCorrection =
DateTimeTimetable.date(weekBasedYear, 1, 4).weekday + 3;
return DateTimeTimetable.date(weekBasedYear, 1, 1) +
(base - yearCorrection - 1).days;
}