collect<T> function

Future<List<T>> collect<T>(
  1. Future<Page<T>> fetch(
    1. String? cursor
    ), {
  2. int maxPages = 10000,
})

Drain every page into a list. Prefer paginate for large result sets.

Implementation

Future<List<T>> collect<T>(
  Future<Page<T>> Function(String? cursor) fetch, {
  int maxPages = 10000,
}) async {
  final out = <T>[];
  await for (final item in paginate(fetch, maxPages: maxPages)) {
    out.add(item);
  }
  return out;
}