UNPKG

will-core

Version:
49 lines (48 loc) 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LabelConfig = void 0; const LabelUtility_1 = require("./LabelUtility"); const datalabel = {}; class LabelConfig { constructor(configname, language = "EN") { this.configname = configname; this.language = language; this.label = {}; } async load(workdir, labelpath = "label") { let util = new LabelUtility_1.LabelUtility(this.configname); this.label = await util.loadAndBuild(workdir, labelpath); if (!datalabel.default_label) { let defutil = new LabelUtility_1.LabelUtility("default_label"); datalabel["default_label"] = await defutil.loadAndBuild(workdir, labelpath); } } get(key, defaultLabel, language) { if (!language) language = this.language; let result = undefined; if (this.label.hasOwnProperty(language)) { let langmap = this.label[language]; if (langmap.hasOwnProperty(key)) { result = langmap[key]; } } if (!result) { if (datalabel.hasOwnProperty("default_label")) { let deflabel = datalabel["default_label"]; if (deflabel) { if (deflabel.hasOwnProperty(language)) { let deflabellang = deflabel[language]; if (deflabellang) { if (deflabellang.hasOwnProperty(key)) { result = deflabellang[key]; } } } } } } return result ? result : defaultLabel; } } exports.LabelConfig = LabelConfig;