class default.Duplex
implements [NodeJS.ReadWriteStream]
extends Stream
Duplex streams are streams that implement both the Readable and Writable interfaces.
Examples of Duplex streams include:
TCP socketszlib streamscrypto streams
Constructors #
#Duplex(opts?: DuplexOptions) new
Properties #
#allowHalfOpen: boolean If 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.
Methods #
#addListener(event: "close",listener: () => void,): this Event 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,): this #addListener(event: "drain",listener: () => void,): this #addListener(event: "end",listener: () => void,): this #addListener(event: "error",listener: (err: Error) => void,): this #addListener(event: "finish",listener: () => void,): this #addListener(event: "pause",listener: () => void,): this #addListener(event: "pipe",listener: (src: Readable) => void,): this #addListener(event: "readable",listener: () => void,): this #addListener(event: "resume",listener: () => void,): this #addListener(event: "unpipe",listener: (src: Readable) => void,): this #addListener(event: string | symbol,listener: (...args: any[]) => void,): this #prependListener(event: "close",listener: () => void,): this #prependListener(event: "data",listener: (chunk: any) => void,): this #prependListener(event: "drain",listener: () => void,): this #prependListener(event: "end",listener: () => void,): this #prependListener(event: "error",listener: (err: Error) => void,): this #prependListener(event: "finish",listener: () => void,): this #prependListener(event: "pause",listener: () => void,): this #prependListener(event: "pipe",listener: (src: Readable) => void,): this #prependListener(event: "readable",listener: () => void,): this #prependListener(event: "resume",listener: () => void,): this #prependListener(event: "unpipe",listener: (src: Readable) => void,): this #prependListener(event: string | symbol,listener: (...args: any[]) => void,): this #prependOnceListener(event: "close",listener: () => void,): this #prependOnceListener(event: "data",listener: (chunk: any) => void,): this #prependOnceListener(event: "drain",listener: () => void,): this #prependOnceListener(event: "end",listener: () => void,): this #prependOnceListener(event: "error",listener: (err: Error) => void,): this #prependOnceListener(event: "finish",listener: () => void,): this #prependOnceListener(event: "pause",listener: () => void,): this #prependOnceListener(event: "pipe",listener: (src: Readable) => void,): this #prependOnceListener(event: "readable",listener: () => void,): this #prependOnceListener(event: "resume",listener: () => void,): this #prependOnceListener(event: "unpipe",listener: (src: Readable) => void,): this #prependOnceListener(event: string | symbol,listener: (...args: any[]) => void,): this #removeListener(event: "close",listener: () => void,): this #removeListener(event: "data",listener: (chunk: any) => void,): this #removeListener(event: "drain",listener: () => void,): this #removeListener(event: "end",listener: () => void,): this #removeListener(event: "error",listener: (err: Error) => void,): this #removeListener(event: "finish",listener: () => void,): this #removeListener(event: "pause",listener: () => void,): this #removeListener(event: "pipe",listener: (src: Readable) => void,): this #removeListener(event: "readable",listener: () => void,): this #removeListener(event: "resume",listener: () => void,): this #removeListener(event: "unpipe",listener: (src: Readable) => void,): this #removeListener(event: string | symbol,listener: (...args: any[]) => void,): this Static Methods #
#from(src: Stream
| NodeBlob
| ArrayBuffer
| string
| Iterable<any>
| AsyncIterable<any>
| AsyncGeneratorFunction
| Promise<any>
| Object): Duplex A 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">,): Duplex A utility method for creating a Duplex from a web ReadableStream and WritableStream.