UNPKG

3.79 kBTypeScriptView Raw
1/// <reference types="node" />
2import { OperatorAsyncFunction } 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](): AsyncIterator<T>;
9 forEach(projection: (value: T, index: number) => void | Promise<void>, thisArg?: any): Promise<void>;
10 tee(): [ReadableStream<T>, ReadableStream<T>];
11 pipeTo(writable: WritableStream<T>, options?: PipeOptions): Promise<void>;
12 pipeThrough<R extends ReadableStream<any>>(duplex: {
13 writable: WritableStream<T>;
14 readable: R;
15 }, options?: PipeOptions): ReadableStream<any>;
16 private _DOMStream?;
17 private _getDOMStream;
18 static as(source: string): AsyncIterableX<string>;
19 static as<T extends AsyncIterableX<any>>(source: T): T;
20 static as<T>(source: AsyncIterableInput<T>): AsyncIterableX<T>;
21 static as<T>(source: T): AsyncIterableX<T>;
22 /** @nocollapse */
23 static from<TSource, TResult = TSource>(source: AsyncIterableInput<TSource>, selector?: (value: TSource, index: number) => TResult | Promise<TResult>, thisArg?: any): AsyncIterableX<TResult>;
24 /** @nocollapse */
25 static of<TSource>(...args: TSource[]): AsyncIterableX<TSource>;
26}
27export declare type AsyncIterableInput<TSource> = AsyncIterable<TSource> | Iterable<TSource | PromiseLike<TSource>> | ArrayLike<TSource> | PromiseLike<TSource> | Observable<TSource>;
28declare module '../asynciterable/asynciterablex' {
29 interface AsyncIterableX<T> {
30 pipe(): AsyncIterableX<T>;
31 pipe<A>(op1: OperatorAsyncFunction<T, A>): AsyncIterableX<A>;
32 pipe<A extends NodeJS.WritableStream>(op1: A, options?: any): A;
33 pipe<A, B>(op1: OperatorAsyncFunction<T, A>, op2: OperatorAsyncFunction<A, B>): AsyncIterableX<B>;
34 pipe<A, B, C>(op1: OperatorAsyncFunction<T, A>, op2: OperatorAsyncFunction<A, B>, op3: OperatorAsyncFunction<B, C>): AsyncIterableX<C>;
35 pipe<A, B, C, D>(op1: OperatorAsyncFunction<T, A>, op2: OperatorAsyncFunction<A, B>, op3: OperatorAsyncFunction<B, C>, op4: OperatorAsyncFunction<C, D>): AsyncIterableX<D>;
36 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>;
37 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>;
38 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>;
39 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>;
40 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>;
41 pipe(...operations: OperatorAsyncFunction<any, any>[]): AsyncIterableX<{}>;
42 }
43}
44
\No newline at end of file