I have the following code:
type callbackType = <T>(d: T) => void;
const callbackTest = <T>(val: T, callback: callbackType) => {
callback(val);
};
callbackTest("Hey", isAString => isAString)
Here I would expect Typescript to deduce that isAString has the type string, which it doesn't.
if i inline the callbackType like so:
const callbackTest = <T>(val: T, callback: (d: T) => void) => {
callback(val);
};
callbackTest("Hey", isAString => isAString)
Typescript can deduce that isAString has the type string.
I Tryed adding a <T> behind callbackType (callback: callbackType<T>), but this doesn't seem to be valid Typescript and gives the following error: Type 'callbackType' is not generic.
In my real code callbackType is a more complex function that I use multiple times, therefore inlining it wouldn't be ideal.
Any ideas how I could help Typescript figure out the type of isAString?