У меня 3 интерфейса:
interface IA {
field1: string
}
interface IB extends A {
field2: number
}
interface IC {
test: string;
myInput: IA
}
и функция:
test(params: IC) {
...
}
Я бы хотел, чтобы мой метод мог получать в myInput
интерфейс ввода IB
, но я могу передавать только интерфейс IA
, даже если IB
получен из него.
Ошибка, которую я получаю:
error TS2322: Type '{ test: string; myInput: IA }' is not assignable to type 'IA'.
Object literal may only specify known properties, and 'test' does not exist in type 'IA'.
Я пытался использовать что-то вроде этого, чтобы определить myInput
:
T<T extends IA>
но он не компилируется.