tinyield4ts
v1.1.0
Published
A Minimalistic, extensible and lazy sequence implementation for Typescript and Javascript
Downloads
10
Maintainers
Readme
Tinyield4ts
A Minimalistic, extensible and lazy sequence implementation for Typescript and Javascript.
Usage
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);
Installation
$ npm i tinyield4ts
License
This project is licensed under Apache License, version 2.0