Generator functions are great at generating data. You can create all types of functions that take params to define what sort of data to generate. The simplest example using a "start" and an "end" parameter to generate a range of numbers.
function* range(start, end) { while (start < end) yield start++ } for (let value of range(0, 10)) { console.log(value) } console.log([...range(0, 100)])