next method
Implementation
CronTime next([DateTime? startAt]) {
var _date = _defaultDateTime(startAt);
if (seconds?.isNotEmpty == true) {
_date = _date.add(Duration(seconds: 1));
} else {
_date = _date.add(Duration(minutes: 1));
}
while (true) {
if (months?.isNotEmpty == true &&
_months.contains(_date.month) == false) {
_date = _inc(_date, _DateTimeSegment.month);
continue;
}
if (daysOfWeek?.isNotEmpty == true &&
_daysOfWeek.contains(_date.weekday) == false) {
_date = _inc(_date, _DateTimeSegment.day);
continue;
}
if (daysOfMonth?.isNotEmpty == true &&
_daysOfMonth.contains(_date.day) == false) {
_date = _inc(_date, _DateTimeSegment.day);
continue;
}
if (hours?.isNotEmpty == true && _hours.contains(_date.hour) == false) {
_date = _inc(_date, _DateTimeSegment.hour);
continue;
}
if (minutes?.isNotEmpty == true &&
_minutes.contains(_date.minute) == false) {
_date = _inc(_date, _DateTimeSegment.minute);
continue;
}
return CronTime(time: _date, schedule: this);
}
}