Type alias UnionToArray<Target, Result>

UnionToArray<Target, Result>: IsUnion<Target> extends true
    ? UnionToArray<Exclude<Target, PopUnion<Target>>, [PopUnion<Target>, ...Result]>
    : [Target, ...Result]

UnionToArray

Type Parameters

  • Target

    The union to convert

  • Result extends unknown[] = []

Desc

Convert a union to an array

Returns

An array

Example

type Union = { a: string } | { b: number };
type Array = UnionToArray<Union>; // [{ a: string }, { b: number }]