emit-events

Quick and dirty events

Usage no npm install needed!

<script type="module">
  import emitEvents from 'https://cdn.skypack.dev/emit-events';
</script>

README

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' });
  }
}