Miss any of our Open RFC calls?Watch the recordings here! »

promise-writable

6.0.0 • Public • Published

promise-writable

Build Status Coverage Status npm

This module allows to convert 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 >= 6.

Installation

npm install promise-writable

Additionally for Typescript:

npm install -D @types/node

Usage

const {PromiseWritable} = require("promise-writable")

Typescript:

import PromiseWritable from "promise-writable"
// or
import {PromiseWritable} from "promise-writable"

constructor

const promiseWritable = new PromiseWritable(stream)

PromiseWritable object requires Writable object to work.

Example:

const {PromiseWritable} = require("promise-writable")
const fs = require("fs")
 
const stream = fs.createWriteStream("/tmp/test.txt")
const promiseWritable = new PromiseWritable(stream)

Typescript:

import PromiseWritable from "promise-writable"
import fs from "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 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 of 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 stream accepted a content. This method writes the content chunk by chunk. The default chunk size is 64 KiB.

Promise resolves to number of 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 stream is already closed or destoyed.

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.destroy()

This method calls destroy method on stream and cleans up all own handlers.

See also

PromiseReadable, PromiseDuplex, PromiseSocket, PromisePiping.

License

Copyright (c) 2017-2019 Piotr Roszatycki mailto:piotr.roszatycki@gmail.com

MIT

Install

npm i promise-writable

DownloadsWeekly Downloads

3,419

Version

6.0.0

License

MIT

Unpacked Size

36.8 kB

Total Files

10

Last publish

Collaborators

  • avatar