npm

Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript. Learn more »

promise-writable

3.1.2 • 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 >= 4.

Installation

npm install promise-writable

Usage

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-2018 Piotr Roszatycki mailto:piotr.roszatycki@gmail.com

MIT

install

npm i promise-writable

Downloadsweekly downloads

361

version

3.1.2

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability