Хорошо, у меня есть следующий сценарий:
type IHashFn = (arg: string) => number;
const hash: IHashFn = (arg) => {
return 42;
}
Пока все хорошо. Теперь я хочу, чтобы функция была обобщенной c.
const hash: <T> (arg: T) => number = (arg) => {
return 42;
}
Это работает. Но это не так:
type IHashFn<T> = (arg: T) => number;
const hash: <T> IHashFn<T> = (arg) => {
return 42;
}
Я не нашел способа успокоить компилятор TS. Использование интерфейсов вместо псевдонимов типов также не работает.
Примечание: я не хочу, чтобы hash
была реализацией для IHashFn<string>
, но также generic c.
Есть ли способ объявить универсальные c типы функций или интерфейсы в TypeScript вообще?