UNPKG

hypertune

Version:

[Hypertune](https://www.hypertune.com/) is the most flexible platform for feature flags, A/B testing, analytics and app configuration. Built with full end-to-end type-safety, Git-style version control and local, synchronous, in-memory flag evaluation. Opt

33 lines 1.17 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getOverrideFromOverridesList; const constants_1 = require("../shared/constants"); const merge_1 = __importDefault(require("./merge")); function getOverrideFromOverridesList(values) { if (values.length === 0) { return null; } const override = (0, merge_1.default)({}, ...values.flatMap(([flagPath, value]) => { if (value === null) { return []; } const flagPathSteps = flagPath.split(".").reverse(); const flagName = flagPathSteps.pop(); return [ { [flagName]: flagPathSteps.reduce((current, step) => ({ [step]: current }), value), }, ]; })); if (Object.keys(override).length === 0) { return null; } if (!(constants_1.rootFieldName in override)) { return { [constants_1.rootFieldName]: override }; } return override; } //# sourceMappingURL=getOverrideFromOverridesList.js.map