reeal
v0.1.2
Published
simple event emitter
Downloads
5
Maintainers
Readme
Reeal
Simple event emitter for node.js and the browser.
How to include
Node.js / Browserify
In your shell:
$ npm install --save reeal
In your javascript:
var Reeal = require('reeal')
Browser ("classic" way)
Just add a script
tag with either reeal.js
or reeal.min.js
from this repos root directory.
This makes the Reeal
variable globally available.
typeof window.Reeal
// --> 'function'
API
Reeal#constructor([<context>])
Creates a new instance. If context is specified, all listeners will be invoked with it.
var events = new Reeal(this)
Reeal#trigger(<name>[, <args>])
Triggers all listeners to event name
.
If specified, the array args
is applied to each listener.
events.trigger('your average event')
events.trigger('party time', ['Angela', 'Bob', 'Charlie'])
Reeal#on(<name>, <callback>)
Adds a listener callback
to the event name
.
events.on('party time', function (people) {
console.log('Parteey!')
console.log('With ' + people.join(' and ') + '!')
})
Reeal#off(<name>, <callback>[, <all>])
Removes callback
from the listener list for name
.
NOTE: If callback
is bound to the event twice or more often, it will be removed only once, except all
is truthy.
events.off('partytime', listener)
events.off('partytime', listener, true)
Reeal#triggerAll([<args>])
Simply triggers all callbacks in every listener list no matter what event name.
If specified, the array args
is applied to each listener.
events.triggerAll()
events.triggerAll(['Angela', 'Bob', 'Charlie'])
To do
- [ ] Enhance browser compatabilty (use less ES5)
Testing/Building
Installing development dependencies
$ npm install
Running tests
$ npm test
Building for the browser
$ npm run build
$ # for building on file change
$ npm run watch
License
MIT license, see LICENSE
.