Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    control-rodpublic

    control-rod

    Stability: 1 - Experimental

    NPM version

    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.

    Keywords

    none

    install

    npm i control-rod

    Downloadsweekly downloads

    4

    version

    0.1.0

    license

    none

    last publish

    collaborators

    • avatar