@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
22 lines (21 loc) • 988 B
JavaScript
import { ERROR_EMPTY_ARRAY } from '../../logger/constants';
import { uniq } from '../lang';
import { validateDefinition } from './definition';
export 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 = 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 uniq(validatedArray_1);
}
log.error(ERROR_EMPTY_ARRAY, [method, listName]);
return false;
}