يصدّر Elide Readable وWritable وDuplex وTransform وPassThrough.
ويغطي المثال الموثَّق أدناه Readable.from، وخطافات Transform و
Writable المخصّصة، وإكمال خط الأنابيب القائم على Promise.
مثال على خط أنابيب
استخدم node:stream/promises عند انتظار 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 وfinished من node:stream تواقيع دوال الاستدعاء.
أما صيغهما التي تعيد Promise فتصدّرها node:stream/promises.
واجهة إضافية
-
Readable.from وReadable.wrap والتكرار غير المتزامن - مستهلكات Promise مثل
toArray وforEach وsome وevery وfind و reduce - محوّلات التدفقات مثل
map وfilter وflatMap وdrop وtake -
compose وaddAbortSignal ومسندات الحالة ومساعدات علامة الحد الأعلى -
node:stream/iter، وهي امتداد من Elide يتضمن مساعدات لتحويل المكرِّرات
راجع توثيق stream في Node.js لتواقيع الفئات والخطافات القياسية.
Reference
Status: Partial · 215 of 238 suite tests pass (90.3%) · since 1.1.0
Exports
| Export | Kind | Status | Notes |
|---|---|---|---|
Readable | class | Full | readable, 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() |
Writable | class | Full | writable, writableEnded, writableFinished, writableHighWaterMark, writableLength, writableObjectMode, writableCorked, destroyed, write(), end(), cork(), uncork(), destroy(), setDefaultEncoding() |
Duplex | class | Full | writable, writableEnded, writableFinished, writableHighWaterMark, writableLength, writableObjectMode, writableCorked, write(), end(), cork(), uncork(), setDefaultEncoding() |
Transform | class | Full | |
PassThrough | class | Full | |
Readable | property | Full | The Readable stream class |
Writable | property | Full | The Writable stream class |
Duplex | property | Full | The Duplex stream class |
Transform | property | Full | The Transform stream class |
PassThrough | property | Full | The PassThrough stream class |
pipeline | property | Full | Promise-based pipeline() utility for composing stream pipelines with error propagation |
finished | property | Full | Promise-based finished() utility that resolves/rejects when a stream completes or errors |
compose | property | Full | Composes 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.