Skip to main content

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

NameType
operator(rows: AsyncIterable<T>) => Promise<TResult>

Returns

fn

▸ (rows): AsyncGenerator<Awaited<TResult>, void, unknown>

Parameters
NameType
rowsAsyncIterable<T>
Returns

AsyncGenerator<Awaited<TResult>, void, unknown>


cache

cache<T>(source): () => AsyncGenerator<Awaited<T>, void, undefined>

Type parameters

Name
T

Parameters

NameType
sourceAsyncIterable<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

NameType
f(input: T) => boolean

Returns

fn

the filtered iterable

▸ (iterable): AsyncGenerator<Awaited<T>, void, unknown>

Parameters
NameType
iterableAsyncIterable<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

NameType
f(input: T) => AsyncIterable<TResult>

Returns

fn

▸ (iterable): AsyncGenerator<Awaited<TResult>, void, undefined>

Parameters
NameType
iterableAsyncIterable<T>
Returns

AsyncGenerator<Awaited<TResult>, void, undefined>


group

group<T, TKey, TResult>(createKey?, reduce?): Operation<T, [TKey, TResult]>

Type parameters

NameType
TT
TKeyT
TResultT[]

Parameters

NameType
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

NameType
operationOperation<R, R>
match?MatchCondition<L, R>
merge?MergeOperation<L, R, TResult>

Returns

fn

▸ (rows): AsyncGenerator<(Awaited<L> | Awaited<R>)[] | Awaited<TResult>, void, unknown>

Parameters
NameType
rowsAsyncIterable<L>
Returns

AsyncGenerator<(Awaited<L> | Awaited<R>)[] | Awaited<TResult>, void, unknown>


joinStrings

joinStrings(separator?): <T>(iterable: AsyncIterable<T>) => AsyncGenerator<string, void, unknown>

Parameters

NameTypeDefault value
separatorstring''

Returns

fn

▸ <T>(iterable): AsyncGenerator<string, void, unknown>

Type parameters
Name
T
Parameters
NameType
iterableAsyncIterable<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

NameType
f(input: T) => TResult

Returns

fn

▸ (iterable): AsyncGenerator<Awaited<TResult>, void, unknown>

Parameters
NameType
iterableAsyncIterable<T>
Returns

AsyncGenerator<Awaited<TResult>, void, unknown>


skip

skip<T>(number): (rows: AsyncIterable<T>) => AsyncGenerator<Awaited<T>, void, unknown>

Type parameters

Name
T

Parameters

NameType
numbernumber

Returns

fn

▸ (rows): AsyncGenerator<Awaited<T>, void, unknown>

Parameters
NameType
rowsAsyncIterable<T>
Returns

AsyncGenerator<Awaited<T>, void, unknown>


split

split(separator?): (iterable: AsyncIterable<string | Buffer>) => AsyncIterable<string>

Parameters

NameType
separatorstring | RegExp

Returns

fn

▸ (iterable): AsyncIterable<string>

Parameters
NameType
iterableAsyncIterable<string | Buffer>
Returns

AsyncIterable<string>


take

take<T>(number): (rows: AsyncIterable<T>) => AsyncGenerator<Awaited<T>, void, unknown>

Type parameters

Name
T

Parameters

NameType
numbernumber

Returns

fn

▸ (rows): AsyncGenerator<Awaited<T>, void, unknown>

Parameters
NameType
rowsAsyncIterable<T>
Returns

AsyncGenerator<Awaited<T>, void, unknown>


unique

unique<T>(iterable): AsyncGenerator<Awaited<T>, void, unknown>

Type parameters

Name
T

Parameters

NameType
iterableAsyncIterable<T>

Returns

AsyncGenerator<Awaited<T>, void, unknown>


unwind

unwind<TNested, T>(rows): AsyncIterable<TNested>

Type parameters

NameType
TNestedTNested
Textends AsyncIterable<TNested, T>

Parameters

NameType
rowsAsyncIterable<T>

Returns

AsyncIterable<TNested>