UNPKG

eas-cli

Version:
35 lines (34 loc) 1.28 kB
"use strict"; 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;