Skip to main content

Page Navigation Methods

nextPage()​

Signature​

nextPage(): number | null

Return Type​

number | null - Next page number or null if last page

Example​

new Paginator({totalItems: 100, currentPage: 5}).nextPage(); // 6
new Paginator({totalItems: 100, currentPage: 10}).nextPage(); // null

prevPage()​

Signature​

prevPage(): number | null

Return Type​

number | null - Previous page number or null if first page

Example​

new Paginator({totalItems: 100, currentPage: 5}).prevPage(); // 4
new Paginator({totalItems: 100, currentPage: 1}).prevPage(); // null

isFirstPage()​

Signature​

isFirstPage(): boolean

Return Type​

boolean - Whether current page is first

Example​

new Paginator({totalItems: 100, currentPage: 1}).isFirstPage(); // true

isLastPage()​

Signature​

isLastPage(): boolean

Return Type​

boolean - Whether current page is last

Example​

new Paginator({totalItems: 100, currentPage: 10}).isLastPage(); // true

hasPrevPage()​

Signature​

hasPrevPage(): boolean

Return Type​

boolean - Whether previous page exists

Example​

new Paginator({totalItems: 100, currentPage: 2}).hasPrevPage(); // true

hasNextPage()​

Signature​

hasNextPage(): boolean

Return Type​

boolean - Whether next page exists

Example​

new Paginator({totalItems: 100, currentPage: 9}).hasNextPage(); // true

firstPage()​

Signature​

firstPage(): number

Return Type​

number - First page number (always 1)

Example​

new Paginator({totalItems: 100}).firstPage(); // 1

lastPage()​

Signature​

lastPage(): number

Return Type​

number - Last page number

Example​

new Paginator({totalItems: 100}).lastPage(); // 10

pageList()​

Signature​

pageList(options?: PageListOptions): number[]

Parameters​

interface PageListOptions {
edgeCount?: number; // default: 1
siblingCount?: number; // default: 1
}

Return Type​

number[] - Array of page numbers for UI display

Behavior​

  • Always shows first/last edgeCount pages
  • Shows siblingCount pages around current page
  • Merges overlapping ranges

Example​

// For 10 total pages, current page 5:
new Paginator({totalItems: 100, currentPage: 5})
.pageList({edgeCount: 1, siblingCount: 1});
// Returns [1, 4, 5, 6, 10]