Ну совсем избаваиться от дженерика никак не получится, по сути вариабельный параметр всё равно будет какой-то. Чтобы само выводило тип из переданной функции можно вот так написать: <F extends ApiMethod<PaginationResponse<any>>, T = getType<F>>(apiMethod: F) ... но надо ещё getType расписать. В целом извлечение generic-типа делается вот так type Box<T> = /* something with T */ type Unbox<B extends Box<any>> = B extends Box<infer T> ? T : never; если у тебя двойная вложенность, то надо две "функции типов" типа Unbox написать и скомпозировать
Спасибо за ответ, вроде стало понятней
Обсуждают сегодня