UNPKG

will-core

Version:
52 lines (51 loc) 1.75 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.LabelUtility = void 0; const will_util_1 = require("will-util"); const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); class LabelUtility { constructor(labelname) { this.labelname = labelname; } async load(workdir, labelpath = "label") { let filename = this.labelname; if (filename.lastIndexOf(".json") < 0) filename += ".json"; if (!workdir) workdir = will_util_1.Utilities.getWorkingDir(path_1.default.dirname(__dirname)); let fullfilename = path_1.default.join(workdir, labelpath, filename); let existing = fs_1.default.existsSync(fullfilename); if (existing) { try { let data = fs_1.default.readFileSync(fullfilename, "utf-8"); return JSON.parse(data); } catch (ex) { console.error(ex); } } return []; } build(ary) { let result = {}; if (ary) { for (let data of ary) { let ds = {}; for (let item of data.label) { ds[item.name] = item.value; } result[data.language] = ds; } } return result; } async loadAndBuild(workdir, labelpath = "label") { let ary = await this.load(workdir, labelpath); return this.build(ary); } } exports.LabelUtility = LabelUtility;