If I create a custom generator, I can set the value/done as I see fit, but I believe I am going this wrong here using es6 generators as I can't seem to set the value/done as I want. When I set something, it all goes into the "value", but the generator's return "done: false" -- I am trying to force a "done: true"
var A = [
{id: 1, page: 'page one'},
{id: 2, page: 'page two'},
{id: 3, page: 'page three'},
{id: 4, page: 'page four'},
]
function* gen(iteree) {
let input = yield null
while(true)
input = yield iteree(input) ? iteree(input) : { done: true}
}
// this will be built out more, just showing a
// passing of a function here
let inter = (a) => {
return A[a]
}
let c = gen(inter)
console.log(c.next())
console.log(c.next(4)) // <-- **I want this to yield {value: null, done: true}**
but it yields: {value: {done: true}, done: false}