chunkList method
Chunks a large list into smaller parts
Implementation
List<List<T>> chunkList(List<T> data) {
final chunks = <List<T>>[];
// Calculate the chunk size in items
// Assume each item is roughly 100 bytes
final itemsPerChunk = (chunkSize / 100).ceil();
// Calculate the number of chunks
final numChunks = (data.length / itemsPerChunk).ceil();
// Split the data into chunks
for (int i = 0; i < numChunks; i++) {
final start = i * itemsPerChunk;
final end = (i + 1) * itemsPerChunk;
final chunk = data.sublist(start, end > data.length ? data.length : end);
chunks.add(chunk);
}
logger?.info(
'Chunked list of ${data.length} items into ${chunks.length} chunks',
);
return chunks;
}