function* pipeline(...fns) {
let value = yield;
for (const fn of fns) {
value = yield fn(value);
}
return value;
}
const double = x => x * 2;
const addTen = x => x + 10;
const square = x => x * x;
const gen = pipeline(double, addTen, square);
gen.next(); // prime the generator
const r1 = gen.next(3);
const r2 = gen.next(r1.value);
const r3 = gen.next(r2.value);
console.log(r1.value, r2.value, r3.value); Post #3376
3.2K
CHALLENGE
- ❤ 6
- 👍 2
- 🔥 1