processDate method

  1. @override
DateTime processDate(
  1. DateTime date,
  2. DateDirection direction, {
  3. DateTime? limit,
  4. int? currentCount,
})
override

Continues iterating the every base process. It will skip currentCount times from the date.

If currentCount is null, it will be set to count.

Implementation

@override
DateTime processDate(
  DateTime date,
  DateDirection direction, {
  DateTime? limit,
  int? currentCount,
}) {
  assert(
    (currentCount == null) || (currentCount >= 0),
    'currentCount must be greater than or equal to 0',
  );
  if ((limit != null) &&
      (direction.isPrevious ? date.isBefore(limit) : date.isAfter(limit))) {
    throw DateTimeLimitReachedException(date: date, limit: limit);
  }
  currentCount ??= count;
  if (currentCount <= 0) return date;
  if (!direction.isPrevious) {
    return next(date, limit: limit, currentCount: currentCount - 1);
  }
  return previous(date, limit: limit, currentCount: currentCount - 1);
}