UNPKG

3.31 kBTypeScriptView Raw
1/// <reference types="node" />
2import { OperatorAsyncFunction, UnaryFunction } from '../interfaces';
3import { Observable } from '../observer';
4/**
5 * This class serves as the base for all operations which support [Symbol.asyncIterator].
6 */
7export declare abstract class AsyncIterableX<T> implements AsyncIterable<T> {
8 abstract [Symbol.asyncIterator](signal?: AbortSignal): AsyncIterator<T>;
9 forEach(projection: (value: T, index: number, signal?: AbortSignal) => void | Promise<void>, thisArg?: any, signal?: AbortSignal): Promise<void>;
10 /** @nocollapse */
11 pipe<R>(...operations: UnaryFunction<AsyncIterable<T>, R>[]): R;
12 pipe<R>(...operations: OperatorAsyncFunction<T, R>[]): AsyncIterableX<R>;
13 pipe<R extends NodeJS.WritableStream>(writable: R, options?: {
14 end?: boolean;
15 }): R;
16}
17export declare type AsyncIterableInput<TSource> = AsyncIterable<TSource> | AsyncIterator<TSource> | Iterable<TSource | PromiseLike<TSource>> | ArrayLike<TSource> | PromiseLike<TSource> | Observable<TSource>;
18declare module '../asynciterable/asynciterablex' {
19 interface AsyncIterableX<T> {
20 pipe(): AsyncIterableX<T>;
21 pipe<A>(op1: OperatorAsyncFunction<T, A>): AsyncIterableX<A>;
22 pipe<A, B>(op1: OperatorAsyncFunction<T, A>, op2: OperatorAsyncFunction<A, B>): AsyncIterableX<B>;
23 pipe<A, B, C>(op1: OperatorAsyncFunction<T, A>, op2: OperatorAsyncFunction<A, B>, op3: OperatorAsyncFunction<B, C>): AsyncIterableX<C>;
24 pipe<A, B, C, D>(op1: OperatorAsyncFunction<T, A>, op2: OperatorAsyncFunction<A, B>, op3: OperatorAsyncFunction<B, C>, op4: OperatorAsyncFunction<C, D>): AsyncIterableX<D>;
25 pipe<A, B, C, D, E>(op1: OperatorAsyncFunction<T, A>, op2: OperatorAsyncFunction<A, B>, op3: OperatorAsyncFunction<B, C>, op4: OperatorAsyncFunction<C, D>, op5: OperatorAsyncFunction<D, E>): AsyncIterableX<E>;
26 pipe<A, B, C, D, E, F>(op1: OperatorAsyncFunction<T, A>, op2: OperatorAsyncFunction<A, B>, op3: OperatorAsyncFunction<B, C>, op4: OperatorAsyncFunction<C, D>, op5: OperatorAsyncFunction<D, E>, op6: OperatorAsyncFunction<E, F>): AsyncIterableX<F>;
27 pipe<A, B, C, D, E, F, G>(op1: OperatorAsyncFunction<T, A>, op2: OperatorAsyncFunction<A, B>, op3: OperatorAsyncFunction<B, C>, op4: OperatorAsyncFunction<C, D>, op5: OperatorAsyncFunction<D, E>, op6: OperatorAsyncFunction<E, F>, op7: OperatorAsyncFunction<F, G>): AsyncIterableX<G>;
28 pipe<A, B, C, D, E, F, G, H>(op1: OperatorAsyncFunction<T, A>, op2: OperatorAsyncFunction<A, B>, op3: OperatorAsyncFunction<B, C>, op4: OperatorAsyncFunction<C, D>, op5: OperatorAsyncFunction<D, E>, op6: OperatorAsyncFunction<E, F>, op7: OperatorAsyncFunction<F, G>, op8: OperatorAsyncFunction<G, H>): AsyncIterableX<H>;
29 pipe<A, B, C, D, E, F, G, H, I>(op1: OperatorAsyncFunction<T, A>, op2: OperatorAsyncFunction<A, B>, op3: OperatorAsyncFunction<B, C>, op4: OperatorAsyncFunction<C, D>, op5: OperatorAsyncFunction<D, E>, op6: OperatorAsyncFunction<E, F>, op7: OperatorAsyncFunction<F, G>, op8: OperatorAsyncFunction<G, H>, op9: OperatorAsyncFunction<H, I>): AsyncIterableX<I>;
30 pipe(...operations: OperatorAsyncFunction<any, any>[]): AsyncIterableX<{}>;
31 pipe<A extends NodeJS.WritableStream>(op1: A, options?: {
32 end?: boolean;
33 }): A;
34 }
35}