import LayerConfig from "./JSON/LayerConfig"; import * as known_layers from "../assets/generated/known_layers_and_themes.json" import {Utils} from "../Utils"; export default class AllKnownLayers { // Must be below the list... public static sharedLayers: Map = AllKnownLayers.getSharedLayers(); public static sharedLayersJson: Map = AllKnownLayers.getSharedLayersJson(); public static sharedUnits: any[] = [] private static getSharedLayers(): Map { const sharedLayers = new Map(); for (const layer of known_layers.layers) { try { const parsed = new LayerConfig(layer, AllKnownLayers.sharedUnits,"shared_layers") sharedLayers.set(layer.id, parsed); sharedLayers[layer.id] = parsed; } catch (e) { if (!Utils.runningFromConsole) { console.error("CRITICAL: Could not parse a layer configuration!", layer.id, " due to", e) } } } for (const layout of known_layers.themes) { for (const layer of layout.layers) { if (typeof layer === "string") { continue; } if (layer.builtin !== undefined) { // This is a builtin layer of which stuff is overridden - skip continue; } try { const parsed = new LayerConfig(layer, AllKnownLayers.sharedUnits ,"shared_layer_in_theme") sharedLayers.set(layer.id, parsed); sharedLayers[layer.id] = parsed; } catch (e) { if (!Utils.runningFromConsole) { console.error("Could not parse a layer in theme ", layout.id, "due to", e) } } } } return sharedLayers; } private static getSharedLayersJson(): Map { const sharedLayers = new Map(); for (const layer of known_layers.layers) { sharedLayers.set(layer.id, layer); sharedLayers[layer.id] = layer; } return sharedLayers; } }