You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
567 B
JavaScript

"use strict";
module.exports = function generatorLoopSync(generator, callback = (value) => value) {
let lastResult = { done: false };
let lastValue;
while (lastResult.done === false) {
lastResult = generator.next(lastValue);
lastValue = (lastResult.done === false)
? callback(lastResult.value)
: lastResult.value;
}
return lastValue;
};
function* testGen() {
let array = [];
array.push(yield 1);
array.push(yield 2);
array.push(yield 3);
return array;
}
let result = module.exports(testGen(), (number) => number * 2);
console.log(result);