Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.31 KB | None | 0 0
  1. export type Discriminate<
  2. Union,
  3. Prop extends keyof Union,
  4. Discriminator extends Union[Prop],
  5. > = Union extends { [T in Prop]: Extract<Union[Prop], Discriminator> } ? Union : never;
  6.  
  7. export type DiscriminateByType<
  8. Union extends { type: any },
  9. D extends Union['type']
  10. > = Discriminate<Union, 'type', D>;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement