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

Por que não arrow function?

Alguém pode me explicar com um pouco mais de detalhes por que arrow function não daria certo?

1 resposta
solução!

O grande ponto dessa questão é o this utilizado dentro da função:

const metodoOriginal = descriptor.value;
descriptor.value = function (...args: any) {
    const retorno = metodoOriginal.apply(this, args);
    return retorno;
}

O this é utilizado quando queremos utilizar algum contexto dinâmico nas nossas funções. Por exemplo, quando chamamos this.name dentro de um método de uma classe estamos informando que queremos utilizar o contexto da instância que o chamou. Contexto esse que é diferente para cada instância, pois os valores de suas propriedades são diferentes.

E as arrow functions não possuem this. Ou seja, o contexto da função é estático.

This em arrow function ou function no Javascript