@lagoshny/ngx-hateoas-client
Version:
This client used to develop `Angular 12+` applications working with RESTfulll server API with HAL/JSON response type (supports server implementation by Spring HATEOAS)
62 lines (61 loc) • 2.31 kB
TypeScript
import { ResourceCollection } from './resource-collection';
import { BaseResource } from './base-resource';
import { Observable } from 'rxjs';
import { PageData, Sort, SortedPageParam } from '../declarations';
/**
* Collection of resources with pagination.
*/
export declare class PagedResourceCollection<T extends BaseResource> extends ResourceCollection<T> {
private readonly selfLink;
private readonly nextLink;
private readonly prevLink;
private readonly firstLink;
private readonly lastLink;
readonly totalElements: number;
readonly totalPages: number;
readonly pageNumber: number;
readonly pageSize: number;
/**
* Create a new paged resource collection from resource collection with the page data.
*
* @param resourceCollection collection that will be paged
* @param pageData contains data about characteristics of the page.
*/
constructor(resourceCollection: ResourceCollection<T>, pageData?: PageData);
hasFirst(): boolean;
hasLast(): boolean;
hasNext(): boolean;
hasPrev(): boolean;
first(options?: {
useCache: true;
}): Observable<PagedResourceCollection<T>>;
last(options?: {
useCache: true;
}): Observable<PagedResourceCollection<T>>;
next(options?: {
useCache: true;
}): Observable<PagedResourceCollection<T>>;
prev(options?: {
useCache: true;
}): Observable<PagedResourceCollection<T>>;
page(pageNumber: number, options?: {
useCache: true;
}): Observable<PagedResourceCollection<T>>;
size(size: number, options?: {
useCache: true;
}): Observable<PagedResourceCollection<T>>;
sortElements(sortParam: Sort, options?: {
useCache: true;
}): Observable<PagedResourceCollection<T>>;
/**
* Perform query with custom page data.
* That allows you change page size, current page or sort options.
*
* @param params contains data about new characteristics of the page.
* @param options (optional) additional options that will be applied to the request
* @throws error when required params are not valid or when passed inconsistent data
*/
customPage(params: SortedPageParam, options?: {
useCache: true;
}): Observable<PagedResourceCollection<T>>;
}