Converta uma função de seta em uma função regular

No JavaScript ES6, uma expressão de função de seta é uma alternativa sintaticamente compacta a uma expressão de função regular.

Crie uma função que receba uma string que represente uma função e converta entre uma função de seta e uma função regular

  • Se a entrada for uma função regular, retorne uma função de seta equivalente.
  • Se a entrada for uma função de seta, retorne uma função regular equivalente.

Exemplos

// Function to arrow

"function () {}" ➞ "() => {}"

"function name() {}" ➞ "const name = () => {}"

"function name(str) { console.log(str); }" ➞ "const name = (str) => { console.log(str); }"
// Arrow to function

"() => {}" ➞ "function () {}"

"const name = () => {}" ➞ "function name() {}"

"let name = (str) => { console.log(str); }" ➞ "function name(str) { console.log(str); }"

Observações

  • O corpo da função pode ter várias linhas.
  • Tenha cuidado com os espaços; às vezes eles são opcionais.
  • Uma função de seta pode ser declarada usando const / let / var ou sem nada. No entanto, ao converter uma função regular em uma função de seta, use sempre const (a menos que seja uma função anônima).