UNPKG

1.62 kBTypeScriptView Raw
1/// <reference types="node" />
2import { BufferLike } from '../interfaces';
3import { Readable, ReadableOptions } from 'stream';
4declare type SourceIterator<TSource> = Iterator<TSource, any, number | ArrayBufferView | undefined | null>;
5export declare class IterableReadable<T> extends Readable {
6 private _pulling;
7 private _objectMode;
8 private _iterator;
9 constructor(source: Iterable<T>, options?: ReadableOptions);
10 _read(size: number): void;
11 _destroy(err: Error | null, cb: (err: Error | null) => void): void;
12 _pull(it: SourceIterator<T>, size: number): boolean;
13}
14export declare function toNodeStream<TSource>(source: Iterable<TSource>): IterableReadable<TSource>;
15export declare function toNodeStream<TSource>(source: Iterable<TSource>, options: ReadableOptions & {
16 objectMode: true;
17}): IterableReadable<TSource>;
18export declare function toNodeStream<TSource extends BufferLike>(source: Iterable<TSource>, options: ReadableOptions & {
19 objectMode: false;
20}): IterableReadable<TSource>;
21/**
22 * @ignore
23 */
24export declare function toNodeStreamProto<TSource>(this: Iterable<TSource>): IterableReadable<TSource>;
25export declare function toNodeStreamProto<TSource>(this: Iterable<TSource>, options: ReadableOptions | {
26 objectMode: true;
27}): IterableReadable<TSource>;
28export declare function toNodeStreamProto<TSource extends BufferLike>(this: Iterable<TSource>, options: ReadableOptions | {
29 objectMode: false;
30}): IterableReadable<TSource>;
31declare module '../iterable/iterablex' {
32 interface IterableX<T> {
33 toNodeStream: typeof toNodeStreamProto;
34 }
35}
36export {};