A Minimalistic, extensible and lazy sequence implementation for Typescript and Javascript.
An auxiliary collapse() method, which merges series of adjacent elements is written
with Tinyield in the following way:
import{Query,Traverser}from'tinyield4ts';functioncollapse<T>(src: Query<T>): Traverser<T>{returnyld=>{letprev: T;src.forEach(item=>{if(prev===undefined||prev!==item){prev=item;yld(item);}});};}This method can be chained in a sequence like this:
constarrange=[7,7,8,9,9,11,11,7];constactual=[];Query.of(arrange).then(n=>collapse(n)).filter(n=>n%2!==0).forEach(actual.push);$ npm i tinyield4tsThis project is licensed under Apache License, version 2.0