1.0.1 • Published 2 years ago

@jeswr/promisify-event-emitter v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

promisify-event-emitter

Utility to resolve EventEmitters as a promise

GitHub license npm version build Dependabot semantic-release

Usage

By default promisifyEventEmitter returns a promise which resolves to undefined if the end event is called, and rejects if the error event is called.

import { promisifyEventEmitter } from '@jeswr/promisify-event-emitter'

const stream = new Readable();
stream.push(null);
await promisifyEventEmitter(stream.on('data', () => {}));

The return value on end can also be customized. For instance:

export default function arrayifyStream<T = any>(stream: EventEmitter): Promise<T[]> {
  const array: T[] = [];
  return promisifyEventEmitter(stream.on('data', data => array.push(data)), array);
}

License

©2022–present Jesse Wright, MIT License.