Mcompose
Bun

method

stream.default.PassThrough.compose

stream: WritableStream | WritableStream<any> | TransformStream<any, any> | (source: any) => void,
options?: Abortable
): Duplex;
import { Readable } from 'node:stream';

async function* splitToWords(source) {
  for await (const chunk of source) {
    const words = String(chunk).split(' ');

    for (const word of words) {
      yield word;
    }
  }
}

const wordsStream = Readable.from(['text passed through', 'composed stream']).compose(splitToWords);
const words = await wordsStream.toArray();

console.log(words); // prints ['text', 'passed', 'through', 'composed', 'stream']

readable.compose(s) is equivalent to stream.compose(readable, s).

This method also allows for an AbortSignal to be provided, which will destroy the composed stream when aborted.

See stream.compose(...streams) for more information.

@returns

a stream composed with the stream stream.

Referenced types

interface WritableStream<W = any>

interface TransformStream<I = any, O = any>