RecurrenceRule constructor
RecurrenceRule({})
Implementation
RecurrenceRule({
required this.frequency,
int interval = 1,
List<int>? bySecond,
List<int>? byMinute,
List<int>? byHour,
List<DayOfWeek?>? byDay,
List<int>? byMonthDay,
List<int>? byYearDay,
List<int>? byWeekNo,
List<int>? byMonth,
List<int>? bySetPosition,
this.weekStart,
this.until,
this.count,
}) : _interval = interval,
_byHour = byHour,
_byMinute = byMinute,
_bySecond = bySecond,
_byMonthDay = byMonthDay,
_byDay = byDay,
_byYearDay = byYearDay,
_byWeekNo = byWeekNo,
_byMonth = byMonth,
_bySetPosition = bySetPosition {
assert(_interval > 0);
assert(count == null || count! > 0);
assert(bySecond == null ||
(bySecond.isNotEmpty &&
bySecond.every((element) => element > 0 && element <= 60)));
assert(byMinute == null ||
(byMinute.isNotEmpty &&
byMinute.every((element) => element > 0 && element <= 60)));
assert(byHour == null ||
(byHour.isNotEmpty &&
byHour.every((element) => element > 0 && element <= 24)));
assert(byDay == null ||
(byDay.isNotEmpty && byDay.every((element) => element != null)));
assert(byMonthDay == null ||
(byMonthDay.isNotEmpty &&
byMonthDay.every((element) => element > 0 && element <= 31)));
assert(byYearDay == null ||
(byYearDay.isNotEmpty &&
byYearDay.every((element) => element > 0 && element <= 365)));
assert(byWeekNo == null ||
(byWeekNo.isNotEmpty &&
byWeekNo.every((element) => element > 0 && element <= 53)));
assert(byMonth == null ||
(byMonth.isNotEmpty &&
byMonth.every((element) => element > 0 && element <= 12)));
assert(bySetPosition == null ||
(bySetPosition.isNotEmpty &&
bySetPosition.every((element) => element > 0 && element <= 366)));
assert(byDay == null ||
(byDay.isNotEmpty && byDay.every((element) => element != null)));
}