class internal.Duplex
implements WritableBase
extends ReadableBase
Duplex streams are streams that implement both the Readable and Writable interfaces.
Examples of Duplex streams include:
TCP socketszlib streamscrypto streams
new
Duplex(opts?: DuplexOptions)allowHalfOpen: booleanIf false then the stream will automatically end the writable side when the
readable side ends. Set initially by the allowHalfOpen constructor option,
which defaults to true.
This can be changed manually to change the half-open behavior of an existing
Duplex stream instance, but must be changed before the 'end' event is emitted.
readonly
closed: booleanreadonly
errored: Error | nullreadonly
writable: booleanreadonly
writableCorked: numberreadonly
writableEnded: booleanreadonly
writableFinished: booleanreadonly
writableHighWaterMark: numberreadonly
writableLength: numberreadonly
writableNeedDrain: booleanreadonly
writableObjectMode: boolean_destroy(error: Error | null,callback: (error?: Error | null) => void,): void_final(callback: (error?: Error | null) => void): void_write(chunk: any,encoding: BufferEncoding,callback: (error?: Error | null) => void,): voidoptional
_writev(chunks: Array<{ chunk: any; encoding: BufferEncoding; }>,callback: (error?: Error | null) => void,): voidaddListener(event: "close",listener: () => void,): thisEvent emitter The defined events on documents including:
- close
- data
- drain
- end
- error
- finish
- pause
- pipe
- readable
- resume
- unpipe
addListener(event: "data",listener: (chunk: any) => void,): thisaddListener(event: "drain",listener: () => void,): thisaddListener(event: "end",listener: () => void,): thisaddListener(event: "error",listener: (err: Error) => void,): thisaddListener(event: "finish",listener: () => void,): thisaddListener(event: "pause",listener: () => void,): thisaddListener(event: "pipe",listener: (src: Readable) => void,): thisaddListener(event: "readable",listener: () => void,): thisaddListener(event: "resume",listener: () => void,): thisaddListener(event: "unpipe",listener: (src: Readable) => void,): thisaddListener(event: string | symbol,listener: (...args: any[]) => void,): thiscork(): voidemit(event: "close"): booleanemit(event: "data",chunk: any,): booleanemit(event: "drain"): booleanemit(event: "end"): booleanemit(event: "error",err: Error,): booleanemit(event: "finish"): booleanemit(event: "pause"): booleanemit(event: "readable"): booleanemit(event: "resume"): booleanemit(event: string | symbol,...args: any[],): booleanend(cb?: () => void): thisend(chunk: any,cb?: () => void,): thisend(chunk: any,encoding?: BufferEncoding,cb?: () => void,): thison(event: "close",listener: () => void,): thison(event: "data",listener: (chunk: any) => void,): thison(event: "drain",listener: () => void,): thison(event: "end",listener: () => void,): thison(event: "error",listener: (err: Error) => void,): thison(event: "finish",listener: () => void,): thison(event: "pause",listener: () => void,): thison(event: "readable",listener: () => void,): thison(event: "resume",listener: () => void,): thison(event: string | symbol,listener: (...args: any[]) => void,): thisonce(event: "close",listener: () => void,): thisonce(event: "data",listener: (chunk: any) => void,): thisonce(event: "drain",listener: () => void,): thisonce(event: "end",listener: () => void,): thisonce(event: "error",listener: (err: Error) => void,): thisonce(event: "finish",listener: () => void,): thisonce(event: "pause",listener: () => void,): thisonce(event: "readable",listener: () => void,): thisonce(event: "resume",listener: () => void,): thisonce(event: string | symbol,listener: (...args: any[]) => void,): thisprependListener(event: "close",listener: () => void,): thisprependListener(event: "data",listener: (chunk: any) => void,): thisprependListener(event: "drain",listener: () => void,): thisprependListener(event: "end",listener: () => void,): thisprependListener(event: "error",listener: (err: Error) => void,): thisprependListener(event: "finish",listener: () => void,): thisprependListener(event: "pause",listener: () => void,): thisprependListener(event: "pipe",listener: (src: Readable) => void,): thisprependListener(event: "readable",listener: () => void,): thisprependListener(event: "resume",listener: () => void,): thisprependListener(event: "unpipe",listener: (src: Readable) => void,): thisprependListener(event: string | symbol,listener: (...args: any[]) => void,): thisprependOnceListener(event: "close",listener: () => void,): thisprependOnceListener(event: "data",listener: (chunk: any) => void,): thisprependOnceListener(event: "drain",listener: () => void,): thisprependOnceListener(event: "end",listener: () => void,): thisprependOnceListener(event: "error",listener: (err: Error) => void,): thisprependOnceListener(event: "finish",listener: () => void,): thisprependOnceListener(event: "pause",listener: () => void,): thisprependOnceListener(event: "pipe",listener: (src: Readable) => void,): thisprependOnceListener(event: "readable",listener: () => void,): thisprependOnceListener(event: "resume",listener: () => void,): thisprependOnceListener(event: "unpipe",listener: (src: Readable) => void,): thisprependOnceListener(event: string | symbol,listener: (...args: any[]) => void,): thisremoveListener(event: "close",listener: () => void,): thisremoveListener(event: "data",listener: (chunk: any) => void,): thisremoveListener(event: "drain",listener: () => void,): thisremoveListener(event: "end",listener: () => void,): thisremoveListener(event: "error",listener: (err: Error) => void,): thisremoveListener(event: "finish",listener: () => void,): thisremoveListener(event: "pause",listener: () => void,): thisremoveListener(event: "pipe",listener: (src: Readable) => void,): thisremoveListener(event: "readable",listener: () => void,): thisremoveListener(event: "resume",listener: () => void,): thisremoveListener(event: "unpipe",listener: (src: Readable) => void,): thisremoveListener(event: string | symbol,listener: (...args: any[]) => void,): thissetDefaultEncoding(encoding: BufferEncoding): thisuncork(): voidwrite(chunk: any,encoding?: BufferEncoding,cb?: (error: Error
| null
| undefined) => void,): booleanwrite(chunk: any,cb?: (error: Error
| null
| undefined) => void,): booleanA utility method for creating duplex streams.
Streamconverts writable stream into writableDuplexand readable stream toDuplex.Blobconverts into readableDuplex.stringconverts into readableDuplex.ArrayBufferconverts into readableDuplex.AsyncIterableconverts into a readableDuplex. Cannot yieldnull.AsyncGeneratorFunctionconverts into a readable/writable transformDuplex. Must take a sourceAsyncIterableas first parameter. Cannot yieldnull.AsyncFunctionconverts into a writableDuplex. Must return eithernullorundefinedObject ({ writable, readable })convertsreadableandwritableintoStreamand then combines them intoDuplexwhere theDuplexwill write to thewritableand read from thereadable.Promiseconverts into readableDuplex. Valuenullis ignored.
fromWeb(duplexStream: { readable: streamWeb.ReadableStream; writable: streamWeb.WritableStream; },options?: Pick<DuplexOptions, "allowHalfOpen"
| "decodeStrings"
| "encoding"
| "highWaterMark"
| "objectMode"
| "signal">,): DuplexA utility method for creating a Duplex from a web ReadableStream and WritableStream.