feature-flipper

0.1.0 • Public • Published

Feature-Flipper

standard-readme compliant XO code styleBuild StatusCoverage Status

Another feature flipper module

TODO: Fill out this long description.

Table of Contents

Install

npm install --save feature-flipper

Usage

const Flipper = require('feature-flipper');
const flip = new Flipper();
 
// Lets add a feature
flip.set('somefeature', false);
 
// Use the set method to change the status of a feature
flip.set('somefeature', true);
 
// To check if a feature is enabled
console.log( flip.isEnabled('somefeature') ); // true
 
// To flip the status of the feature
flip.flip('somefeature')
console.log( flip.isEnabled('somefeature') ); // false
 
// To remove the feature
flip.remove('somefeature');
 
// If you have your feature set in a seperate json object / file you can load them in
const featureSet = {
    somefeature: true,
    someOtherFeature: false
};
flip.load(featureSet);
console.log( flip.isEnabled('someOtherFeature') ); // false
 

API

TODO: Fill out API specification.

Middleware

This module can be used to enable/disable endpoints in your restify/express like http server with a middleware like the following.

function flipMW(feature) {
    return function(req, res, next) {
        if(flip.isEnabled(feature)) {
            return next();
        } else {
            return res.send(403);
        }
    }
}
 
server.get('/somefeature', [
    flipMW('somefeature'),
    (req, res, next) => {
        res.send('somefeature endpoint');
        return next();
    }
]);

Maintainers

@rolfkoenders

Contribute

PRs accepted.

Small note: If editing the README, please conform to the standard-readme specification.

License

MIT © 2017 Rolf Koenders

Dependencies (0)

    Dev Dependencies (8)

    Package Sidebar

    Install

    npm i feature-flipper

    Weekly Downloads

    0

    Version

    0.1.0

    License

    MIT

    Last publish

    Collaborators

    • rolfkoenders