import { toDOMStream as toDOMStreamOperator, ReadableBYOBStreamOptions, ReadableByteStreamOptions, } from '../../asynciterable/todomstream.js'; import { UnaryFunction } from '../../interfaces.js'; export function toDOMStream( strategy?: QueuingStrategy ): UnaryFunction, ReadableStream>; export function toDOMStream( options: ReadableBYOBStreamOptions ): UnaryFunction, ReadableStream>; export function toDOMStream( options: ReadableByteStreamOptions ): UnaryFunction, ReadableStream>; export function toDOMStream( options?: QueuingStrategy | ReadableBYOBStreamOptions | ReadableByteStreamOptions ) { return function toDOMStreamOperatorFunction(source: AsyncIterable) { if (!options || !('type' in options) || options['type'] !== 'bytes') { return toDOMStreamOperator(source, options as QueuingStrategy | undefined); } return toDOMStreamOperator( source, options as ReadableBYOBStreamOptions | ReadableByteStreamOptions ); }; }