Тип, который использует другой тип generi c, должен либо передавать конкретный тип, либо быть самим generi c.
И <T>Type<T>
не является допустимым синтаксисом.
type ConverterFunction<T> = (rawData: T) => [];
interface Options<T> {
converterFunction: ConverterFunction<T>; // TypeScript is happy
}
const options: Options<string> = {
converterFunction(aString) {
return []
}
}
Детская площадка
Если тип не назван, вы можете определить функцию с помощью универсального параметра c, но если он назван Кажется, это невозможно. Я спрашиваю, так ли это на самом деле
Все зависит от того, на каком уровне вы хотите, чтобы generi c прошел.
Если вы знаете это на Если вы используете тип, то он переходит к типу.
type ConverterFunction<T> = (rawData: T) => T[];
const fn: ConverterFunction<string> = a => [a]
fn('a') // ['a']
Или, если вы хотите, чтобы тип generi c определялся самой функцией, поместите его в функцию.
type ConverterFunction = <T>(rawData: T) => T[];
const fn: ConverterFunction = (a: string) => [a]
fn('a') // ['a']
После прочтения ваших комментариев звучит так, как будто вы хотите этот второй.