> ## 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: VRecord<Type, Key, Value, IsOptional, FieldPaths>

> Not exported: an exported type refers to it.

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

Not exported: an exported type refers to it.

## Type parameters

| Name | Type |
| :- | :- |
| `Type` | `Type` |
| `Key` | extends [`Validator`](/api/modules/browser#validator)\<`string`, `"required"`, `any`> |
| `Value` | extends [`Validator`](/api/modules/browser#validator)\<`any`, `"required"`, `any`> |
| `IsOptional` | extends [`OptionalProperty`](/api/modules/browser#optionalproperty) = `"required"` |
| `FieldPaths` | extends `string` = `string` |

## Hierarchy

* `BaseValidator`\<`Type`, `IsOptional`, `FieldPaths`>

  ↳ **`VRecord`**

## Constructors

### constructor

• **new VRecord**\<`Type`, `Key`, `Value`, `IsOptional`, `FieldPaths`>(`«destructured»`)

#### Type parameters

| Name | Type |
| :- | :- |
| `Type` | `Type` |
| `Key` | extends [`Validator`](/api/modules/browser#validator)\<`string`, `"required"`, `any`> |
| `Value` | extends [`Validator`](/api/modules/browser#validator)\<`any`, `"required"`, `any`> |
| `IsOptional` | extends [`OptionalProperty`](/api/modules/browser#optionalproperty) = `"required"` |
| `FieldPaths` | extends `string` = `string` |

#### Parameters

| Name | Type |
| :- | :- |
| `«destructured»` | `Object` |
| › `isOptional` | `IsOptional` |
| › `key` | `Key` |
| › `value` | `Value` |

#### Overrides

BaseValidator\&lt;Type, IsOptional, FieldPaths\&gt;.constructor

## Properties

### type

• `Readonly` **type**: `Type`

#### Inherited from

BaseValidator.type

***

### fieldPaths

• `Readonly` **fieldPaths**: `FieldPaths`

#### Inherited from

BaseValidator.fieldPaths

***

### isOptional

• `Readonly` **isOptional**: `IsOptional`

#### Inherited from

BaseValidator.isOptional

***

### isConvexValidator

• `Readonly` **isConvexValidator**: `true`

#### Inherited from

BaseValidator.isConvexValidator

***

### key

• `Readonly` **key**: `Key`

***

### value

• `Readonly` **value**: `Value`

***

### kind

• `Readonly` **kind**: `"record"`

## Accessors

### json

• `get` **json**(): [`ValidatorJSON`](/api/modules/browser#validatorjson)

#### Returns

[`ValidatorJSON`](/api/modules/browser#validatorjson)

#### Overrides

BaseValidator.json

## Methods

### optional

▸ **optional**(): [`VRecord`](/api/classes/browser.VRecord)\<`undefined` | `Type`, `Key`, `Value`, `"optional"`, `FieldPaths`>

#### Returns

[`VRecord`](/api/classes/browser.VRecord)\<`undefined` | `Type`, `Key`, `Value`, `"optional"`, `FieldPaths`>

#### Overrides

BaseValidator.optional

***

### asOptional

▸ **asOptional**(): [`VRecord`](/api/classes/browser.VRecord)\<`undefined` | `Type`, `Key`, `Value`, `"optional"`, `FieldPaths`>

#### Returns

[`VRecord`](/api/classes/browser.VRecord)\<`undefined` | `Type`, `Key`, `Value`, `"optional"`, `FieldPaths`>

#### Overrides

BaseValidator.asOptional


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