class Base {
}
function addGet () {
return (target: any) => {
const original = target;
const constructor : any = function (...args) {
this.get = function () {
console.log('GET METHOD');
}
};
constructor.prototype = original.prototype;
return constructor;
};
}
@addGet()
class ExtendedBase extends Base {
}
(new ExtendedBase()).get(); //Error: TS2339: Property 'get' does not exist on type 'GlbServersResource'.
IDEA и компилятор ругаются, что метод get не объявлен, хотя он добавляется в декораторе и код отлично работает. Это бага компилятора или что-то криминальное делаю? Как это обойти?
P.S. Добавлять метод в тело ExtendedBase и использовать декораторы методов не предлагать