[Resolvido] Como tratar strings no execute script do builder?

Não estou conseguindo utilizar métodos com string no bot builder.
Veja o código:

function run(response) {
    response = JSON.parse(response)

    let personagens = response.results.filter(function(x) {
        let name = x.name.toLowerCase()
        let person = '{{person}}'.toLowerCase()
        return name.includes(person) //Linha do erro
    })

    if (personagens.length == 0) return 'notfound'
    
    return personagens
}

A variavel name é do tipo string, mas quando dou um typeof(name) ele diz que é um Object. Assim ocasionando um erro ao tentar utilizar o includes() em um Object.

Testando no babel ou no interpretador do navegador Chrome ele funciona normalmente.

1 Curtida

@Gabriel_Santos, a action de script do Builder suporta Ecmascript 5.1 (se não me engano).
Tente reescrever seu código usando apenas os recursos desta versão que acredito que deverá funcionar.

1 Curtida

Perfeito @andreminelli!

@Gabriel_Santos, todo o seu código precisa seguir a especificação Ecmascript 5.1 (conforme link abaixo)

http://www.ecma-international.org/ecma-262/5.1/

Lembre-se que algumas funções funcionam apenas em browsers e portanto não serão suportadas na ação de script.