1.0.1 • Published 6 years ago
pietile-eventemitter v1.0.1
Pietile EventEmitter
Tiny typed EventEmitter for TypeScript.
Installation
Using yarn
yarn add pietile-eventemitteror using npm
npm install -S pietile-eventemitterUsage
Subclass or incapsulate EventEmitter specified with your events interface. Use on and off
methods to setup event handlers and emit to emit events.
Example
import { EventEmitter } from 'pietile-eventemitter';
interface Events {
foo: () => void;
bar: (a: number) => void;
}
const emitter = new EventEmitter<Events>();
function onFoo() {
console.log('Foo');
}
emitter.on('foo', onFoo);
const handler = emitter.on('bar', (a: number) => {
console.log('Bar: ', a);
});
emitter.emit('foo');
emitter.emit('bar', 42);
emitter.off('foo', onFoo);
emitter.off('bar', handler);API
new EventEmitter<T>()
Create new instance of EventEmitter. T must be interface describing events - names and signatures.
on<K>(event: K, handler: T[K]): T[K]
Add handler for event.
Return handler function. Useful for anonymous handler functions.
off<K>(event: K, handler: T[K]): void
Remove handler for event
offAll(): void
Remove all handlers for all events
emit<K>(event: K, ...args: Parameters<T[K]>): void
Emit even with its arguments
Acknowledgements
ee-ts - Type-safe, isomorphic event emitters
License
Pietile EventEmitter is MIT License.