Mitt: tiny 200b functional event emitter / pubsub.
- Microscopic: weighs less than 200 bytes gzipped
- Useful: a wildcard
"*"
event type listens to all events - Familiar: same names & ideas as Node's EventEmitter
- Functional: methods don't rely on
this
- Great Name: somehow mitt wasn't taken
Mitt was made for the browser, but works in any JavaScript runtime. It has no dependencies and only uses basic language features. It probably works in Internet Explorer 5.
After installing via npm install --save mitt
:
import mitt from 'mitt'
let emitter = mitt()
// listen to an event
emitter.on('foo', e => console.log('foo', e) )
// listen to all events
emitter.on('*', (type, e) => console.log(type, e) )
// fire an event
emitter.emit('foo', { a: 'b' })
// working with handler references:
function onFoo() {}
emitter.on('foo', onFoo) // listen
emitter.off('foo', onFoo) // unlisten
Mitt: Tiny (~200b) functional event emitter / pubsub.
Returns Mitt
Register an event handler for the given type.
Parameters
type
String Type of event to listen for, or"*"
for all eventshandler
Function Function to call in response to the given event
Remove an event handler for the given type.
Parameters
type
String Type of event to unregisterhandler
from, or"*"
handler
Function Handler function to remove
Invoke all handlers for the given type.
If present, "*"
handlers are invoked prior to type-matched handlers.
Parameters
type
String The event type to invokeevent
[Any] An event object, passed to each handler