UNPKG

daisy-data-components

Version:

The "daisy-data-components" NPM package transforms general UI components from daisyUI into specialized "data components", such as Data Tables and Data Date Pickers, optimized for working with data-centric applications. It provides powerful functionality t

30 lines (28 loc) 962 B
export interface PaginationResult<T> { data: T[]; currentPage: number; totalItems: number; totalAbsoluteItems: number; totalPages: number; } export function paginate<T>(items: any[], pageSize: number): PaginationResult<T>[] { if (pageSize >= items.length || pageSize < 0) { pageSize = items.length } const totalPages = Math.ceil(items.length / pageSize); const result: PaginationResult<T>[] = []; for (let i = 1; i <= totalPages; i++) { const startIndex = (i - 1) * pageSize; const endIndex = i * pageSize; const paginatedData = items.slice(startIndex, endIndex); const paginationResult: PaginationResult<T> = { data: paginatedData, currentPage: i - 1, totalItems: paginatedData.length, totalAbsoluteItems: items.length, totalPages: totalPages }; result.push(paginationResult); } return result; }