0.2.0 • Published 3 years ago

quackamole-event-emitter v0.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Quackamole EventEmitter

npm version GitHub license Dependencies Maintainability Coverage Badge

Install

npm install quackamole-event-emitter

or

yarn add quackamole-event-emitter

Basic Usage

import EventEmitter from 'quackamole-event-emitter';

const emitter = new EventEmitter();

// basic
emitter.on('some-event', (evt: IEvent) => console.log(evt.data.foo), {once: true});
emitter.off('some-event', (evt: IEvent) => console.log(evt.data.foo), {once: true});
emitter.emit('some-event', {foo: 'bar'})

Experimental Usage

Subject to change over time depending on usefulness and usability.

Wait for follow-up event

As a response to "ping" we expect the follow up event "pong" to be emitted.

import EventEmitter from 'quackamole-event-emitter';

const emitter = new EventEmitter();

emitter.on('ping', (evt: IEvent) => {
  setTimeout(() => emitter.emit('pong', evt.data + ' world'), 1000);
});

emitter.emit('ping', 'hello');

const pingPong: string = await emitter.onAsync<string>('pong', (evt: IEvent) => {
  evt.asyncHandle?.resolve(evt.data);
}); // pingPong === 'hello world';

License

MIT

0.2.0

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago

0.0.1

3 years ago