mapcomplete/Customizations/SharedTagRenderings.ts

34 lines
1 KiB
TypeScript
Raw Normal View History

2020-10-27 00:01:34 +00:00
import TagRenderingConfig from "./JSON/TagRenderingConfig";
import * as questions from "../assets/tagRenderings/questions.json";
import * as icons from "../assets/tagRenderings/icons.json";
2020-10-27 00:01:34 +00:00
export default class SharedTagRenderings {
public static SharedTagRendering = SharedTagRenderings.generatedSharedFields();
public static SharedIcons = SharedTagRenderings.generatedSharedFields(true);
2020-10-27 00:01:34 +00:00
private static generatedSharedFields(iconsOnly = false) {
2020-10-27 00:01:34 +00:00
const dict = {}
function add(key, store) {
2020-10-27 00:01:34 +00:00
try {
2020-12-08 22:44:34 +00:00
dict[key] = new TagRenderingConfig(store[key], key)
2020-10-27 00:01:34 +00:00
} catch (e) {
2020-12-08 22:44:34 +00:00
console.error("BUG: could not parse", key, " from questions.json or icons.json - this error happened during the build step of the SharedTagRenderings", e)
2020-10-27 00:01:34 +00:00
}
}
if (!iconsOnly) {
for (const key in questions) {
add(key, questions);
}
}
for (const key in icons) {
add(key, icons);
}
2020-10-27 00:01:34 +00:00
return dict;
}
}