If Type Util
I'd like to start by saying that I am doing this series to learn and understand better Typescript, so feel free to correct me or contact me.
A little challange, let's write an util If which accepts condition C, a truthy return type T, and a falsy return type F. C is expected to be either true or false while T and F can be any type.
type A = If<true, 'a', 'b'> // expected to be 'a'
type B = If<false, 'a', 'b'> // expected to be 'b'
This one is a simple one, but a good practice
type If<C extends boolean, T, F> = C extends true ? T : F
We know C is of type boolean so we make sure it extends it, remember, C is expected to be either true or false, so according with our requirements, if C is true we return our type T otherwise we return our falsy type F.
Thank you!