Boa noite, Prezados.
Ao criar o decorator inspect, ele recebe 3 parâmetros, quando decoro o metodo, eu nāo passo estes 3 parâmetros, eles vem de onde, quem prove eles? Node?
export function inspect_v2 (
target: any,
propertyKey: string,
descriptor: PropertyDescriptor
) {
const metodoOriginal = descriptor.value;
descriptor.value = function(...args:any[]){
console.log(`--- Metodo ${propertyKey}`);
console.log(`------ Parâmetro ${JSON.stringify(args)}`);
const retorno = metodoOriginal.apply(this,args);
console.log(`------ Retorno ${JSON.stringify(retorno)}`);
return retorno;
}
return descriptor;
}
@inspect_v2
@logarTempoDeExecucao()
public adiciona(): void {
const negociacao = Negociacao.criaDe(
this.inputData.value,
this.inputQuantidade.value,
this.inputValor.value
);
if (!this.ehDiaUtil(negociacao.data)) {
this.mensagemView
.update('Apenas negociações em dias úteis são aceitas');
return;
}
this.negociacoes.adiciona(negociacao);
this.limparFormulario();
this.atualizaView();
}
grato.