Turns out you can define types conditionally based on the type check against a different type. Let’s try it out on a fetch function that optionally takes a callback and can return either a void or a promise based on that callback.
Conditional Types page: https://www.typescriptlang.org/docs/handbook/2/conditional-types.html
Code: https://github.com/jherr/no-bs-ts/tree/master/episode-18
#typescript