module@warp-drive/experiments/pagination @experimentalInterface InfinitePaginationState<RT =
Interface InfinitePaginationState<RT = unknown, E = unknown>
ts
interface InfinitePaginationState<RT = unknown, E = unknown> extends SharedPaginationState<RT, E> {
readonly data: Iterable<ContentItem<RT>>;
readonly hasNext: boolean;
readonly hasPrevious: boolean;
loadNext: () => Promise<RT | null>;
loadPrev: () => Promise<RT | null>;
readonly nextRequest: Future<RT> | null;
readonly pages: Iterable<Readonly<PageCache<RT, E>>>;
readonly previousRequest: Future<RT> | null;
readonly totalPages: number;
adoptPage(request: Future<RT>): Promise<RT | null>;
}The infinite (accumulated view) surface of a PaginationState: render data, grow it with loadNext/loadPrev. This is what the <Paginate /> component yields in 'infinite' mode.
Extends
SharedPaginationState<RT,E>
Type Parameters
RT
RT = unknown
E
E = unknown
Methods
adoptPage()
ts
adoptPage(request: Future<RT>): Promise<RT | null>;See PaginationState.adoptPage.
Parameters
request
Future<RT>
Returns
Promise<RT | null>
Inherited from
SharedPaginationState.adoptPage
Properties
data
ts
readonly data: Iterable<ContentItem<RT>>;See PaginationState.data.
hasNext
ts
readonly hasNext: boolean;hasPrevious
ts
readonly hasPrevious: boolean;See PaginationState.hasPrevious.
loadNext
ts
loadNext: () => Promise<RT | null>;Returns
Promise<RT | null>
loadPrev
ts
loadPrev: () => Promise<RT | null>;Returns
Promise<RT | null>
nextRequest
ts
readonly nextRequest: Future<RT> | null;See PaginationState.nextRequest.
pages
ts
readonly pages: Iterable<Readonly<PageCache<RT, E>>>;previousRequest
ts
readonly previousRequest: Future<RT> | null;See PaginationState.previousRequest.
totalPages
ts
readonly totalPages: number;See PaginationState.totalPages.