every method

Iterable<Hora> every(
  1. int interval,
  2. TimePrecision precision, {
  3. Hora? until,
  4. int? count,
})

Generates a sequence of dates at the given precision interval.

Implementation

Iterable<Hora> every(
  int interval,
  TimePrecision precision, {
  Hora? until,
  int? count,
}) sync* {
  if (interval <= 0) {
    throw ArgumentError.value(interval, 'interval', 'Must be positive.');
  }

  var current = this;
  var generated = 0;

  while (true) {
    if (until != null && current.isAfter(until)) break;
    if (count != null && generated >= count) break;

    yield current;
    current = current.add(interval, precision.toUnit);
    generated++;
  }
}