@metamask/safe-event-emitter
An EventEmitter that isolates the emitter from errors in handlers
Last updated a year ago by lgbot .
ISC · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @metamask/safe-event-emitter 
SYNC missed versions from official npm registry.

safe-event-emitter

An EventEmitter that isolates the emitter from errors in handlers. If an error is thrown in a handler it is caught and re-thrown inside of a setTimeout so as to not interrupt the emitter's code flow.

The API is the same as a core EventEmitter.

Install

$ yarn add '@metamask/safe-event-emitter'

Usage

import SafeEventEmitter from '@metamask/safe-event-emitter';

const ee = new SafeEventEmitter();
ee.on('boom', () => { throw new Error(); });
ee.emit('boom'); // No error here

// Error is thrown after setTimeout

Release & Publishing

The project follows the same release process as the other libraries in the MetaMask organization:

  1. Create a release branch
    • For a typical release, this would be based on master
    • To update an older maintained major version, base the release branch on the major version branch (e.g. 1.x)
  2. Update the changelog
  3. Update version in package.json file (e.g. yarn version --minor --no-git-tag-version)
  4. Create a pull request targeting the base branch (e.g. master or 1.x)
  5. Code review and QA
  6. Once approved, the PR is squashed & merged
  7. The commit on the base branch is tagged
  8. The tag can be published as needed

Running tests

yarn test

Current Tags

  • 3.1.2                                ...           latest (a year ago)

5 Versions

  • 3.1.2                                ...           a year ago
  • 3.1.1                                ...           2 years ago
  • 3.1.0                                ...           2 years ago
  • 3.0.0                                ...           3 years ago
  • 2.0.0                                ...           6 years ago

Copyright 2013 - present © cnpmjs.org | Home |