emitter20
v2.0.0
Published
An event emitter in 20 lines of code.
Downloads
1,476
Readme
emitter20
An event emitter that used to be 20 lines of code but is still quite small. No dependencies.
Install
$ npm install --save emitter20
Methods
on: (eventName: string, callback: Function) => void
- Subscribe a callback to the given event type.off: (eventName: string, callback: Function) => void
- Remove a callback from the given event type.trigger: (eventName: string, callback: Function) => void
- Trigger an event, invoking all subscribers.clear: (eventName?: string) => void
- Remove all subscribers from the given event type, or all subscribers if no event type is specified.
Usage
var Emitter = require('emitter20')
var emitter = new Emitter()
emitter.on('karate-chop', function() {
console.log('Haiaaaaaa!')
})
emitter.trigger('karate-chop') // Haiaaaaa!'
Pass arbitrary data to the event handler:
var emitter = new Emitter()
emitter.on('welcome', function(name) {
console.log(`Welcome {name}!`)
})
emitter.trigger('welcome', 'bob') // Welcome bob!
Can be used as a mixin:
var assign = require('lodash.assign')
var obj = { a: 1, b: 2 }
assign(obj, new Emitter())
obj.on('karate-chop', function() {
console.log('Haiaaaaaa!')
})
obj.trigger('karate-chop') // Haiaaaaa!'
License
ISC © Raine Revere