использовать его тип для вычисления типа результата и устанавливать ему дефолтное значение?
Поясню:
function foo<E extends Record<string, (transport: AxiosInstance, ...rest: any[]) => Promise<any>>>(
entries: E = defaultEntries
): InstanceType<typeof Api> & { [K in keyof E]: (...args: DropFirst<Parameters<E[K]>>) => ReturnType<E[K]> } {
const instance = new Api() as any;
return instance;
}
нужно, чтоб функция принимала необязательный entries - мап функций, возвращающих промис, а результат должен зависеть от переданного entries
при этом есть defaultEntries
если defaultEntries не указать - все ок, но если указать, ругается, что E could be instantiated with different subtype
А можно узнать, какую задачу вы пытаетесь решить?
мне нужно, чтоб метод getApi мог принимать entries из вне (для тестов), ограничивал их функциями, определенной сигнатуры и на их основе достраивал свой результат
Обсуждают сегодня