remix/data-schema · Function

View Source

variant

Summary

Create a discriminated-union schema.

The returned schema expects an object with a discriminator property and selects a variant schema based on that value.

Signature

function variant<key extends PropertyKey, variants extends Record<PropertyKey, Schema<any, any>>>(
  discriminator: key,
  variants: variants,
): Schema<unknown, InferOutput<variants[keyof variants]>>

Parameters

discriminator

The property name used to select a variant

variants

Returns

A schema that produces the selected variant output type