Transduce Gen
Create Transducers using ES6 Generators. Generator is created with a step function and each item in transformation is yielded through the generator. Calling step function will step value to next transformer in the pipeline. An optional completing function can be provided that will be called on transformer result.
Works with transduce, transducers-js or transducers.js.
Requires support for ES6 generators. If using Node.js run with node --harmony
and version 0.11 or better.
Examples
Mapping transducer loops infinitely and transforms each yieled item with mapping function.
Map
var gen = ;{ return ;} var doubled = ;tr;// [2,4,6]
Filter
Filter only calls step
if it passes a predicate.
var gen = ;{ return ;}{ return x%2 === 0;}var evenArray = 1 2 3 4 5 6;tr;// [2,4,6]
Take
Early termination (reduced) can be signalled by completing generator function.
var gen = ;{ return ;} tr)// [1, 2]
Push
Provide optional completing function to be called on result.
var gen = ;{ var args = slice; return ;}tr)// [1,2,3,4,5,6]