mobility-toolbox-js
Version:
Toolbox for JavaScript applications in the domains of mobility and logistics.
21 lines (20 loc) • 765 B
JavaScript
const getLayersAsFlatArray = (layersOrLayer) => {
let layers = layersOrLayer;
if (!Array.isArray(layers)) {
layers = [layersOrLayer];
}
let flatLayers = [];
layers.forEach((layer) => {
var _a, _b, _c;
flatLayers.push(layer);
// Handle children property and ol.layer.Group
const children =
// @ts-expect-error children is deprecated
layer.children ||
layer.get('children') ||
((_c = (_b = (_a = layer).getLayers) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.getArray());
flatLayers = flatLayers.concat(getLayersAsFlatArray(children || []));
});
return flatLayers;
};
export default getLayersAsFlatArray;