UNPKG

@splitsoftware/splitio-commons

Version:
26 lines (25 loc) 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateDefinitions = void 0; var constants_1 = require("../../logger/constants"); var lang_1 = require("../lang"); var definition_1 = require("./definition"); function validateDefinitions(log, maybeDefinitions, method, listName, item) { if (listName === void 0) { listName = 'feature flag names'; } if (item === void 0) { item = 'feature flag name'; } if (Array.isArray(maybeDefinitions) && maybeDefinitions.length > 0) { var validatedArray_1 = []; // Remove invalid values maybeDefinitions.forEach(function (maybeDefinition) { var definitionName = (0, definition_1.validateDefinition)(log, maybeDefinition, method, item); if (definitionName) validatedArray_1.push(definitionName); }); // Strip off duplicated values if we have valid definition names then return if (validatedArray_1.length) return (0, lang_1.uniq)(validatedArray_1); } log.error(constants_1.ERROR_EMPTY_ARRAY, [method, listName]); return false; } exports.validateDefinitions = validateDefinitions;