import { Enumerable } from "https://deno.land/x/proc@0.20.32/mod3.ts";
Enumerable wrapper for AsyncIterable
.
Use the factory function enumerate to create new instances.
Properties
Take the head of the enumeration.
This operation is equivalent to take(1)
and consumes the enumeration.
Convert the output to text lines.
Note that this should probably only be used with small data. Consider chunkedLines to improve performance with larger data.
Methods
Map the sequence from one type to another, concurrently.
Results are returned in order.
Map the sequence from one type to another, concurrently.
Items are iterated out of order. This allows maximum concurrency at all times, but the output order cannot be assumed to be the same as the input order.
Transform the iterable from one type to another with an opportunity to catch and handle errors.
Unzip a collection of [A, B]
into Enumerable<A>
and Enumerable<B>
.
Note that this operations uses tee, so it will use memory during the iteration.
Example
const [a, b] = enumerate([[1, "A"], [2, "B"], [3, "C"]]).unzip();
// a is number[] -> [1, 2, 3]
// b is string[] -> ["A", "B", "C"]
Write all data to the writer.
Example
Write some numbers to stdout
.
range({to: 99})
.map(n => n.toString())
.transform(toBytes)
.writeTo(Deno.stdout.writable, {noclose: true});