dwFakeOffsetPage<T extends DwDataObject> function

DwPageResult<T> dwFakeOffsetPage<T extends DwDataObject>(
  1. List<T> ordered,
  2. DwPageRequest<T> request,
  3. DwPageQuery? page
)

The page of ordered a DwPageRequest call asks for, as a DartWay server serves it: rows after the offset, at the size the request serves for the call, reading one row past the page to learn hasMore.

Implementation

DwPageResult<T> dwFakeOffsetPage<T extends DwDataObject>(
  List<T> ordered,
  DwPageRequest<T> request,
  DwPageQuery? page,
) {
  final query = page is DwOffsetQuery ? page : const DwOffsetQuery();
  final size = request.servedPageSize(query.pageSize);
  final rows = ordered.skip(query.offset).take(size + 1).toList();
  return DwPageResult<T>(rows.take(size).toList(), hasMore: rows.length > size);
}