control-rod

Control structure for connecting and disconnecting event emitters and event handlers

control-rod

Stability: 1 - Experimental

Control structure for connecting and disconnecting event emitters and event handlers.

var ControlRod = require('control-rod'),
    events = require('events');
 
var someEventEmitter = new events.EventEmitter();
 
var rod = new ControlRod(someEventEmitter, 'happening', function (param) {
    console.log('happening happened with param ' + param); 
});
 
rod.connect(); // adds the event handler as the handler for 'happening' event 
 
someEventEmitter.emit('happening', 'myParam');
// console: happening happened with param myParam 
 
rod.disconnect(); // removes the event handler 
 
someEventEmitter.emit('happening', 'myParam');
// nothing happens 
npm test

ControlRod is an abstraction that provides a simple wrapper around an event emitter, an event name, and an event handler that enables. Multiple ControlRods can be combined into a ControlRodAssembly wich provides a coarse grain control over attaching and detaching numerous event handlers.

Public API

  • emitter: EventEmitter An instance of an EventEmitter.
  • event: String Name of an event.
  • handler: Function An instance of an event handler function.

Creates a new instance of a ControlRod.

Adds the handler as a listener for the event with the emitter. If controlRod is already connected, the handler is not added.

Removes the handler from listeners for the event from the emitter. If controlRod is already disconnected, the handler is not removed.