Energy
Universal JavaScript event emitter
Install / Use
/learn @ryanve/EnergyREADME
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
- emitter.<b>on</b>(event, listener)
- emitter.<b>off</b>(event?, listener?, quota?)
- emitter.<b>emit</b>(event, ...args)
- emitter.<b>once</b>(event, listener)
- emitter.<b>clone</b>()
- emitter.<b>listeners</b>(event)
- emitter.<b>init</b>()
- emitter.<b>to</b>(target)
- <b>energy</b>.to(target)
Parameters
- <var>emitter</var> refers to an
energy()object - <var>event</var> refers to an event name
- <var>listener</var> refers to a function that listens to an event
<a name="emitter-on"></a>
emitter.on(event, listener)
- Add <var>listener</var> for <var>event</var>
- <b>@return</b> emitter
<a name="emitter-off"></a>
emitter.off(event?, listener?, quota?)
- Remove listener(s)
.off()removes all listeners for all events.off(event)removes all <var>event</var> listeners.off(event, listener)removes all occurrences of <var>event</var> <var>listener</var>.off(event, listener, quota)remove <var>quota</var> occurrences of <var>event</var> <var>listener</var>
- <b>@return</b> emitter
<a name="emitter-emit"></a>
emitter.emit(event, ...args)
- Fire <var>event</var> listeners (in sequence) with the supplied arguments
- Listeners run in the context of <var>emitter</var>
- <b>@return</b> number of invoked listeners
<a name="emitter-once"></a>
emitter.once(event, listener)
- Add a one-time <var>event</var> <var>listener</var>
- <b>@return</b> <var>emitter</var>
<a name="emitter-clone"></a>
emitter.clone()
- Clone an emitter at its current state
- <b>@return</b> a new emitter
<a name="emitter-listeners"></a>
emitter.listeners(event)
- Access the listeners array for the specified <var>event</var>
- <b>@return</b> array (reference)
<a name="emitter-init"></a>
emitter.init()
- Reinitialize an emitter
- <b>@return</b> <var>emitter</var>
<a name="emitter-to"></a>
emitter.to(target)
- Make <var>target</var> emitter-like based on
emitteras the source. - <b>@return</b> <var>emitter</var>
<a name="energy-to"></a>
energy.to(target)
- Make <var>target</var> emitter-like based on a
energy()object as the source - <b>@return</b> <var>target</var> with emitter methods and properties
<a name="platforms"></a>
Compatibility
Works in node and in any browser. Tested in node, Chrome, FF, Opera, IE8
