Decorator Factory

Exemplo

Neste exemplo, trabalhamos com o conceito de Decorator Factory. Utilizamos o Decorator Factory para modificar o construtor da classe que é decorada.


@dataDecorator
class Pessoa{

    constructor(){
        console.log('Objeto criado')
    }
}

function dataDecorator(construtor: {new(...args: any[]): { } }){
    return class extends construtor{
        constructor(...args: any[]){
            console.log('início da execução...');
            console.log(`${new Date().getHours()}:${new Date().getMinutes()}`)
            super(args)
            console.log('fim da execução...');
        }
    }
}

Versão 5.3 - Todos os Direitos reservados