> ## 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.

# Interface: RelationIndexRange<Doc, Fields, Steps>

> Builds the index range of withIndex with the ordinary index-range rules: equalities on the index's fields in index order, then an optional lower bound and an optional upper bound on the next field.

[server](/api/modules/server).RelationIndexRange

Builds the index range of [withIndex](/api/classes/server.Relation#withindex) with the ordinary
index-range rules: equalities on the index's fields in index order, then
an optional lower bound and an optional upper bound on the next field.
Values are literals or declared arguments (`q.arg`).

## Type parameters

| Name | Type |
| :- | :- |
| `Doc` | `any` |
| `Fields` | extends readonly `string`\[] = `string`\[] |
| `Steps` | extends readonly [`RangeStep`](/api/modules/server#rangestep)\[] = \[] |

## Hierarchy

* [`RelationIndexRangeEnd`](/api/interfaces/server.RelationIndexRangeEnd)\<`Steps`>

  ↳ **`RelationIndexRange`**

## Properties

### \[rangeSteps]

• `Readonly` **\[rangeSteps]**: `Steps`

#### Inherited from

[RelationIndexRangeEnd](/api/interfaces/server.RelationIndexRangeEnd).[\[rangeSteps\]](/api/interfaces/server.RelationIndexRangeEnd#\[rangesteps])

## Methods

### eq

▸ **eq**\<`V`>(`field`, `value`): [`RelationIndexRange`](/api/interfaces/server.RelationIndexRange)\<`Doc`, [`Tail`](/api/modules/server#tail)\<`Fields`> & readonly `string`\[], \[...Steps, \{ `type`: `"Eq"` ; `field`: [`First`](/api/modules/server#first)\<`Fields`> ; `value`: `V`  }]>

#### Type parameters

| Name |
| :- |
| `V` |

#### Parameters

| Name | Type |
| :- | :- |
| `field` | [`First`](/api/modules/server#first)\<`Fields`> |
| `value` | `V` |

#### Returns

[`RelationIndexRange`](/api/interfaces/server.RelationIndexRange)\<`Doc`, [`Tail`](/api/modules/server#tail)\<`Fields`> & readonly `string`\[], \[...Steps, \{ `type`: `"Eq"` ; `field`: [`First`](/api/modules/server#first)\<`Fields`> ; `value`: `V`  }]>

***

### gt

▸ **gt**\<`V`>(`field`, `value`): [`RelationIndexUpperBound`](/api/interfaces/server.RelationIndexUpperBound)\<`Doc`, [`First`](/api/modules/server#first)\<`Fields`>, \[...Steps, \{ `type`: `"Gt"` ; `field`: [`First`](/api/modules/server#first)\<`Fields`> ; `value`: `V`  }]>

#### Type parameters

| Name |
| :- |
| `V` |

#### Parameters

| Name | Type |
| :- | :- |
| `field` | [`First`](/api/modules/server#first)\<`Fields`> |
| `value` | `V` |

#### Returns

[`RelationIndexUpperBound`](/api/interfaces/server.RelationIndexUpperBound)\<`Doc`, [`First`](/api/modules/server#first)\<`Fields`>, \[...Steps, \{ `type`: `"Gt"` ; `field`: [`First`](/api/modules/server#first)\<`Fields`> ; `value`: `V`  }]>

***

### gte

▸ **gte**\<`V`>(`field`, `value`): [`RelationIndexUpperBound`](/api/interfaces/server.RelationIndexUpperBound)\<`Doc`, [`First`](/api/modules/server#first)\<`Fields`>, \[...Steps, \{ `type`: `"Gte"` ; `field`: [`First`](/api/modules/server#first)\<`Fields`> ; `value`: `V`  }]>

#### Type parameters

| Name |
| :- |
| `V` |

#### Parameters

| Name | Type |
| :- | :- |
| `field` | [`First`](/api/modules/server#first)\<`Fields`> |
| `value` | `V` |

#### Returns

[`RelationIndexUpperBound`](/api/interfaces/server.RelationIndexUpperBound)\<`Doc`, [`First`](/api/modules/server#first)\<`Fields`>, \[...Steps, \{ `type`: `"Gte"` ; `field`: [`First`](/api/modules/server#first)\<`Fields`> ; `value`: `V`  }]>

***

### lt

▸ **lt**\<`V`>(`field`, `value`): [`RelationIndexRangeEnd`](/api/interfaces/server.RelationIndexRangeEnd)\<\[...Steps, \{ `type`: `"Lt"` ; `field`: [`First`](/api/modules/server#first)\<`Fields`> ; `value`: `V`  }]>

#### Type parameters

| Name |
| :- |
| `V` |

#### Parameters

| Name | Type |
| :- | :- |
| `field` | [`First`](/api/modules/server#first)\<`Fields`> |
| `value` | `V` |

#### Returns

[`RelationIndexRangeEnd`](/api/interfaces/server.RelationIndexRangeEnd)\<\[...Steps, \{ `type`: `"Lt"` ; `field`: [`First`](/api/modules/server#first)\<`Fields`> ; `value`: `V`  }]>

***

### lte

▸ **lte**\<`V`>(`field`, `value`): [`RelationIndexRangeEnd`](/api/interfaces/server.RelationIndexRangeEnd)\<\[...Steps, \{ `type`: `"Lte"` ; `field`: [`First`](/api/modules/server#first)\<`Fields`> ; `value`: `V`  }]>

#### Type parameters

| Name |
| :- |
| `V` |

#### Parameters

| Name | Type |
| :- | :- |
| `field` | [`First`](/api/modules/server#first)\<`Fields`> |
| `value` | `V` |

#### Returns

[`RelationIndexRangeEnd`](/api/interfaces/server.RelationIndexRangeEnd)\<\[...Steps, \{ `type`: `"Lte"` ; `field`: [`First`](/api/modules/server#first)\<`Fields`> ; `value`: `V`  }]>


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