UNPKG

nextjs-ssr-paginator

Version:
35 lines (30 loc) 859 B
export const perPageDefault = 10 export interface PaginationProps { pagination: { totalRecords: number totalPages: number perPage: number currentPage: number nextPage: number | null } } export function prismaPaginationHelper(currentPage: number, perPage = perPageDefault) { const offset = (currentPage - 1) * perPage return { skip: offset, take: perPage, } } export function paginationHelper(totalRecords: number, currentPage: number, perPage = perPageDefault): PaginationProps { const totalPages = Math.ceil(totalRecords / perPage); const nextPage = currentPage < totalPages ? currentPage + 1 : null return { pagination: { currentPage, nextPage, perPage, totalRecords, totalPages } } }