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

return acao(target)

class ProxyFactory {

static create(objeto, props, acao) {
     // Retorne uma proxy desse objeto
    return new Proxy(objeto, {

//  Ação executada a cada get.
        get(target, prop, receiver) {

// Limitando a execução da ação para um método especifico.
            if(props.includes(prop) && typeof(target[prop]) == typeof(Function)) {

// Caso a propriedade esteja inclusa a troque pela função abaixo. 
                return function() {

                    console.log(`a propriedade "${prop}" foi interceptada`);
                    Reflect.apply(target[prop], target, arguments);
// LOCAL DA DÚVIDA
                    return acao(target);
                }
            }
            return Reflect.get(target, prop, receiver);       
        }
    })
}

Usei o código sem return e funcionou. Tem alguma diferença ?

1 resposta
solução!

Fala ai Lucas, tudo bem? Tem sim, caso a função da classe realize algum tipo de retorno você não vai conseguir pegá-lo, exemplo:

class Negociacao {
    pegaSaldo() {
        return 200
    }
}

Nesse caso você não ia conseguir pegar os 200 retornado pela função pegaSaldo.

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software