loadNext method

Future<PaginationResult<T>> loadNext()

Loads the next page of items.

Implementation

Future<PaginationResult<T>> loadNext() async {
  if (_loading || !_hasMore) {
    return PaginationResult(items: _items, hasMore: _hasMore);
  }
  _loading = true;
  _page += 1;
  try {
    final pageItems = await fetcher(_page, pageSize);
    _items.addAll(pageItems);
    _hasMore = pageItems.length == pageSize;
    return PaginationResult(
        items: List.unmodifiable(_items), hasMore: _hasMore);
  } finally {
    _loading = false;
  }
}