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'; function collapse<T>(src: Query<T>): Traverser<T> { return yld => { let prev: T; src.forEach(item => { if (prev === undefined || prev !== item) { prev = item; yld(item); } }); }; }
This method can be chained in a sequence like this:
const arrange = [7, 7, 8, 9, 9, 11, 11, 7]; const actual = []; Query.of(arrange) .then(n => collapse(n)) .filter(n => n % 2 !== 0) .forEach(actual.push);
$ npm i tinyield4ts
This project is licensed under Apache License, version 2.0