Socket
Socket
Sign inDemoInstall

@f0x52/bluebird-events

Package Overview
Dependencies
1
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @f0x52/bluebird-events

A wrapper around event emitters that returns a bluerbird promise resolved or rejected when certain events are fired.


Version published
Maintainers
1
Created

Readme

Source

Fork

to fix package.json errors, untill https://github.com/toddbluhm/bluebird-events/pull/26 gets merged

Travis CI Coverage Status npm npm License TS-Standard - Typescript Standard Style Guide Dependabot badge

Bluebird-Events

This package wraps an event emitter object and returns a bluebird promise that is either resolved, or rejected based on what events are fired from the emitter.

Note: Bluebird-Events v2.x is NOT backwards compatible with v1.x see changelog for details

Installation

npm install bluebird-events

Optionally run tests:

npm test

Usage

import { promisify } from 'bluebird-events'

const someEmitter = new TestEmitter()

const promise = promisify(someEmitter, {
  resolve: 'success-event-name',
  reject: ['error-event-name', 'error-event-name-2']
})

// Will resolve the promise
someEmitter.emit('success-event-name')

// Will reject the promise with the given error
someEmitter.emit('error-event-name', new Error('Some Error Occurred!'))

API

promisify(emitter, events)

emitter[Object] - Some object that can emit events (usually inherited from Events.EventEmitter)

events[Object] - Contains a mapping of events to listen for

events.resolve[String, Array of Strings, or Boolean] - The name for the event that will cause the promise to resolve (defaults to: 'finish')

events.reject[String, Array of Strings, or Boolean] - The name for the event that will cause the promise to reject (defaults to: 'error')

Returns - a bluebird promise

Note: To disable listening for all resolve or reject events (including default and custom events) just pass in false for the resolve/reject value.

// This promise cannot be resolve successfully via an emitted event
// But it can be rejected via the default 'error' event
promisify(emitter, { resolve: false })

Dependencies

This library is dependent upon bluebird, but because bluebird is so common, there is no need to install it multiple times so bluebird is declared as a peerDependency

Note: bluebird is also declared as a devDependency for running the test suite

Contributors

📋 Contributing Guide

I welcome all pull requests. Please make sure you add appropriate test cases for any features added. Before opening a PR please make sure to run the following scripts:

  • npm run lint checks for code errors and format according to ts-standard
  • npm test make sure all tests pass
  • npm run test-cover make sure the coverage has not decreased from current master

Keywords

FAQs

Last updated on 13 May 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc