import * as questions from "../assets/tagRenderings/questions.json"; import * as icons from "../assets/tagRenderings/icons.json"; import {Utils} from "../Utils"; import TagRenderingConfig from "../Models/ThemeConfig/TagRenderingConfig"; import {TagRenderingConfigJson} from "../Models/ThemeConfig/Json/TagRenderingConfigJson"; export default class SharedTagRenderings { public static SharedTagRendering: Map = SharedTagRenderings.generatedSharedFields(); public static SharedTagRenderingJson: Map = SharedTagRenderings.generatedSharedFieldsJsons(); public static SharedIcons: Map = SharedTagRenderings.generatedSharedFields(true); private static generatedSharedFields(iconsOnly = false): Map { const configJsons = SharedTagRenderings.generatedSharedFieldsJsons(iconsOnly) const d = new Map() for (const key of Array.from(configJsons.keys())) { try { d.set(key, new TagRenderingConfig(configJsons.get(key), undefined, `SharedTagRenderings.${key}`)) } catch (e) { if (!Utils.runningFromConsole) { console.error("BUG: could not parse", key, " from questions.json or icons.json - this error happened during the build step of the SharedTagRenderings", e) } } } return d } private static generatedSharedFieldsJsons(iconsOnly = false): Map { const dict = new Map(); if (!iconsOnly) { for (const key in questions) { dict.set(key, questions[key]) } } for (const key in icons) { dict.set(key, icons[key]) } return dict; } }