mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-24 06:14:01 +08:00
24 lines
778 B
TypeScript
24 lines
778 B
TypeScript
// Duplex: independent halves, writes routed through the write option,
|
|
// reads through push, the half lifecycle events in Node's order, and the
|
|
// side-specific property surface.
|
|
import { Duplex } from "node:stream";
|
|
|
|
const d = new Duplex({
|
|
highWaterMark: 16,
|
|
read() {},
|
|
write(chunk, enc, cb) {
|
|
console.log("wrote:", chunk.toString());
|
|
cb();
|
|
},
|
|
});
|
|
console.log("props:", d.readableHighWaterMark, d.writableHighWaterMark, d.allowHalfOpen);
|
|
d.on("data", (c: Buffer) => console.log("data:", c.toString()));
|
|
d.on("end", () => console.log("end"));
|
|
d.on("finish", () => console.log("finish"));
|
|
d.on("close", () => console.log("close"));
|
|
d.push("readable side");
|
|
d.write("writable side");
|
|
d.end();
|
|
d.push(null);
|
|
console.log("tail:", d.writableEnded, d.readableEnded);
|