@reliance/feature-flags
Version:
A package for determining feature flag status based on environment variables or flag objects.
24 lines (20 loc) • 595 B
JavaScript
const {
PredicateNotAFunctionError,
InvalidFeatureDefinition,
} = require("./error");
const features = {};
function setFeature(featureDefinitions) {
if (typeof featureDefinitions === "object" && featureDefinitions !== null) {
for (const [featureName, predicateFn] of Object.entries(
featureDefinitions
)) {
if (typeof predicateFn !== "function") {
throw new PredicateNotAFunctionError(featureName);
}
features[featureName] = predicateFn;
}
} else {
throw new InvalidFeatureDefinition();
}
}
module.exports = { features, setFeature };