Допустим, у меня есть этот модуль JavaScript, который я импортировал
class A {
set (k, v) {
}
}
И я реализую свой собственный класс на основе этого модуля
import A from 'module'
class B extends A {
set (k, o) {
super.set(k, o.v)
// other stuff...
}
}
Этот код работает нормально, но я портирую свою часть как машинопись (я новичок в машинописи).
К счастью, модуль, который я импортирую, имеет определение типов, что-то вроде
class A<T> {
set(k: string, v: T): void;
}
И я реализую это так
class T2 {
v: T1;
}
class B extends A<T1> {
set(k: string, o: T2): void {
super.set(k, o.v)
}
}
Но машинопись, похоже, не нравится. Я продолжаю получать эту ошибку
Type '(k: string, v: T2) => void' is not assignable to type '(k: string, value: T1): void;'
Не уверен, как мутировать аргументы этого метода. Как я могу получить действительный JavaScript из моего сниппета в машинописи?