# 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!