chunk<T> static method

List<List<T>> chunk<T>(
  1. List<T> items,
  2. int chunk
)

Implementation

static List<List<T>> chunk<T>(List<T> items, int chunk) {
  if (chunk < 0) {
    throw ArgumentException.invalidOperationArguments(
      "chunk",
      reason: 'chunk size must be greater than 0',
    );
  }

  final result = <List<T>>[];

  for (var i = 0; i < items.length; i += chunk) {
    final end = (i + chunk < items.length) ? i + chunk : items.length;
    result.add(items.sublist(i, end));
  }

  return result;
}