promise-writable
v8.0.0
Published
Return promise for writable stream
Downloads
28,313
Readme
promise-writable
This module allows conversion Writable
stream into its promisified version,
which returns
Promise
object fulfilled when open
,
close
,
pipe
,
unpipe
,
finish
or
error
events
occurred.
Requirements
This module requires Node >= 16.
Installation
npm install promise-writable
Additionally for Typescript:
npm install -D @types/node
Usage
import PromiseWritable from "promise-writable"
constructor
const promiseWritable = new PromiseWritable(stream)
PromiseWritable
object requires Writable
object to work.
Example:
import PromiseWritable from "promise-writable"
import fs from "node:fs"
const stream = fs.createWriteStream("/tmp/test.txt")
const promiseWritable = new PromiseWritable(stream)
stream
const stream = promiseWritable.stream
Original stream object.
Example:
console.log(promiseWritable.stream.flags)
write
const written = await promiseWritable.write(chunk)
This method returns Promise
which is fulfilled when the stream accepted a
chunk (write
method returned that stream is still writable or drain
event
occured) or stream is ended (finish
event).
Promise resolves to number that counts written bytes.
Example:
const written = await promiseWritable.write(new Buffer("foo"))
writeAll
const total = await promiseWritable.writeAll(content, chunkSize)
This method returns Promise
which is fulfilled when the stream accepts
content. This method writes the content chunk by chunk. The default chunk
size is 64 KiB.
Promise resolves to a number that counts written bytes.
Example:
const total = await promiseWritable.writeAll(new Buffer("foobarbaz"), 3)
once
await promiseWritable.once(event)
This method returns Promise
which is fulfilled when stream emits event
. The
result of this event is returned.
Promise resolves to undefined
value if the stream is already closed or
destroyed.
Example:
const fd = await promiseWritable.once("open")
process.stdin(promiseWritable.stream)
await promiseWritable.once("close")
const promise = promiseWritable.once("pipe")
process.stdin.pipe(promiseWritable.stream)
const src = await promise
const promise = promiseWritable.once("unpipe")
process.stdin.unpipe(promiseWritable.stream)
const src = await promise
end
await promiseWritable.end()
This method ends the stream and returns Promise
which is fulfilled when stream
is finished. No value is returned.
destroy
promiseWritable = promiseWritable.destroy()
This method calls destroy
method on stream and cleans up all own handlers.
The method returns this object.
See also
PromiseReadable
,
PromiseDuplex
,
PromiseSocket
,
PromisePiping
.
License
Copyright (c) 2017-2024 Piotr Roszatycki mailto:[email protected]