Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Decorator não executa

Bom dia. Alguém vê o porque meu decorator não executa?

View:

@logarTempoDeExecucao()
        update(model:T){
            let template = this.template(model);
            if(this._escapar)
                template = template.replace(/<script>[\s\S]*?<\/script>/g,'');
            this._elemento.html(this.template(model));
        }
        abstract template(model:T):string;

Decorator:

export function logarTempoDeExecucao() {

    return function(target: any, propertyKey: string, descriptor: PropertyDescriptor) {

            const metodoOriginal = descriptor.value;

            descriptor.value = function(...args: any[]) {
                console.log('-----------------------')
                console.log(`Parâmetros do método ${propertyKey}: ${JSON.stringify(args)}`);
                const t1 = performance.now();
                const resultado = metodoOriginal.apply(this, args);
                console.log(`Resultado do método: ${JSON.stringify(resultado)}` )
                const t2 = performance.now();
                console.log(`${propertyKey} demorou ${t2 - t1} ms`);
                console.log('-----------------------')
                return resultado;
            }
            return descriptor;
    }

}

Negociacoes:

import { Negociacao } from './Negociacao'
import { logarTempoDeExecucao } from '../helpers/decorators/index';
export class Negociacoes{
    private _negociacoes: Negociacao[] = [];

    @logarTempoDeExecucao()
    adiciona(negociacao: Negociacao):void{
        this._negociacoes.push(negociacao);
    }
1 resposta
solução!

faltava essa linha no construtor do negociação controller:

this._negociacoesView.update(this._negociacoes);

valeu