class default.Duplex
implements WritableBase
Usage in Deno
import default from "node:stream"; const { Duplex } = default;
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: 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 existingDuplex stream instance, but must be changed before the 'end' event is
emitted.
readonly
closed: boolean
readonly
errored: Error | null
readonly
writable: boolean
readonly
writableCorked: number
readonly
writableEnded: boolean
readonly
writableFinished: boolean
readonly
writableHighWaterMark: number
readonly
writableLength: number
readonly
writableNeedDrain: boolean
readonly
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,): void
abstract
_writev(chunks: Array<{ chunk: any; encoding: BufferEncoding; }>,callback: (error?: Error | null) => void,): void
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
cork(): void
emit(event: "close"): boolean
emit(event: "data",chunk: any,): boolean
emit(event: "drain"): boolean
emit(event: "end"): boolean
emit(event: "error",err: Error,): boolean
emit(event: "finish"): boolean
emit(event: "pause"): boolean
emit(event: "readable"): boolean
emit(event: "resume"): boolean
emit(event: string | symbol,...args: any[],): boolean
end(cb?: () => void): this
end(chunk: any,cb?: () => void,): this
end(chunk: any,encoding?: BufferEncoding,cb?: () => void,): this
on(event: "close",listener: () => void,): this
on(event: "data",listener: (chunk: any) => void,): this
on(event: "drain",listener: () => void,): this
on(event: "end",listener: () => void,): this
on(event: "error",listener: (err: Error) => void,): this
on(event: "finish",listener: () => void,): this
on(event: "pause",listener: () => void,): this
on(event: "readable",listener: () => void,): this
on(event: "resume",listener: () => void,): this
on(event: string | symbol,listener: (...args: any[]) => void,): this
once(event: "close",listener: () => void,): this
once(event: "data",listener: (chunk: any) => void,): this
once(event: "drain",listener: () => void,): this
once(event: "end",listener: () => void,): this
once(event: "error",listener: (err: Error) => void,): this
once(event: "finish",listener: () => void,): this
once(event: "pause",listener: () => void,): this
once(event: "readable",listener: () => void,): this
once(event: "resume",listener: () => void,): this
once(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
setDefaultEncoding(encoding: BufferEncoding): this
uncork(): void
write(chunk: any,encoding?: BufferEncoding,cb?: (error: Error
| null
| undefined) => void,): boolean
write(chunk: any,cb?: (error: Error
| null
| undefined) => void,): boolean
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.