sliding method

Stream<List<T>> sliding(
  1. int windowSize
)

Implementation

Stream<List<T>> sliding(int windowSize) async* {
  final window = <T>[];
  await for (final item in this) {
    window.add(item);
    if (window.length > windowSize) window.removeAt(0);
    yield List.unmodifiable(window);
  }
}