@herlinus/coloquent
Version:
Library for retrieving model objects from a JSON-API, with a fluent syntax inspired by Laravel Eloquent.
27 lines • 1.02 kB
JavaScript
import { PaginationSpec } from "./PaginationSpec";
import { QueryParam } from './../QueryParam';
export class PageBasedPaginationSpec extends PaginationSpec {
constructor(pageNumberParamName, pageSizeParamName, pageLimit) {
super();
this.queryParams = [];
this.pageNumberParamName = pageNumberParamName;
this.pageSizeParamName = pageSizeParamName;
this.pageLimit = pageLimit;
}
getPaginationParameters() {
this.queryParams = [];
if (this.pageNumber !== undefined) {
this.queryParams.push(new QueryParam(`${this.pageNumberParamName}`, this.pageNumber));
this.queryParams.push(new QueryParam(`${this.pageSizeParamName}`, this.pageLimit));
}
return this.queryParams;
}
setPage(page) {
page = Math.max(page, 1);
this.pageNumber = page;
}
setPageLimit(pageLimit) {
this.pageLimit = pageLimit;
}
}
//# sourceMappingURL=PageBasedPaginationSpec.js.map