A basic feature flag manager based on MongoQuerySyntax.
const { Manager } = require("@bitaffair/feama");
const manager = new Manager();
manager.defineFeature('my-feature-a')
.defaultValue(false)
.rule({
match: { plan: 'a' },
value: true
});
manager.getValue('my-feature-a') // false
manager.setContext({
plan: 'a'
});
manager.getValue('my-feature-a') // true
const childScope = manager.child({
plan: 'a'
});
childScope.getValue('my-feature-a') // true
// define custom resolver
manager.defineResolver({
getValue(feature, context) {
return {
value: true
}
}
});