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.


2 comentários

@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.


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.

Comente