Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

956 - DeepPick #29201

Open
AAA611 opened this issue Jul 25, 2023 · 0 comments
Open

956 - DeepPick #29201

AAA611 opened this issue Jul 25, 2023 · 0 comments
Labels
956 answer Share answers/solutions to a question en in English

Comments

@AAA611
Copy link

AAA611 commented Jul 25, 2023

// your answers
type Get<T, K> = K extends keyof T ? Record<K, T[K]> : K extends `${infer F}.${infer Rest}` ? F extends keyof T ? Record<F, Get<T[F], Rest>> : never : never
type GetUnion<T, K> = K extends any ? Get<T, K> : never
type UnionToIntercetion<T> = (T extends any ? (a: T) => any : never) extends (a: infer F) => any ? F : never
type DeepPick<T, K> = UnionToIntercetion<GetUnion<T, K>>
@AAA611 AAA611 added answer Share answers/solutions to a question en in English labels Jul 25, 2023
@github-actions github-actions bot added the 956 label Jul 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
956 answer Share answers/solutions to a question en in English
Projects
None yet
Development

No branches or pull requests

1 participant