Saltar al contenido

node:stream

Readable, Writable, Duplex, Transform y auxiliares de composición.

En esta página

Elide exporta Readable, Writable, Duplex, Transform y PassThrough. El ejemplo verificado siguiente cubre Readable.from, hooks personalizados de Transform y Writable, y la finalización de un pipeline basada en Promise.

Ejemplo de pipeline

Use node:stream/promises cuando espere a pipeline:

import { Readable, Transform, Writable } from "node:stream";
import { pipeline } from "node:stream/promises";

const output = [];
const source = Readable.from(["a", "b"]);
const upper = new Transform({
  transform(chunk, _encoding, callback) {
    callback(null, String(chunk).toUpperCase());
  },
});
const sink = new Writable({
  write(chunk, _encoding, callback) {
    output.push(String(chunk));
    callback();
  },
});

await pipeline(source, upper, sink);
console.log(output.join("")); // AB

pipeline y finished de node:stream usan firmas al estilo de funciones de retorno. Sus formas que devuelven Promise las exporta node:stream/promises.

Superficie adicional

  • Readable.from, Readable.wrap e iteración asíncrona
  • consumidores con Promise como toArray, forEach, some, every, find y reduce
  • transformadores de flujos como map, filter, flatMap, drop y take
  • compose, addAbortSignal, predicados de estado y auxiliares de high-water mark
  • node:stream/iter, una extensión de Elide con auxiliares de conversión a iteradores

Consulte la documentación de stream de Node.js para ver las firmas estándar de las clases y los hooks.

Reference

Status: Partial · 215 of 238 suite tests pass (90.3%) · since 1.1.0

Exports

ExportKindStatusNotes
ReadableclassFullreadable, readableEnded, readableFlowing, readableHighWaterMark, readableLength, readableObjectMode, readableEncoding, destroyed, read(), setEncoding(), pause(), resume(), isPaused(), unpipe(), unshift(), wrap(), push(), destroy(), pipe(), toArray(), forEach(), some(), every(), find(), reduce(), map(), filter(), flatMap(), drop(), take()
WritableclassFullwritable, writableEnded, writableFinished, writableHighWaterMark, writableLength, writableObjectMode, writableCorked, destroyed, write(), end(), cork(), uncork(), destroy(), setDefaultEncoding()
DuplexclassFullwritable, writableEnded, writableFinished, writableHighWaterMark, writableLength, writableObjectMode, writableCorked, write(), end(), cork(), uncork(), setDefaultEncoding()
TransformclassFull
PassThroughclassFull
ReadablepropertyFullThe Readable stream class
WritablepropertyFullThe Writable stream class
DuplexpropertyFullThe Duplex stream class
TransformpropertyFullThe Transform stream class
PassThroughpropertyFullThe PassThrough stream class
pipelinepropertyFullPromise-based pipeline() utility for composing stream pipelines with error propagation
finishedpropertyFullPromise-based finished() utility that resolves/rejects when a stream completes or errors
composepropertyFullComposes streams into a single Duplex; pipes them and returns a Duplex that writes to the head and reads…

Not implemented

stream/web.ReadableStreamTee.

Tests: node-api node:streams: 215 pass, 22 fail, 1 error, 9 skipped. Failing: test-stream-auto-destroy.js, test-stream-compose.js, test-stream-consumers.js, test-stream-destroy.js, test-stream-duplex-from.js, test-stream-duplex.js, test-stream-iter-disabled.js, test-stream-iter-readable-interop-disabled.js, and 15 more.

¿Te resultó útil esta página?