mittens
v1.1.0
Published
mittens is a really small, really fast event emitter for all browsers
Downloads
69
Readme
mittens
mittens is a really small, really fast event emitter for all browsers
install
npm install mittens
use
var mittens = require('mittens')
// There are many ways to mix
// mittens into an obj
var obj = function () {}
mittens.call(obj)
obj = mittens.call({})
obj = mittens({})
// You can even create an instance
// if you’re that way inclined!
obj = new mittens
// You can add event listeners...
obj.on('event', console.log)
// and emit as many values as you please!
// (each will be passed as an argument)
obj.emit('event', 1)
obj.emit('event', 1, 2)
obj.emit('event', 1, 2, 3)
// You can also add wildcard event listeners...
obj.on('*', function (name, one) {
// name === 'event'
// one === 1
})
// You can remove an event listener...
obj.off('event', console.log)
// or all the listeners of an event...
obj.off('event')
// or all the listeners of all events!
obj.off()
// Now go forth!
benchmark
var i = 10, j = 1000
while (i--) obj.on('event', function () {})
while (j--) obj.emit('event', j)
[419 B] mittens x 5,189 ops/s
[870 B] eventemitter3 x 4,785 ops/s
[1039 B] events x 4,103 ops/s
[290 B] tiny-emitter x 2,554 ops/s
[374 B] emitter-component x 2,487 ops/s
[161 B] mitt x 2,307 ops/s
[384 B] component-emitter x 2,011 ops/s
Note: Bundle sizes calculated via browserify | uglifyjs | brotli