processMapInChunks<K, V, R> method

Future<R> processMapInChunks<K, V, R>({
  1. required Map<K, V> data,
  2. required FutureOr<R> processor(
    1. Map<K, V> chunk,
    2. R? previousResult
    ),
  3. R? initialResult,
})

Processes a large map in chunks

Implementation

Future<R> processMapInChunks<K, V, R>({
  required Map<K, V> data,
  required FutureOr<R> Function(Map<K, V> chunk, R? previousResult) processor,
  R? initialResult,
}) async {
  // Chunk the data
  final chunks = chunkMap(data);

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

  return result!;
}