> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Class: AnswerPageReader<Row, Kind>

> One page in flight and a bounded history of accepted cursor boundaries.

[browser](/api/modules/browser).AnswerPageReader

One page in flight and a bounded history of accepted cursor boundaries.
Failure never advances the boundary; changing presentation never runs a query.

## Type parameters

| Name | Type |
| :- | :- |
| `Row` | `Record`\<`string`, [`Value`](/api/modules/values#value)> |
| `Kind` | extends [`AnswerKind`](/api/modules/server#answerkind) = [`AnswerKind`](/api/modules/server#answerkind) |

## Constructors

### constructor

• **new AnswerPageReader**\<`Row`, `Kind`>(`pages`, `page_size`, `row_count?`)

#### Type parameters

| Name | Type |
| :- | :- |
| `Row` | `Record`\<`string`, [`Value`](/api/modules/values#value)> |
| `Kind` | extends [`AnswerKind`](/api/modules/server#answerkind) = [`AnswerKind`](/api/modules/server#answerkind) |

#### Parameters

| Name | Type |
| :- | :- |
| `pages` | (`options`: [`AnswerPageOptions`](/api/modules/browser#answerpageoptions)) => `AsyncGenerator`\<`Readonly`\<\{ `rows`: readonly `Kind` extends `"complete"` ? `Row` : [`SnapshotRow`](/api/modules/server#snapshotrow)\<`Row`>\[] ; `next_cursor`: `null` \| `string`  }>, `any`, `unknown`> |
| `page_size` | `number` |
| `row_count?` | `number` |

## Accessors

### isReading

• `get` **isReading**(): `boolean`

#### Returns

`boolean`

***

### isDone

• `get` **isDone**(): `boolean`

#### Returns

`boolean`

## Methods

### setPageSize

▸ **setPageSize**(`page_size`): `void`

#### Parameters

| Name | Type |
| :- | :- |
| `page_size` | `number` |

#### Returns

`void`

***

### invalidate

▸ **invalidate**(): `void`

#### Returns

`void`

***

### dispose

▸ **dispose**(): `void`

#### Returns

`void`

***

### next

▸ **next**(): `Promise`\<`undefined` | [`AnswerPageLocation`](/api/modules/browser#answerpagelocation)\<`Row`, `Kind`>>

#### Returns

`Promise`\<`undefined` | [`AnswerPageLocation`](/api/modules/browser#answerpagelocation)\<`Row`, `Kind`>>

***

### previous

▸ **previous**(): `Promise`\<`undefined` | [`AnswerPageLocation`](/api/modules/browser#answerpagelocation)\<`Row`, `Kind`>>

#### Returns

`Promise`\<`undefined` | [`AnswerPageLocation`](/api/modules/browser#answerpagelocation)\<`Row`, `Kind`>>

***

### refresh

▸ **refresh**(`signal?`): `Promise`\<`undefined` | [`AnswerPageLocation`](/api/modules/browser#answerpagelocation)\<`Row`, `Kind`>>

#### Parameters

| Name | Type |
| :- | :- |
| `signal?` | `AbortSignal` |

#### Returns

`Promise`\<`undefined` | [`AnswerPageLocation`](/api/modules/browser#answerpagelocation)\<`Row`, `Kind`>>

***

### read

▸ **read**(`pageNumber`, `signal?`): `Promise`\<`undefined` | [`AnswerPageLocation`](/api/modules/browser#answerpagelocation)\<`Row`, `Kind`>>

#### Parameters

| Name | Type |
| :- | :- |
| `pageNumber` | `number` |
| `signal?` | `AbortSignal` |

#### Returns

`Promise`\<`undefined` | [`AnswerPageLocation`](/api/modules/browser#answerpagelocation)\<`Row`, `Kind`>>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.