Ask Your Question
2

What is the method for obtaining the type of a union that is nested in TypeScript?

asked 2023-06-11 16:42:03 +0000

ladyg gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2023-06-11 16:53:01 +0000

bukephalos gravatar image

The method for obtaining the type of a union that is nested in TypeScript is to use a conditional type that checks if the input type is a union or not. If it is a union, the type of each element in the union is recursively obtained and returned in a new union. Here is an example:

type FlattenUnion<T> = T extends infer U ? U : never;

type NestedUnion = { a: string } | { b: number } | { c: boolean };

type FlatUnion = FlattenUnion<NestedUnion>; // { a: string } | { b: number } | { c: boolean }

In this example, NestedUnion is a type that represents a union of three different object types. By applying FlattenUnion to NestedUnion, the resulting type FlatUnion is a union of the individual property types from each object type.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2023-06-11 16:42:03 +0000

Seen: 9 times

Last updated: Jun 11 '23