IndexOf() Bug in Script Block?

This script block code seems to crash the Block… any ideas?

output.text('# IndexOf() Bug?');

let str = "This is a test ...";

let positionOfIs = str.indexOf("is");

output.text(positionOfIs);

Good catch, thanks! We’ll get it fixed.

It looks like output.text is choking because positionOfIs is a number, but it expects a string. It works if you cast to a string:

output.text(`${positionOfIs}`);

Hmm, I’ve see cases where indexOf() is causing scripts to crash when output.text() is not being used. Perhaps I was not being specific enough about the data type in other places maybe?

Oh interesting. The block should never crash even if the script has bugs (i.e. it should just show an error message in the output section), so if you find other examples please keep posting here so we can get it fixed :slight_smile:

@Kasra,

Quick question - should fetch() work in Script Blocks? If so, simple GET or POST example kicking around?

1 Like

fetch() should work (although there’s a bug where the editor will complain, see Script Block - fetch bug?)

Here’s an example of a GET:

const response = await fetch('https://dog.ceo/api/breeds/list/all');
const json = await response.json();
output.inspect(json);
1 Like

@Shrey_Banga also posted a longer example with an API call to the OMDB

2 Likes