Skip to content

Latest commit

 

History

History
64 lines (48 loc) · 897 Bytes

README.md

File metadata and controls

64 lines (48 loc) · 897 Bytes

Emit Events

A simple event library for Javascript

Installation

npm i emit-events --save
yarn add emit-events

Usage

import Events from 'emit-events';

// emit
Events.emit('myEvent', { foo: 'bar' });

// subscribe
Events.subscribe('myEvent', payload => {
  // do something
});

Decorator Usage

import { emit, subscribe } from 'emit-events';

@subscribe('onEvent')
@emit()
class Foo {
  onEvent(payload) {
    console.log(payload);
  }

  sendIt() {
    this.emit('onEvent', { foo: 'bar' });
  }
}

Can also subscribe to multiple events

import { emit, subscribe } from 'emit-events';

@subscribe(['onEvent', 'onEventAgain'])
@emit()
class Foo {
  onEvent(payload) {
    console.log(payload);
  }

  onEventAgain(payload) {
    console.log(payload);
  }

  sendIt() {
    this.emit('onEvent', { foo: 'bar' });
  }
}