operable

A utility for handling operability

Operable

A really simple abstraction for dealing with operability. Great for binding with a synchronization system such as zookeeper to toggle functionality on and off in real time.

An Operable also returns the value of the path chosen when calling #fold() so this improves upon just using an if/else by abstracting it into an expression rather then a statement driven control statement.

var Operable = require("operable");
 
// Create an operable switch 
var logSwitch = new Operable(true);
 
// Create a function that makes use of the operable switch 
var runSwitch = function() {
    return logSwitch.fold(
        function() { return "switch enabled"; },
        function() { return "switch disabled" }
    );
};
 
// print the result of calling the function that uses the switch 
console.log(runSwitch());
 
// deactivate the switch 
logSwitch.deactivate();
 
// print the result of calling the function that uses the switch 
console.log(runSwitch());