Expand
Expand<
T
>:T
extends (…args
) => infer R ? (…args
) =>Expand
<R
> :T
extends infer O ?{ [K in keyof O]: O[K] }
:never
Type parameters
• T
Expand<
T
>:T
extends (…args
) => infer R ? (…args
) =>Expand
<R
> :T
extends infer O ?{ [K in keyof O]: O[K] }
:never
• T