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

    control-rod-assemblypublic

    control-rod-assembly

    Stability: 1 - Experimental

    NPM version

    Control structure for connecting and disconnecting multiple ControlRods at once.

    Usage

    var ControlRod = require('control-rod'),
        ControlRodAssembly = require('control-rod-assembly'),
        events = require('events');
     
    var storage = new events.EventEmitter();
    var publicserver = new events.EventEmitter();
    var peerServer = new events.EventEmitter();
     
    var rod1 = new ControlRod(storage, 'foo', function () { /* ... */ });
    var rod2 = new ControlRod(storage, 'bar', function () { /* ... */ });
    var rod3 = new ControlRod(publicserver, 'foo', function () { /* ... */ });
    var rod4 = new ControlRod(publicserver, 'bar', function () { /* ... */ });
    var rod5 = new ControlRod(peerServer, 'foo', function () { /* ... */ });
    var rod6 = new ControlRod(peerServer, 'bar', function () { /* ... */ });
    var rod7 = new ControlRod(peerServer, 'baz', function () { /* ... */ });
     
    var rodAssembly = new ControlRodAssembly(rod1, rod2, rod3, rod4, rod5);
    rodAssembly.add(rod6, rod7);
     
    rodAssembly.on('connected', function () {
        console.log("assembly connected");
    });
    rodAssembly.on('disconnected', function () {
        console.log("assembly disconnected");
    });
     
    rodAssembly.connect();
    // all rods are connected
    rodAssembly.disconnect();
    // all rods are disconnected
     
    rodAssembly.rods();
    // [rod1, rod2, rod3, rod4, rod5, rod6, rod7] array of rods in assembly

    Test

    npm test
    

    Overview

    ControlRodAssembly is an abstraction over a collection of ControlRods in order to connect and disconnect them together.

    Documentation

    ControlRodAssembly

    Public API

    new ControlRodAssembly(rod, [rod, ...])

    • rod, [rod, ...]: ControlRod Zero, one, or more control rods to initialize with.

    Creates a new instance of ControlRodAssembly.

    controlRodAssembly.add(rod, [rod, ...])

    • rod, [rod, ...]: ControlRod Zero, one, or more control rods to add.

    Adds specified ControlRods to assembly.

    controlRodAssembly.connect()

    Connects all ControlRods in the assembly.

    controlRodAssembly.disconnect()

    Disconnects all ControlRods in the assembly.

    controlRodAssembly.remove(rod, [rod, ...])

    • rod, [rod, ...]: ControlRod Zero, one, or more control rods to remove.

    Removes specified ControlRods from assembly.

    controlRodAssembly.rods()

    • Return: Array An array of ControlRods in this assembly.

    Event connected

    • function () {}

    Emitted once all the control rods in the assembly are connected.

    Event disconnected

    • function () {}

    Emitted once all the control rods in the assembly are disconnected.

    install

    npm i control-rod-assembly

    Downloadsweekly downloads

    9

    version

    0.2.1

    license

    MIT

    homepage

    github.com

    last publish

    collaborators

    • avatar