npm

reeal

0.1.2 • Public • Published

Reeal

npm version Travis CI Badge (master branch)

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.

Package Sidebar

Install

npm i reeal

Weekly Downloads

4

Version

0.1.2

License

MIT

Last publish

Collaborators

  • reg4in