windowedWithStep method

Iterable<Iterable<E>> windowedWithStep(
  1. int size,
  2. int step, {
  3. bool partialWindows = false,
})

Groups the elements in the list into a list of lists, each of the same size, moving iterator by step.

Implementation

Iterable<Iterable<E>> windowedWithStep(int size, int step,
    {bool partialWindows = false}) sync* {
  for (var i = 0; i < length - 1; i += step) {
    if (partialWindows) {
      yield getRange(i, i + size);
    } else {
      if (i + size <= length) {
        yield getRange(i, i + size);
      }
    }
  }
}