2025-05-28 15:36:51 -07:00

27 lines
955 B
JavaScript

import { DEFAULT_FEATURE_FLAG_INFO, FeatureFlagInfoUtils, FeatureFlagEnum, } from '../engine/FeatureFlagInfo';
export class FeatureFlagManager {
// TODO: let make this optional and just get it with the rules engine config...
constructor(featureFlagInfo) {
this.featureFlagInfo = DEFAULT_FEATURE_FLAG_INFO;
this.FLAGS = FeatureFlagEnum;
/**
*
* @param flag the name of a flag
* @returns its current value
*
* Try featureFlagManager.getFlag(featureFlagManager.NAME_OF_FLAG)
*/
this.getFlag = (flag) => {
return FeatureFlagInfoUtils.getFeatureFlagInfoValue(flag, this.featureFlagInfo);
};
/**
*
* @param featureFlagInfo the new feature flags
*/
this.update = (featureFlagInfo) => {
this.featureFlagInfo = featureFlagInfo;
};
this.featureFlagInfo = featureFlagInfo;
}
}