---
title: record
source: https://github.com/remix-run/remix/blob/remix@3.0.0-beta.3/packages/data-schema/src/lib/schema.ts#L779
---

# record

## Summary

Create a schema that validates a record (object map) by validating each key and value.

## Signature

```ts
function record<
  keyInput,
  keyOutput extends PropertyKey,
  valueInput,
  valueOutput,
>(
  keySchema: Schema<keyInput, keyOutput>,
  valueSchema: Schema<valueInput, valueOutput>,
): Schema<unknown, Record<keyOutput, valueOutput>>;

```

## Parameters

### `keySchema`

Schema used to validate and transform each key

### `valueSchema`

Schema used to validate and transform each value

## Returns

A schema that produces a record of validated keys and values