diode
v6.3.2
Published
A simple event emitter.
Downloads
1,936
Readme
A dead simple event emitter. Diode only has one event.
Diode.listen(callback)
Diode.emit()
It is also small (see API). We found ourselves building something similar to it on several projects and decided it was better to keep it in one place.
Diode is both an event emitter and a decorator that can add event subscription to another object:
var MyData = Diode({
data: [],
add: function(record) {
this.data.push(record)
this.publish()
}
})
New instances of Diode
Diode also supports the new
operator:
var myDiode = new Diode()
Managing scope
By providing a second argument to listen
, callbacks will be executed
within a given context:
var emitter = new Diode()
emitter.listen(function() {
assert.equal(this, 'custom context')
}, 'custom context')
emitter.emit()
API
listen(callback, &scope)
Add a callback. If a second argument is provided, the callback will be executed within that context.
Alias: subscribe
.
ignore(callback)
Remove a callback.
Alias: unsubscribe
.
emit(...arguments)
Trigger all subscriptions.
Alias: 'publish'
Visit code.viget.com to see more projects from Viget.