---
title: "record"
source: "https://github.com/remix-run/remix/blob/8905f3943706e1f53696ab83e70a84873cabfc90/packages/data-schema/src/lib/schema.ts#L829"
---

# 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