Skip to content

Instantly share code, notes, and snippets.

@vldvel
Created February 28, 2018 15:47
Show Gist options
  • Save vldvel/b6e9c011aea63b1e636225356afa0f94 to your computer and use it in GitHub Desktop.
Save vldvel/b6e9c011aea63b1e636225356afa0f94 to your computer and use it in GitHub Desktop.
function * generator(arr) {
for (const i in arr) {
yield i;
yield yield;
yield(yield);
}
}
const gen = generator([0,1]);
gen.next(); // {value: "0", done: false}
gen.next('A'); // {value: undefined, done: false}
gen.next('A'); // {value: "A", done: false}
gen.next('A'); // {value: undefined, done: false}
gen.next('A'); // {value: "A", done: false}
gen.next(); // {value: "1", done: false}
gen.next('B'); // {value: undefined, done: false}
gen.next('B'); // {value: "B", done: false}
gen.next('B'); // {value: undefined, done: false}
gen.next('B'); // {value: "B", done: false}
gen.next(); // {value: undefined, done: true}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment