У меня есть интерфейс, который выглядит следующим образом:
interface Res<R = any> {
first?(): Promise<R>;
second(arg: { response: R }): void;
}
Когда я создаю простой объект на основе указанного выше интерфейса, тип ответа не передается должным образом, как показано в примере ниже:
const entity: Res = {
first: () => Promise.resolve({ name: 'Bob' }),
second: (arg) => {
console.log(arg.response) // is "any", but should be "{ name: string }"
}
}
Возможно ли получить правильный тип для arg.response
на основе того, что метод first()
вернул?
TS Playground