#typescript
Вопрос:
Можно ли получить тип возвращаемой функции, которая возвращает другую функцию?
const creator = (deps: CreatorDependencies) => () => {
return {
foo: 1,
bar: 2,
};
}
Я ожидаю получить это
{ foo: number; bar: number; }
Комментарии:
1. Какой ожидаемый результат для приведенного выше кода?
2. @AlirezaAhmadi Я обновил вопрос этим, спасибо!
Ответ №1:
Это пример использования утилиты TypeScript ReturnType<Тип><Тип>.
type CreatorReturn = ReturnType<ReturnType<typeof creator>>
ReturnType<typeof creator>
дает вам тип функции, возвращающей ваш объект, а перенос ее в другой ReturnType<>
дает вам необходимый тип объекта.
Комментарии:
1. Я совсем забыл, что могу вложить тип возврата, спасибо!