chunk<T> static method

List<List<T>> chunk<T>(
  1. Iterable<T> list,
  2. int size
)

Splits list into chunks of size elements.

Implementation

static List<List<T>> chunk<T>(Iterable<T> list, int size) {
  if (size <= 0) throw ArgumentError('size must be positive');
  final source = list.toList();
  final result = <List<T>>[];
  for (var i = 0; i < source.length; i += size) {
    final end = i + size > source.length ? source.length : i + size;
    result.add(source.sublist(i, end));
  }
  return result;
}