import { ReadableOptions } from 'stream'; import { BufferLike } from '../../interfaces.js'; import { AsyncIterableX } from '../../asynciterable/asynciterablex.js'; import { AsyncIterableReadable } from '../../asynciterable/tonodestream.js'; /** * @ignore */ export function toNodeStreamProto( this: AsyncIterable ): AsyncIterableReadable; export function toNodeStreamProto( this: AsyncIterable, options: ReadableOptions & { objectMode: true } ): AsyncIterableReadable; export function toNodeStreamProto( this: AsyncIterable, options: ReadableOptions & { objectMode: false } ): AsyncIterableReadable; export function toNodeStreamProto( this: AsyncIterable, options?: ReadableOptions ): AsyncIterableReadable { return !options || options.objectMode === true ? new AsyncIterableReadable(this, options) : new AsyncIterableReadable(this, options); } AsyncIterableX.prototype.toNodeStream = toNodeStreamProto; declare module '../../asynciterable/asynciterablex' { interface AsyncIterableX { toNodeStream: typeof toNodeStreamProto; } }