UNPKG

adr

Version:

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

32 lines 2.99 kB
let fs = require('fs'); let moment = require('moment'); import StatusHelper from '../StatusHelper'; import Utils from '../utils'; import Config from '../Config'; import BasicOutput from './BasicOutput'; import { GenerateBuilder } from '../base/GenerateBuilder'; let savePath = Config.getSavePath(); class CSVBuilder extends BasicOutput { buildFunc(index, decision, file, bodyString) { let lastStatus = StatusHelper.getLatestStatus(savePath + file.relativePath); let body = `${index}, ${decision}, ${moment(file.mtime).format('YYYY-MM-DD')}, ${lastStatus}\n`; return bodyString.push(body); } buildContent() { let path = Config.getSavePath(); let i18n = Utils.getI18n(); let graphGenerate = new GenerateBuilder(path); let startString = `Index, ${i18n.decision}, ${i18n.modifiedDate}, ${i18n.lastStatus}\n`; this.result = graphGenerate .setStart(startString) .setEnd('') .setBody(this.buildFunc) .build(); return this.result; } output() { fs.writeFileSync(this.workDir + '/export.csv', this.result); } } export default CSVBuilder; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ1NWQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvb3V0cHV0L0NTVkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ3RCLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUU5QixPQUFPLFlBQVksTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLEtBQUssTUFBTSxVQUFVLENBQUE7QUFDNUIsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sV0FBVyxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFFekQsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFBO0FBRW5DLE1BQU0sVUFBVyxTQUFRLFdBQVc7SUFDbEMsU0FBUyxDQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVU7UUFDMUMsSUFBSSxVQUFVLEdBQUcsWUFBWSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQzNFLElBQUksSUFBSSxHQUFHLEdBQUcsS0FBSyxLQUFLLFFBQVEsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLElBQUksQ0FBQTtRQUMvRixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFOUIsQ0FBQztJQUNELFlBQVk7UUFDVixJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDL0IsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQzFCLElBQUksYUFBYSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzdDLElBQUksV0FBVyxHQUFHLFVBQVUsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQTtRQUN2RixJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWE7YUFDeEIsUUFBUSxDQUFDLFdBQVcsQ0FBQzthQUNyQixNQUFNLENBQUMsRUFBRSxDQUFDO2FBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDdkIsS0FBSyxFQUFFLENBQUE7UUFFVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDcEIsQ0FBQztJQUVELE1BQU07UUFDSixFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0NBQ0Y7QUFFRCxlQUFlLFVBQVUsQ0FBQSJ9