13 lines
407 B
JavaScript
13 lines
407 B
JavaScript
export function paginate(data, page, pageSize) {
|
|
const pageStart = pageSize * Math.max(0, page - 1);
|
|
const pageEnd = pageSize * page;
|
|
const pageData = data.slice(pageStart, pageEnd);
|
|
const partialPage = (data.length % pageSize) !== 0;
|
|
const total = Math.floor(data.length / pageSize) + (partialPage ? 1 : 0);
|
|
return {
|
|
page: pageData,
|
|
total,
|
|
prev: page > 1,
|
|
next: pageEnd < data.length,
|
|
};
|
|
};
|