Pessoal, não entendi o motivo pelo o qual as mensagens do log não estão sendo feitas. Alguém poderia dar uma ajudinha?
export function logarTempoDeExecucao(emSegundos: boolean = false) {
return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {
const metodoOriginal = descriptor.value;
descriptor.value = function (...args: any[]) {
let unidade = 'ms';
let divisor = 1;
if (emSegundos) {
unidade = 's';
divisor = 1000;
}
console.log('-------------------------');
console.log(`Parâmetros passados para o método ${propertyKey}: ${JSON.stringify(args)}`);
const t1 = performance.now();
const retorno = metodoOriginal.apply(this, args);
const t2 = performance.now();
console.log(`O retorno do método ${propertyKey} é ${JSON.stringify(retorno)}`);
console.log(`O método ${propertyKey} demorou ${(t2 - t1)/divisor} ${unidade}`);
return retorno;
}
return descriptor;
}
}
Também verifiquei no TS.Config o experimentalDecorators:
{
"compilerOptions": {
"target": "ES6",
"outDir": "app/js",
"noEmitOnError": true,
"noImplicitAny": true,
"removeComments": true,
"module": "system",
"strictNullChecks": true,
"experimentalDecorators": true,
},
"include": [
"app/ts/**/*"
]
}
O meu index de chamada do logarTempoDeExecucao:
export * from './logarTempoDeExecucao';
Como também o import do NegociacaoController, Negociacoes e View:
import { logarTempoDeExecucao } from '../helpers/decorators/index';
Não estou conseguindo identificar o que pode estar faltando. Simplesmente quando adiciono uma Negociação, não registra nada no console.