Skip to content

tunnckoCore/mitt

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mitt
Mitt: tiny 200b functional event emitter / pubsub.
npm travis

Why Mitt?

  • 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.


Usage

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

API

mitt

Mitt: Tiny (~200b) functional event emitter / pubsub.

Returns Mitt

on

Register an event handler for the given type.

Parameters

  • type String Type of event to listen for, or "*" for all events
  • handler Function Function to call in response to the given event

off

Remove an event handler for the given type.

Parameters

  • type String Type of event to unregister handler from, or "*"
  • handler Function Handler function to remove

emit

Invoke all handlers for the given type. If present, "*" handlers are invoked prior to type-matched handlers.

Parameters

  • type String The event type to invoke
  • event [Any] An event object, passed to each handler