UNPKG

adr

Version:

轻量级架构记录工具 - Command-line tools for working with Architecture Decision Records

62 lines 5.19 kB
let moment = require('moment'); let Table = require('table'); let colors = require('colors/safe'); import Utils from './utils'; import StatusHelper from './StatusHelper'; import { ListGenerateBuilder } from './base/ListGenerateBuilder'; import Config from './Config'; import StatusColor from './enum/StatusColor'; let path = Config.getSavePath(); export function getStatusColor(lastStatus) { let allStatus = Utils.getI18n()['status']; let color = ''; if (!allStatus) { return StatusColor.get('done'); } Object.keys(allStatus).forEach(function (statusKey) { if (allStatus[statusKey] === lastStatus) { color = StatusColor.get(statusKey); } }); return color; } function getStatusWithColor(lastStatus) { if (!lastStatus) { return lastStatus; } let originLastStatus = lastStatus; let splitStatus = lastStatus.split(' '); if (splitStatus.length > 1) { lastStatus = splitStatus[splitStatus.length - 1].replace(' ', ''); } let color = getStatusColor(lastStatus); if (color) { let ColorText = colors[color]; return originLastStatus = ColorText(originLastStatus); } return originLastStatus; } function buildTocBodyFun(index, decision, file, bodyString) { let lastStatus = StatusHelper.getLatestStatus(path + file.relativePath); let newItem = [index + '.' + decision, moment(file.mtime).format('YYYY-MM-DD'), getStatusWithColor(lastStatus)]; return bodyString.push(newItem); } function listAdrByPath(path) { let i18n = Utils.getI18n(); let tableData = [i18n.decision, i18n.modifiedDate, i18n.lastStatus]; let listGenerateBuilder = new ListGenerateBuilder(path); let results = listGenerateBuilder .setStart(tableData) .setEnd() .setBody(buildTocBodyFun) .build(); return Table.table(results); } export function list() { let path = Config.getSavePath(); let adrs = listAdrByPath(path); // TODO: not to remove again console.log(adrs); return adrs; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDOUIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQzVCLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUVuQyxPQUFPLEtBQUssTUFBTSxTQUFTLENBQUE7QUFDM0IsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUE7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDaEUsT0FBTyxNQUFNLE1BQU0sVUFBVSxDQUFBO0FBQzdCLE9BQU8sV0FBVyxNQUFNLG9CQUFvQixDQUFBO0FBRTVDLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtBQUUvQixNQUFNLFVBQVUsY0FBYyxDQUFFLFVBQWtCO0lBQ2hELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUN6QyxJQUFJLEtBQUssR0FBdUIsRUFBRSxDQUFBO0lBQ2xDLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7S0FDL0I7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLFNBQVM7UUFDaEQsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssVUFBVSxFQUFFO1lBQ3ZDLEtBQUssR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1NBQ25DO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDRixPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFFLFVBQWtCO0lBQzdDLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDZixPQUFPLFVBQVUsQ0FBQTtLQUNsQjtJQUNELElBQUksZ0JBQWdCLEdBQUcsVUFBVSxDQUFBO0lBQ2pDLElBQUksV0FBVyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDdkMsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUMxQixVQUFVLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtLQUNsRTtJQUNELElBQUksS0FBSyxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUN0QyxJQUFJLEtBQUssRUFBRTtRQUNULElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM3QixPQUFPLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0tBQ3REO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQTtBQUN6QixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsVUFBVTtJQUN6RCxJQUFJLFVBQVUsR0FBRyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDdkUsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBQy9HLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUNqQyxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUUsSUFBWTtJQUNsQyxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDMUIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ25FLElBQUksbUJBQW1CLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN2RCxJQUFJLE9BQU8sR0FBRyxtQkFBbUI7U0FDOUIsUUFBUSxDQUFDLFNBQVMsQ0FBQztTQUNuQixNQUFNLEVBQUU7U0FDUixPQUFPLENBQUMsZUFBZSxDQUFDO1NBQ3hCLEtBQUssRUFBRSxDQUFBO0lBRVYsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsSUFBSTtJQUNsQixJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDL0IsSUFBSSxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlCLDRCQUE0QjtJQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2pCLE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQyJ9