More exhaustive layergroup validation:
- layers is an array and it's not empty - layers has at least options
This commit is contained in:
@@ -138,8 +138,22 @@ function isInvalidLayergroup(layergroup) {
|
||||
return new Error('Missing layergroup');
|
||||
}
|
||||
|
||||
if (!_.isArray(layergroup.layers)) {
|
||||
return new Error('Missing layers array from layergroup config');
|
||||
var layers = layergroup.layers;
|
||||
|
||||
if (!_.isArray(layers) || layers.length === 0) {
|
||||
return new Error('Missing or empty layers array from layergroup config');
|
||||
}
|
||||
|
||||
var invalidLayers = layers
|
||||
.map(function(layer, layerIndex) {
|
||||
return layer.options ? null : layerIndex;
|
||||
})
|
||||
.filter(function(layerIndex) {
|
||||
return layerIndex !== null;
|
||||
});
|
||||
|
||||
if (invalidLayers.length) {
|
||||
return new Error('Missing `options` in layergroup config for layers: ' + invalidLayers.join(', '));
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user