@deltachat/tiny-emitter
TypeScript icon, indicating that this package has built-in type declarations

3.0.0 • Public • Published

tiny-emitter fork

A tiny (less than 1k) event emitter library.

About this fork

This fork features some improvements:

  • typescript typings for the events
  • ignores errors thrown by event listeners (it logs them but does not fail to invoke other listeners anymore)

Install

npm

npm install @deltachat/tiny-emitter --save

Usage

var Emitter = require('tiny-emitter');
var emitter = new Emitter();

emitter.on('some-event', function (arg1, arg2, arg3) {
 //
});

emitter.emit('some-event', 'arg1 value', 'arg2 value', 'arg3 value');

Alternatively, you can skip the initialization step by requiring tiny-emitter/instance instead. This pulls in an already initialized emitter.

var emitter = require('tiny-emitter/instance');

emitter.on('some-event', function (arg1, arg2, arg3) {
 //
});

emitter.emit('some-event', 'arg1 value', 'arg2 value', 'arg3 value');

Instance Methods

on(event, callback[, context])

Subscribe to an event

  • event - the name of the event to subscribe to
  • callback - the function to call when event is emitted
  • context - (OPTIONAL) - the context to bind the event callback to

once(event, callback[, context])

Subscribe to an event only once

  • event - the name of the event to subscribe to
  • callback - the function to call when event is emitted
  • context - (OPTIONAL) - the context to bind the event callback to

off(event[, callback])

Unsubscribe from an event or all events. If no callback is provided, it unsubscribes you from all events.

  • event - the name of the event to unsubscribe from
  • callback - the function used when binding to the event

emit(event[, arguments...])

Trigger a named event

  • event - the event name to emit
  • arguments... - any number of arguments to pass to the event subscribers

Test and Build

Build (Tests, Browserifies, and minifies)

npm install
npm run build

Test

npm install
npm test

License

MIT

/@deltachat/tiny-emitter/

    Package Sidebar

    Install

    npm i @deltachat/tiny-emitter

    Weekly Downloads

    539

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    16.3 kB

    Total Files

    9

    Last publish

    Collaborators

    • link2xt
    • missytake
    • jikstra
    • simon-laux