Socket
Book a DemoInstallSign in
Socket

gr-event-dispatcher

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gr-event-dispatcher

JavaScript events for custom objects

latest
Source
npmnpm
Version
1.1.1
Version published
Maintainers
1
Created
Source

eventDispatcher

JavaScript events for custom objects

Build Status npm version devDependency Status Dependencies

Install

npm

$ npm install gr-event-dispatcher

API

eventDispatcher~addEventListener(type, listener) ⇒ Object

Registers the specified listener on the event target it's called on.

Kind: inner method of eventDispatcher
Returns: Object - The eventDispatcher object.
Throws:

  • TypeError If the object that eventDispatcher is applied to is not extensible.
ParamTypeDescription
typeStringA string representing the event type to listen for.
listenerfunctionA function to be executed when an event of the specified type occurs.

eventDispatcher~hasEventListener(type, listener) ⇒ Boolean

Checks if the target object has a listener registered on for specific event type.

Kind: inner method of eventDispatcher
Returns: Boolean - True if target object has listener registered for specific event type; otherwise false.

ParamTypeDescription
typeStringA string representing the event type.
listenerfunctionThe event listener to check if registered for the specified event type.

eventDispatcher~removeEventListener(type, listener) ⇒ Object

Removes the previously registered event listener from the event target.

Kind: inner method of eventDispatcher
Returns: Object - The eventDispatcher object.

ParamTypeDescription
typeStringA string representing the event type to remove.
listenerfunctionThe event listener function to remove from the event target.

eventDispatcher~dispatchEvent(event) ⇒ Object

Dispatches an event at the specified event target.

Kind: inner method of eventDispatcher
Returns: Object - The eventDispatcher object.

ParamTypeDescription
eventObjectThe event object to be dispatched.

eventDispatcher~apply(object) ⇒ Object

Applies the eventDispatcher prototype methods to the event target.

Kind: inner method of eventDispatcher
Returns: Object - The eventDispatcher object.
Throws:

  • TypeError If the object that eventDispatcher is applied to is not extensible.
ParamTypeDescription
objectObjectThe event target object.

Example

var car = {
  start: function (afterStartCallback) {
    // Dispatch `start` event.
    this.dispatchEvent({type: 'start', message: 'Start engines'});
    afterStartCallback && afterStartCallback(this);
  },
  stop: function () {
    // Dispatch `stop` event.
    this.dispatchEvent({type: 'stop', message: 'Stop engines'});
  }
};

function startEngines(event) {
  console.log(event.message);
}

function stopEngines(event) {
  console.log(event.message);
}

// Apply `eventDispatcher` methods to the prototype of the event target.
eventDispatcher.apply(Object.getPrototypeOf(car));

// Register event listeners to event target.
car
  .addEventListener('start', startEngines)
  .addEventListener('afterStart', startEngines)
  .addEventListener('stop', stopEngines);

// `start` event fires first, then `afterStart` and finally
// after two seconds `stop` events fires.

car.start(function (self) {
  // Dispatch `afterStart` event.
  self.dispatchEvent({type: 'afterStart', message: 'Car has started'});
});

console.log(car.hasEventListener('start', startEngines));      // -> true
console.log(car.hasEventListener('afterStart', startEngines)); // -> true
console.log(car.hasEventListener('stop', startEngines));       // -> false
console.log(car.hasEventListener('stop', stopEngines));        // -> true

setTimeout(function () {
  car.stop();

  // Remove all event listeners from event target.
  car
    .removeEventListener('start', startEngines)
    .removeEventListener('afterStart', startEngines)
    .removeEventListener('stop', stopEngines);
}, 2000);

Keywords

event

FAQs

Package last updated on 30 Dec 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts