mobility-toolbox-js
Version:
Toolbox for JavaScript applications in the domains of mobility and logistics.
20 lines (19 loc) • 771 B
JavaScript
// TODO: I use any to avoid circular dependency with common/layers/layer
const getLayersAsFlatArray = (layersOrLayer) => {
let layers = layersOrLayer;
if (!Array.isArray(layers)) {
layers = [layersOrLayer];
}
let flatLayers = [];
layers.forEach((layer) => {
var _a, _b;
flatLayers.push(layer);
// Handle children property and ol.layer.Group
const children = layer.children ||
layer.get('children') ||
((_b = (_a = layer.getLayers) === null || _a === void 0 ? void 0 : _a.call(layer)) === null || _b === void 0 ? void 0 : _b.getArray());
flatLayers = flatLayers.concat(getLayersAsFlatArray(children || []));
});
return flatLayers;
};
export default getLayersAsFlatArray;