interface Props { currentPage: number totalPages: number pageSize: number totalElements: number; content: T } export default class PaginationModel { private currentPage: number; private totalPages: number; private pageSize: number; private totalElements: number; private content: T; constructor({ currentPage, totalPages, pageSize, totalElements, content, }: Props) { 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({ currentPage: 0, totalPages: 0, pageSize: 0, totalElements: 0, content: [], }) }; }