loadNext method
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;
}
}