Fui colocar o código do proposto pelo curso de criar um decorator de class conforme o exemplo:
export function meuDecoratorDeClasse() {
return function(constructor: any) {
// guarda o constructor original, pois iremos definir um novo
const original = constructor;
// cria um novo constructor. Como ele pode receber nenhum ou mais parâmetros, usamos ...args: any[]
const novo = function (...args: any[]) {
console.log("Criando uma instância com New: " + original.name);
// cria a instância da classe quando for chamado
return new original();
}
// importante! O prototype do novo constructor deve ser o mesmo do original
novo.prototype = original.prototype;
// retorna o novo constructor
return novo;
}
}
@meuDecoratorDeClasse()
export class NegociacaoController {
}
porem recebo esse erro no watch do typescript
app/ts/controllers/NegociacaoController.ts(5,1): error TS1238: Unable to resolve signature of class decorator when called as an expression.
[0] Type '(...args: any[]) => any' is not assignable to type 'typeof NegociacaoController'.
[0] Type '(...args: any[]) => any' provides no match for the signature 'new (): NegociacaoController'.
o que está errado.