Всем привет!
Есть вот такой дженерик.
export type SomeDeclaration<ParamsData, ResponseData> = {
(params: ParamsData): SomeOtherType;
};
ResponseData
внутри нигде не использовали и тайпскрипт при компиляции проигнорирует ее.
Вот тут мы уже не сможем ее извлечь
type ExtractSomeDeclarationResponseDataType<T> = T extends SomeDeclaration<infer P, infer D>
? D
: any;
Если
ResponseData
продублировать внутри, то все заработает (пример ниже), но хочется найти более чистое решение.
export type SomeDeclaration<ParamsData, ResponseData> = {
(params: ParamsData): SomeOtherType;
_r: ResponseData
};
Какое решение можете предложить?
UPD Проблема наблюдается в 4 версии тайпскрипта