eas-cli
Version:
EAS command line tool
35 lines (34 loc) • 1.28 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
const env_1 = tslib_1.__importDefault(require("../../env"));
function parseFeatureGateEnvVariableValue(value) {
if (!value) {
return [];
}
return value.split(',').map(v => v.trim());
}
class FeatureGateEnvOverrides {
map = new Map();
constructor() {
const overrideEnableGateKeys = new Set(parseFeatureGateEnvVariableValue(env_1.default.featureGateEnable));
const overrideDisableGateKeys = new Set(parseFeatureGateEnvVariableValue(env_1.default.featureGateDisable));
for (const overrideEnableKey of overrideEnableGateKeys) {
if (overrideDisableGateKeys.has(overrideEnableKey)) {
continue;
}
this.map.set(overrideEnableKey, true);
}
for (const overrideDisableGateKey of overrideDisableGateKeys) {
this.map.set(overrideDisableGateKey, false);
}
}
isOverridden(key) {
return this.map.has(key) ?? false;
}
getOverride(key) {
return (0, nullthrows_1.default)(this.map.get(key));
}
}
exports.default = FeatureGateEnvOverrides;
;