Я практиковался в изучении typescript и не могу создать декоратор для метода класса
function LogClass(constructor: Function) {
console.log(constructor.name)
}
function LogMethod(
target: any,
key: string,
descriptor: PropertyDescriptor
) {
console.log(target, key, descriptor)
}
@LogClass
class Plane {
private id: number
constructor(id: number) {
this.id = id
}
@LogMethod
getId() {
return this.id
}
}
Возникает вот такая ошибка:
Не удается разрешить сигнатуру декоратора метода при вызове в качестве выражения.
Среда выполнения вызовет декоратор с аргументами 2 , но декоратор ожидает 3 .ts(1241)
main.ts(8, 3): Не указан аргумент для "descriptor".
Версия typescript 5.8.3, пробовал менять на 4 но не помогло. Подскажите, пожалуйста, в чём проблема?