SkillAgentSearch skills...

Energy

Universal JavaScript event emitter

Install / Use

/learn @ryanve/Energy
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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

  • <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 emitter as 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

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated2y ago
Forks0

Languages

JavaScript

Security Score

75/100

Audited on Feb 4, 2024

No findings