0.1.0 • Published 7 years ago

feature-flipper v0.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
7 years ago

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