0.0.2 • Published 3 years ago
mahur v0.0.2
mahur
Tiny event emitter for browser.
Installation
npm i mahur
Usage
Register and dispatch an event:
import { EventEmitter } from 'mahur';
const emitter = new EventEmitter();
// Register handler.
e.on('event', (arg) => console.log(arg));
// Dispatch events.
e.dispatch('event', 'hello');
// Prints 'hello'.
e.dispatch('event', 'world');
// Prints 'world'.
once
:
Register and dispatch an event:
import { EventEmitter } from 'mahur';
const emitter = new EventEmitter();
// Register handler.
e.once('event', (arg) => console.log(arg));
// Dispatch events.
e.dispatch('event', 'hello');
// Prints 'hello'.
e.dispatch('event', 'world');
// `dispatch` returns false and nothing happens.
Unregister a handler:
import { EventEmitter } from 'mahur';
const emitter = new EventEmitter();
// Register handler.
const unreg = e.on('event', (arg) => console.log(arg));
// Dispatch events.
e.dispatch('event', 'hello');
// Prints 'hello'.
// Unregister the handler.
unreg();
e.dispatch('event', 'world');
// `dispatch` returns false and nothing happens.
Multiple handlers are supported:
import { EventEmitter } from 'mahur';
const emitter = new EventEmitter();
// Register handler.
e.once('event', (arg) => console.log('handler 1', arg));
e.once('event', (arg) => console.log('handler 2', arg));
// Dispatch events.
e.dispatch('event', 'hello');
// Prints 'handler 1, hello'.
// Prints 'handler 2, hello'.
By default, the argument type of a handler is unknown
. It can be set to a generic type as well:
import { EventEmitter } from 'mahur';
// Create a emitter with a handler argument type of `number`.
const emitter = new EventEmitter<number>();
e.on('event', (arg) => console.log(arg));
// The second argument must be a number.
e.dispatch('event', 1);
// Prints 1.