Я пытаюсь реализовать декоратор журналирования в машинописном тексте, но я могу переназначить descriptor.value
Я компилирую с target: "es6" и с включенным экспериментальным Decorator и emitDecoratorMetadata, я добавил MethodDecorator иобщая подпись, но я не могу повторно присвоить значение дескриптору
export function log(configs: any): MethodDecorator {
return <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>): TypedPropertyDescriptor<T> | void => {
debugger;
const originalMethod = descriptor.value;
descriptor.value = (...args: any): any => {
console.log('ENTRY ');
console.dir(args);
const ret = originalMethod.apply(target, args);
console.log('EXIT ');
console.dir(ret);
return ret
}
return descriptor;
}
}
, это должно позволить мне создать функцию оболочки журнала, но в строке
descriptor.value = (...args: any): any => {
Я получаю эту ошибку:
Тип '(... args: any) => any' нельзя назначить типу 'T'.ts(2322)