@serban.marti/promise-duplex
v1.0.2
Published
Return promise for duplex stream
Readme
promise-duplex
This is a fork from promise-duplex by Piotr Roszatycki!
This module allows to convert
Duplex stream
into its promisified version, which returns
Promise
object fulfilled when stream's events occurred.
The module combines
promise-readable and
promise-writable in one.
Requirements
This module requires Node >= 18.
Installation
npm install @serban.marti/promise-duplexUsage
const {PromiseDuplex} = require("@serban.marti/promise-duplex")Typescript:
import PromiseDuplex from "@serban.marti/promise-duplex"
// or
import {PromiseDuplex} from "@serban.marti/promise-duplex"constructor
const promiseDuplex = new PromiseDuplex(stream)PromiseDuplex object requires Duplex object to work.
Example:
const net = require("net")
const {PromiseDuplex} = require("@serban.marti/promise-duplex")
const stream = new net.Socket()
const promiseDuplex = new PromiseDuplex(stream)Typescript:
import net from "net"
import PromiseDuplex from "@serban.marti/promise-duplex"
const stream = new net.Socket()
const promiseDuplex = new PromiseDuplex(stream)stream
const stream = promiseDuplex.streamOriginal stream object.
Example:
console.log(promiseDuplex.stream.localAddress)read
const chunk = await promiseDuplex.read(chunkSize)Check
PromiseReadable.read
for details.
readAll
const content = await promiseDuplex.readAll()Check
PromiseReadable.readAll
for details.
iterate
for await (const chunk of promiseDuplex.iterate(chunkSize)) {
}Check
PromiseReadable.iterate
for details.
Symbol.asyncIterator
for await (const chunk of promiseDuplex.iterate(chunkSize)) {
}Check
PromiseReadable[Symbol.asyncIterator]
for details.
setEncoding
promiseDuplex = await promiseDuplex.setEncoding(encoding)Check
PromiseReadable.setEncoding
for details.
write
await promiseDuplex.write(chunk)Check
PromiseWritable.write
for details.
writeAll
await promiseDuplex.writeAll(content, chunkSize)Check
PromiseWritable.writeAll
for details.
end
await promiseDuplex.end()Check
PromiseWritable.once
for details.
once
const result = await promiseDuplex.once(event)Check
PromiseReadable.once
and
PromiseWritable.once
for details.
destroy
promiseDuplex.destroy()This method calls destroy method on stream and cleans up all own handlers.
See also
PromiseReadable,
PromiseWritable,
PromiseSocket,
PromisePiping.
