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

# union

## Summary

Create a schema that tries multiple schemas in order and returns the first success.

When `abortEarly` is disabled (default), issues are collected from all failing variants.

## Signature

```ts
function union<schemas extends Schema<any, any>[]>(
  schemas: schemas,
): Schema<unknown, InferOutput<schemas[number]>>

```

## Returns

A schema that produces the first successful variant output