TypeScript Generics Workshop (7 exercises)
Problem

Restricting Generic Argument Types

In this exercise, we start with the returnWhatIPassIn function from the previous exercise. It has the T and it's basically returning whatever we pass in:

But now our test is saying it should only allow strings to be passed in.

Loading exercise

Transcript

[0:00] [0: 00] In this exercise, we have our returnWhatIPassIn function from the previous exercise. We have our T, and it's basically returning what if we pass in, which is really nice.
[0:09] [0: 09] Now our test is saying it should only allow strings to be passed in. This means that we want to actually constrain the type of T to make sure it's only a string.

[0:19] [0: 19] We could of course do this, where we could say, "OK, you can pass in a string here," but actually, you end up with a being a string instead of the exact thing that you're passing in.

[0:28] [0: 28] Your job is to find a way and find a method of doing this syntax so that the thing that we pass in must be a string but still gets inferred as its literal type.