///
export declare type AnyIterable = Iterable | AsyncIterable;
export declare function batch(size: number): CurriedBatchResult;
export declare function batch>(size: number, iterable: M): UnwrapAnyIterableArray;
export declare function buffer(size: number): CurriedBufferResult;
export declare function buffer>(size: number, iterable: M): UnwrapAnyIterable;
export declare function collect>(iterable: M): UnwrapToPromiseOrAsyncIterable;
export declare function concat[]>(...iterables: I): Iterable>;
export declare function concat[]>(...iterables: I): AsyncIterable>;
export declare function consume(iterable: Iterable): void;
export declare function consume(iterable: AsyncIterable): Promise;
export declare type CurriedBatchResult = >(curriedIterable: M) => UnwrapAnyIterableArray;
export declare type CurriedBufferResult = >(curriedIterable: M) => UnwrapAnyIterable;
export declare type CurriedTakeResult = >(curriedIterable: M) => UnwrapAnyIterable;
export declare type CurriedTimeResult = >(curriedIterable: M) => UnwrapAnyIterable;
export declare function filter(filterFunc: (data: T) => data is S): (curriedIterable: AnyIterable) => AsyncGenerator;
export declare function filter(filterFunc: (data: T) => boolean | Promise): (curriedIterable: AnyIterable) => AsyncGenerator;
export declare function filter(filterFunc: (data: T) => data is S, iterable: AnyIterable): AsyncGenerator;
export declare function filter(filterFunc: (data: T) => boolean | Promise, iterable: AnyIterable): AsyncGenerator;
export declare function flatMap(func: (data: T) => FlatMapValue): (iterable: AnyIterable) => AsyncGenerator;
export declare function flatMap(func: (data: T) => FlatMapValue, iterable: AnyIterable): AsyncGenerator;
export declare type FlatMapValue = B | AnyIterable | undefined | null | Promise | undefined | null>;
export declare function flatten(iterable: AnyIterable>): AsyncIterableIterator;
export declare function flatTransform(concurrency: number): {
(func: (data: T) => FlatMapValue, iterable: AnyIterable): AsyncGenerator;
(func: (data: T) => FlatMapValue): (iterable: AnyIterable) => AsyncGenerator;
};
export declare function flatTransform(concurrency: number, func: (data: T) => FlatMapValue): (iterable: AnyIterable) => AsyncGenerator;
export declare function flatTransform(concurrency: number, func: (data: T) => FlatMapValue, iterable: AnyIterable): AsyncGenerator;
export declare function fromStream(stream: ReadableStreamish): AsyncIterable;
export declare function getIterator(iterable: Iterable | Iterator): Iterator;
export declare function getIterator(iterable: AsyncIterable | AsyncIterator): AsyncIterator;
export declare function getIterator(iterable: AsyncIterable | Iterable): AsyncIterator | Iterator;
export declare type Iterableish = Iterable | Iterator | AsyncIterable | AsyncIterator;
export declare function map(func: (data: T) => B | Promise): (iterable: AnyIterable) => AsyncGenerator;
export declare function map(func: (data: T) => B | Promise, iterable: AnyIterable): AsyncGenerator;
export declare function merge[]>(...iterables: I): AsyncIterable>;
export declare function parallelFlatMap(concurrency: number): {
(func: (data: T) => R | Promise, iterable: AnyIterable): AsyncGenerator;
(func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncGenerator;
};
export declare function parallelFlatMap(concurrency: number, func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncGenerator;
export declare function parallelFlatMap(concurrency: number, func: (data: T) => R | Promise, iterable: AnyIterable): AsyncGenerator;
export declare function parallelMap(concurrency: number): {
(func: (data: T) => R | Promise, iterable: AnyIterable): AsyncIterableIterator;
(func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncIterableIterator;
};
export declare function parallelMap(concurrency: number, func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncIterableIterator;
export declare function parallelMap(concurrency: number, func: (data: T) => R | Promise, iterable: AnyIterable): AsyncIterableIterator;
export declare function parallelMerge[]>(...iterables: I): AsyncIterable>;
export declare function pipeline(firstFn: () => T0): T0;
export declare function pipeline(a0: () => T0, a1: (a: T0) => T1): T1;
export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2): T2;
export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3): T3;
export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3, a4: (a: T3) => T4): T4;
export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3, a4: (a: T3) => T4, a5: (a: T4) => T5): T5;
export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3, a4: (a: T3) => T4, a5: (a: T4) => T5, a6: (a: T5) => T6): T6;
export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3, a4: (a: T3) => T4, a5: (a: T4) => T5, a6: (a: T5) => T6, a7: (a: T6) => T7): T7;
export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3, a4: (a: T3) => T4, a5: (a: T4) => T5, a6: (a: T5) => T6, a7: (a: T6) => T7, a8: (a: T7) => T8): T8;
export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3, a4: (a: T3) => T4, a5: (a: T4) => T5, a6: (a: T5) => T6, a7: (a: T6) => T7, a8: (a: T7) => T8, a9: (a: T8) => T9): T9;
export declare interface ReadableStreamish {
once: any;
read: any;
}
export declare function reduce(func: (acc: B, value: T) => B): {
(start: B): (iterable: AnyIterable) => Promise;
(start: B, iterable: AnyIterable): Promise;
};
export declare function reduce(func: (acc: B, value: T) => B, start: B): (iterable: AnyIterable) => Promise;
export declare function reduce(func: (acc: B, value: T) => B, start: B, iterable: AnyIterable): Promise;
export declare function take(count: number): CurriedTakeResult;
export declare function take>(count: number, iterable: M): UnwrapAnyIterable;
export declare function tap(func: (data: T) => any): (iterable: AnyIterable) => AsyncGenerator;
export declare function tap(func: (data: T) => any, iterable: AnyIterable): AsyncGenerator;
export declare function time(config?: TimeConfig): CurriedTimeResult;
export declare function time>(config: TimeConfig, iterable: M): UnwrapAnyIterable;
export declare interface TimeConfig {
progress?: (delta: [number, number], total: [number, number]) => any;
total?: (time: [number, number]) => any;
}
export declare function transform(concurrency: number): {
(func: (data: T) => R | Promise, iterable: AnyIterable): AsyncIterableIterator;
(func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncIterableIterator;
};
export declare function transform(concurrency: number, func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncIterableIterator;
export declare function transform(concurrency: number, func: (data: T) => R | Promise, iterable: AnyIterable): AsyncIterableIterator;
export declare type UnArrayAnyIterable[]> = A extends AnyIterable[] ? T : never;
export declare type UnwrapAnyIterable> = M extends Iterable ? Iterable : M extends AsyncIterable ? AsyncIterable : never;
export declare type UnwrapAnyIterableArray> = M extends Iterable ? Generator : M extends AsyncIterable ? AsyncGenerator : never;
export declare type UnwrapToPromiseOrAsyncIterable> = M extends Iterable ? T[] : M extends AsyncIterable ? Promise : never;
export declare interface WritableStreamish {
once: any;
write: any;
removeListener: any;
}
export declare function writeToStream(stream: WritableStreamish): (iterable: AnyIterable) => Promise;
export declare function writeToStream(stream: WritableStreamish, iterable: AnyIterable): Promise;
export { }