Module: operations
Functions
apply
▸ apply<T, TResult>(operator): (rows: AsyncIterable<T>) => AsyncGenerator<Awaited<TResult>, void, unknown>
Applies an operator on each element of the input iterable.
It's convenient when you want to turn the input iterable into a scalar, to be then consumed by subsequent stages of the pipeline as an iterable value.
Example
async function sumOperator(rows) {
let sum = 0
for await(const row of rows) {
sum += row
}
return sum
}
const result = new pipeline()
.add([1, 2, 3])
.add(apply(sumOperator))
.run()
// Prints 6
console.log(await first(result))
Type parameters
| Name |
|---|
T |
TResult |
Parameters
| Name | Type |
|---|---|
operator | (rows: AsyncIterable<T>) => Promise<TResult> |
Returns
fn
▸ (rows): AsyncGenerator<Awaited<TResult>, void, unknown>
Parameters
| Name | Type |
|---|---|
rows | AsyncIterable<T> |
Returns
AsyncGenerator<Awaited<TResult>, void, unknown>
cache
▸ cache<T>(source): () => AsyncGenerator<Awaited<T>, void, undefined>
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type |
|---|---|
source | AsyncIterable<T> |
Returns
fn
▸ (): AsyncGenerator<Awaited<T>, void, undefined>
Returns
AsyncGenerator<Awaited<T>, void, undefined>
filter
▸ filter<T>(f): (iterable: AsyncIterable<T>) => AsyncGenerator<Awaited<T>, void, unknown>
Filters the input iterable using the provided filter function.
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type |
|---|---|
f | (input: T) => boolean |
Returns
fn
the filtered iterable
▸ (iterable): AsyncGenerator<Awaited<T>, void, unknown>
Parameters
| Name | Type |
|---|---|
iterable | AsyncIterable<T> |
Returns
AsyncGenerator<Awaited<T>, void, unknown>
flatMap
▸ flatMap<T, TResult>(f): (iterable: AsyncIterable<T>) => AsyncGenerator<Awaited<TResult>, void, undefined>
Type parameters
| Name |
|---|
T |
TResult |
Parameters
| Name | Type |
|---|---|
f | (input: T) => AsyncIterable<TResult> |
Returns
fn
▸ (iterable): AsyncGenerator<Awaited<TResult>, void, undefined>
Parameters
| Name | Type |
|---|---|
iterable | AsyncIterable<T> |
Returns
AsyncGenerator<Awaited<TResult>, void, undefined>
group
▸ group<T, TKey, TResult>(createKey?, reduce?): Operation<T, [TKey, TResult]>
Type parameters
| Name | Type |
|---|---|
T | T |
TKey | T |
TResult | T[] |
Parameters
| Name | Type |
|---|---|
createKey | (i: T) => TKey |
reduce | (group: T[]) => TResult |
Returns
Operation<T, [TKey, TResult]>
join
▸ join<L, R, TResult>(operation, match?, merge?): (rows: AsyncIterable<L>) => AsyncGenerator<(Awaited<L> | Awaited<R>)[] | Awaited<TResult>, void, unknown>
Type parameters
| Name |
|---|
L |
R |
TResult |
Parameters
| Name | Type |
|---|---|
operation | Operation<R, R> |
match? | MatchCondition<L, R> |
merge? | MergeOperation<L, R, TResult> |
Returns
fn
▸ (rows): AsyncGenerator<(Awaited<L> | Awaited<R>)[] | Awaited<TResult>, void, unknown>
Parameters
| Name | Type |
|---|---|
rows | AsyncIterable<L> |
Returns
AsyncGenerator<(Awaited<L> | Awaited<R>)[] | Awaited<TResult>, void, unknown>
joinStrings
▸ joinStrings(separator?): <T>(iterable: AsyncIterable<T>) => AsyncGenerator<string, void, unknown>
Parameters
| Name | Type | Default value |
|---|---|---|
separator | string | '' |
Returns
fn
▸ <T>(iterable): AsyncGenerator<string, void, unknown>
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type |
|---|---|
iterable | AsyncIterable<T> |
Returns
AsyncGenerator<string, void, unknown>
map
▸ map<T, TResult>(f): (iterable: AsyncIterable<T>) => AsyncGenerator<Awaited<TResult>, void, unknown>
Type parameters
| Name |
|---|
T |
TResult |
Parameters
| Name | Type |
|---|---|
f | (input: T) => TResult |
Returns
fn
▸ (iterable): AsyncGenerator<Awaited<TResult>, void, unknown>
Parameters
| Name | Type |
|---|---|
iterable | AsyncIterable<T> |
Returns
AsyncGenerator<Awaited<TResult>, void, unknown>
skip
▸ skip<T>(number): (rows: AsyncIterable<T>) => AsyncGenerator<Awaited<T>, void, unknown>
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type |
|---|---|
number | number |
Returns
fn
▸ (rows): AsyncGenerator<Awaited<T>, void, unknown>
Parameters
| Name | Type |
|---|---|
rows | AsyncIterable<T> |
Returns
AsyncGenerator<Awaited<T>, void, unknown>
split
▸ split(separator?): (iterable: AsyncIterable<string | Buffer>) => AsyncIterable<string>
Parameters
| Name | Type |
|---|---|
separator | string | RegExp |
Returns
fn
▸ (iterable): AsyncIterable<string>
Parameters
| Name | Type |
|---|---|
iterable | AsyncIterable<string | Buffer> |
Returns
AsyncIterable<string>
take
▸ take<T>(number): (rows: AsyncIterable<T>) => AsyncGenerator<Awaited<T>, void, unknown>
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type |
|---|---|
number | number |
Returns
fn
▸ (rows): AsyncGenerator<Awaited<T>, void, unknown>
Parameters
| Name | Type |
|---|---|
rows | AsyncIterable<T> |
Returns
AsyncGenerator<Awaited<T>, void, unknown>
unique
▸ unique<T>(iterable): AsyncGenerator<Awaited<T>, void, unknown>
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type |
|---|---|
iterable | AsyncIterable<T> |
Returns
AsyncGenerator<Awaited<T>, void, unknown>
unwind
▸ unwind<TNested, T>(rows): AsyncIterable<TNested>
Type parameters
| Name | Type |
|---|---|
TNested | TNested |
T | extends AsyncIterable<TNested, T> |
Parameters
| Name | Type |
|---|---|
rows | AsyncIterable<T> |
Returns
AsyncIterable<TNested>