Files
MinglarBackendNestJS/src/common/utils/pagination.util.ts
2025-11-10 15:05:01 +05:30

33 lines
601 B
TypeScript

import { PaginationDto, PaginationMetaDto } from '../dto/pagination.dto';
export function createPaginationMeta(
paginationDto: PaginationDto,
total: number,
): PaginationMetaDto {
const { page = 1, limit = 10 } = paginationDto;
const totalPages = Math.ceil(total / limit);
return {
page,
limit,
total,
totalPages,
hasNext: page < totalPages,
hasPrev: page > 1,
};
}
export function paginate<T>(
data: T[],
paginationDto: PaginationDto,
total: number,
) {
const meta = createPaginationMeta(paginationDto, total);
return {
data,
meta,
};
}