49 lines
1.1 KiB
TypeScript
49 lines
1.1 KiB
TypeScript
interface Props<T> {
|
|
currentPage: number
|
|
totalPages: number
|
|
pageSize: number
|
|
totalElements: number;
|
|
content: T
|
|
}
|
|
|
|
export default class PaginationModel<T> {
|
|
private currentPage: number;
|
|
private totalPages: number;
|
|
private pageSize: number;
|
|
private totalElements: number;
|
|
private content: T;
|
|
|
|
constructor({
|
|
currentPage,
|
|
totalPages,
|
|
pageSize,
|
|
totalElements,
|
|
content,
|
|
}: Props<T>) {
|
|
this.currentPage = currentPage
|
|
this.totalPages = totalPages
|
|
this.pageSize = pageSize
|
|
this.totalElements = totalElements
|
|
this.content = content
|
|
}
|
|
|
|
getCurrentPage = () => this.currentPage
|
|
|
|
getTotalPages = () => this.totalPages
|
|
|
|
getPageSize = () => this.pageSize
|
|
|
|
getTotalElements = () => this.totalElements
|
|
|
|
getContent = () => this.content
|
|
|
|
static initialValue = () => {
|
|
return new PaginationModel<any>({
|
|
currentPage: 0,
|
|
totalPages: 0,
|
|
pageSize: 0,
|
|
totalElements: 0,
|
|
content: [],
|
|
})
|
|
};
|
|
} |