UNPKG

feed-validator

Version:

Simple validator for RSS, Atom or opensearch.xml that using validator.w3.org/feed and plugins

40 lines (33 loc) 1.1 kB
/** * @file * Suppress errors, warnings and info by config */ var _ = require('lodash'); /** * Suppress * @param {Object} validationData * @param {Object} options * @param {Array} [options.suppress] * @returns {Object} New validation data without suppressed messages */ module.exports = function suppress(validationData, options) { validationData = _.cloneDeep(validationData); if (!options.suppress) { return validationData; } var suppressRules = [].concat(options.suppress); _.each(['errors', 'warnings', 'info'], function (field) { validationData[field] = _.filter(validationData[field], checkMessage); }); validationData.isValid = validationData.isValid || validationData.errors.length == 0; function checkMessage(message) { var matchMessage = _.partial(matchRule, message); return !_.some(suppressRules, matchMessage); } function matchRule(message, rule) { return _.every(_.keys(rule), function (field) { return rule[field] === message[field]; }); } return validationData; };