Kit
Type aliases

GetDiscriminatedUnionVariantContent

GetDiscriminatedUnionVariantContent<TUnion, TDiscriminatorProperty, TDiscriminatorValue> = Omit<GetDiscriminatedUnionVariant<TUnion, TDiscriminatorProperty, TDiscriminatorValue>, TDiscriminatorProperty>

Extracts a variant from a discriminated union without its discriminator property.

Type Parameters

Type ParameterDescription
TUnion extends DiscriminatedUnion<TDiscriminatorProperty>The discriminated union type.
TDiscriminatorProperty extends stringThe property used as the discriminator.
TDiscriminatorValue extends TUnion[TDiscriminatorProperty]The specific variant to extract.

Example

type Message =
  | { __kind: 'Quit' }
  | { __kind: 'Write'; fields: [string] }
  | { __kind: 'Move'; x: number; y: number };
 
type MoveContent = GetDiscriminatedUnionVariantContent<Message, '__kind', 'Move'>;
// -> { x: number; y: number }

On this page