@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
26 lines (25 loc) • 1.18 kB
JavaScript
;
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;