1.0.1 • Published 5 years ago
node-toggles v1.0.1
node-toggles
This is a helper to work with feature toggles in NodeJS. It defines multiple constructors to help controlling the feature toggles.
Install
npm install --save node-toggles
Usage
- Creating a feature toggles object:
// require the toggles module
const toggles = require("node-toggles");
// creates a toggles object with no features activated
const emptyFeatureToggles = toggles.empty();
const activeFeaturesArray = [
{ code: "example_feature", status: true },
{ code: "test_feature", status: false }
]
// creates a toggles object with the passed features
const arrayFeatureToggles = toggles.fromArray(activeFeatures);
// creates a toggles object with the environment variables that ends with the "feature" sufix
const envFeatureToggles = toggles.fromEnv();
const activeFeaturesJson = {
"example_feature": true,
"test_feature": false
};
// creates a toggles object with the features defined in the json
const jsonFeatureToggles = toggles.fromJson(activeFeaturesJson);
- To define a toggled feature you can:
// require the toggles module
const toggles = require("node-toggles");
const featureToggles = toggles.fromJson({
"example_feature": true
});
// check if the toggle is active
if (featureToggles.active ("example_feature")) {
// feature code
} else {
// alternative code
}
// use the "feature" function
featureToggles.feature("example_feature", () => {
// feature code
});
// optionally you can pass an alternative function
featureToggles.feature("example_feature", () => {
// feature code
}, () => {
// alternative code
});
- You can also set features during execution
// require the toggles module
const toggles = require("node-toggles");
const featureToggles = toggles.empty();
// you can directly pass the feature toggle status
featureToggles.set("example_feature", true);
// or pass an avaliation function, to decide wheter the feature will be executed exery feature toggle test
featureToggles.set("example_feature", () => {
return 1 + 1 === 2;
});