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
>