Skip to content

ryanve/energy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

energy

simple cross-platform event emitter based on EventEmitter

API

Create an emitter instance

const energy = require("energy")
const emitter = energy()

Or use new if you prefer. Either way works :)

const energy = require("energy")
const emitter = new energy

Methods

Parameters

  • emitter refers to an energy() object
  • event refers to an event name
  • listener refers to a function that listens to an event

emitter.on(event, listener)

  • Add listener for event
  • @return emitter

emitter.off(event?, listener?, quota?)

  • Remove listener(s)
    • .off() removes all listeners for all events
    • .off(event) removes all event listeners
    • .off(event, listener) removes all occurrences of event listener
    • .off(event, listener, quota) remove quota occurrences of event listener
  • @return emitter

emitter.emit(event, ...args)

  • Fire event listeners (in sequence) with the supplied arguments
  • Listeners run in the context of emitter
  • @return number of invoked listeners

emitter.once(event, listener)

  • Add a one-time event listener
  • @return emitter

emitter.clone()

  • Clone an emitter at its current state
  • @return a new emitter

emitter.listeners(event)

  • Access the listeners array for the specified event
  • @return array (reference)

emitter.init()

  • Reinitialize an emitter
  • @return emitter

emitter.to(target)

  • Make target emitter-like based on emitter as the source.
  • @return emitter

energy.to(target)

  • Make target emitter-like based on a energy() object as the source
  • @return target with emitter methods and properties

Compatibility

Works in node and in any browser. Tested in node, Chrome, FF, Opera, IE8