README
control-rod
Stability: 1 - Experimental
Control structure for connecting and disconnecting event emitters and event handlers.
Usage
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
Test
npm test
Overview
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.
Documentation
ControlRod
Public API
new ControlRod(emitter, event, handler)
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.
controlRod.connect()
Adds the handler
as a listener for the event
with the emitter
. If controlRod
is already connected, the handler
is not added.
controlRod.disconnect()
Removes the handler
from listeners for the event
from the emitter
. If controlRod
is already disconnected, the handler
is not removed.