splitUploadFileBatches<T> function
Splits files into upload batches of at most batchSize items.
When batchSize is null, returns a single batch containing all files.
Implementation
List<List<T>> splitUploadFileBatches<T>(List<T> files, int? batchSize) {
if (batchSize == null) {
return [files];
}
final batches = <List<T>>[];
for (var i = 0; i < files.length; i += batchSize) {
final end = i + batchSize < files.length ? i + batchSize : files.length;
batches.add(files.sublist(i, end));
}
return batches;
}