var _ = require( 'lodash' ); var type_mapping = require( '../helper/type_mapping' ); /* * This sanitizer depends on clean.layers and clean.sources * so it has to be run after those sanitizers have been run */ function sanitize( raw, clean ){ var messages = { errors: [], warnings: [] }; var possible_errors = []; var at_least_one_valid_combination = false; if (clean.layers && clean.sources) { clean.sources.forEach(function(source) { var layers_for_source = type_mapping.layers_by_source[source]; clean.layers.forEach(function(layer) { if (_.includes(layers_for_source, layer)) { at_least_one_valid_combination = true; } else { var message = 'You have specified both the `sources` and `layers` ' + 'parameters in a combination that will return no results: the ' + source + ' source has nothing in the ' + layer + ' layer'; possible_errors.push(message); } }); }); if (!at_least_one_valid_combination) { messages.errors = possible_errors; } } return messages; } module.exports = sanitize;