@mcabreradev/filter
Version:
A powerful, SQL-like array filtering library for TypeScript and JavaScript with advanced pattern matching, MongoDB-style operators, deep object comparison, and zero dependencies
26 lines (25 loc) • 947 B
TypeScript
export interface PaginationState {
currentPage: number;
pageSize: number;
totalItems: number;
}
export interface PaginationResult<T> {
data: T[];
currentPage: number;
pageSize: number;
totalItems: number;
totalPages: number;
hasNextPage: boolean;
hasPreviousPage: boolean;
}
export interface PaginationActions {
nextPage: () => void;
previousPage: () => void;
goToPage: (page: number) => void;
setPageSize: (size: number) => void;
}
export declare function calculateTotalPages(totalItems: number, pageSize: number): number;
export declare function getPageData<T>(data: T[], currentPage: number, pageSize: number): T[];
export declare function createPaginationResult<T>(data: T[], _allData: T[], state: PaginationState): PaginationResult<T>;
export declare function validatePageNumber(page: number, totalPages: number): number;
export declare function validatePageSize(size: number): number;