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]