Michael Wilson
Michael Wilson

Reputation: 1915

How to extract nested type

How do I extract the type of a nested property? For example say I have this type:

type Example = {
   nested: string,  // how do I infer string here
   other: string
}

Such that I can extract out 'string' from Example.nested?

I have type myType = Pick<Example, "nested"> and that provides { nested: string }, but I want to infer the type of the property 'nested' (string, in this example) on that object.

Upvotes: 22

Views: 21713

Answers (1)

jcalz
jcalz

Reputation: 327624

You want to use a lookup type (also called an "indexed access type") which uses the square bracket syntax.

That is,

type myType = Example["nested"] // string

Hope that helps; good luck!

Link to code

Upvotes: 51

Related Questions