> ## 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: QueryPageReader<Row, Kind>

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

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

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 [`QueryResultKind`](/api/modules/server#queryresultkind) = [`QueryResultKind`](/api/modules/server#queryresultkind) |

## Constructors

### constructor

• **new QueryPageReader**\<`Row`, `Kind`>(`pages`, `pageSize`)

#### Type parameters

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

#### Parameters

| Name | Type |
| :- | :- |
| `pages` | (`options`: [`QueryPageOptions`](/api/modules/browser#querypageoptions)) => `AsyncGenerator`\<[`QueryPage`](/api/modules/server#querypage)\<`Row`, `Kind`>, `any`, `unknown`> |
| `pageSize` | `number` |

## Accessors

### isReading

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

#### Returns

`boolean`

***

### isDone

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

#### Returns

`boolean`

## Methods

### setPageSize

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

#### Parameters

| Name | Type |
| :- | :- |
| `pageSize` | `number` |

#### Returns

`void`

***

### invalidate

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

#### Returns

`void`

***

### dispose

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

#### Returns

`void`

***

### next

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

#### Returns

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

***

### previous

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

#### Returns

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

***

### refresh

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

#### Parameters

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

#### Returns

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

***

### read

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

#### Parameters

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

#### Returns

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


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