processListInChunks<R> method

Future<R> processListInChunks<R>({
  1. required List<T> data,
  2. required FutureOr<R> processor(
    1. List<T> chunk,
    2. R? previousResult
    ),
  3. R? initialResult,
})

Processes a large list in chunks

Implementation

Future<R> processListInChunks<R>({
  required List<T> data,
  required FutureOr<R> Function(List<T> chunk, R? previousResult) processor,
  R? initialResult,
}) async {
  // Chunk the data
  final chunks = chunkList(data);

  // Process each chunk
  R? result = initialResult;
  for (final chunk in chunks) {
    result = await processor(chunk, result);
  }

  return result!;
}