- Automatic iteration with 
for await...ofloops - Manual page control with 
fetchNext()andfetchPrevious() - Metadata access for pagination tokens and counts
 - Error handling and rate limit detection
 - Support for both forward and backward pagination
 
Example
Type parameters
| Name | Description | 
|---|---|
T | The type of items being paginated | 
Hierarchy
- 
Paginator↳PostPaginator↳UserPaginator↳EventPaginator 
Implements
AsyncIterable<T>
Constructors
constructor
• new Paginator<T>(fetchPage): Paginator<T>
Creates a new paginator instance
Type parameters
| Name | 
|---|
T | 
Parameters
| Name | Type | Description | 
|---|---|---|
fetchPage | (token?: string) => Promise<PaginatedResponse<T>> | Function that fetches a page of data given a pagination token | 
Returns
Paginator<T>
Defined in
paginator.ts:87Accessors
items
•get items(): T[]
Get all fetched items
Returns
T[]
Defined in
paginator.ts:94meta
•get meta(): any
Get current pagination metadata
Returns
any
Defined in
paginator.ts:101includes
•get includes(): undefined | Record<string, any>
Get current includes data
Returns
undefined | Record<string, any>
Defined in
paginator.ts:108errors
•get errors(): undefined | any[]
Get current errors
Returns
undefined | any[]
Defined in
paginator.ts:115done
•get done(): boolean
Check if pagination is done
Returns
boolean
Defined in
paginator.ts:122rateLimited
•get rateLimited(): boolean
Check if rate limit was hit
Returns
boolean
Defined in
paginator.ts:129Methods
fetchNext
▸ fetchNext():Promise<void>
Fetch the next page and add items to current instance
This method fetches the next page of data and appends the items to the
current paginator instance. It updates the pagination state and metadata.
Returns
Promise<void>
Example
Throws
When the API request fails
Defined in
paginator.ts:153next
▸ next():Promise<Paginator<T>>
Get next page as a new instance
This method creates a new paginator instance that starts from the next page,
without affecting the current paginator’s state.
Returns
Promise<Paginator<T>>
New paginator instance for the next page
Example
Defined in
paginator.ts:208fetchPrevious
▸ fetchPrevious():Promise<void>
Fetch previous page (if supported)
Returns
Promise<void>
Defined in
paginator.ts:222previous
▸ previous():Promise<Paginator<T>>
Get previous page as a new instance
Returns
Promise<Paginator<T>>
Defined in
paginator.ts:257fetchLast
▸ fetchLast(count): Promise<void>
Fetch up to a specified number of additional items
Parameters
| Name | Type | 
|---|---|
count | number | 
Returns
Promise<void>
Defined in
paginator.ts:271reset
▸ reset():void
Reset paginator to initial state
Returns
void
Defined in
paginator.ts:285[iterator]
▸ [iterator]():Iterator<T, any, undefined>
Iterator for all fetched items
Returns
Iterator<T, any, undefined>
Defined in
paginator.ts:300[asyncIterator]
▸ [asyncIterator]():AsyncIterator<T, any, undefined>
Async iterator that fetches pages automatically
Returns
AsyncIterator<T, any, undefined>