UNPKG

adr

Version:

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

34 lines 3.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); let fs = require('fs'); let moment = require('moment'); const StatusHelper_1 = require("../StatusHelper"); const utils_1 = require("../utils"); const Config_1 = require("../Config"); const BasicOutput_1 = require("./BasicOutput"); const GenerateBuilder_1 = require("../base/GenerateBuilder"); let savePath = Config_1.default.getSavePath(); class CSVBuilder extends BasicOutput_1.default { buildFunc(index, decision, file, bodyString) { let lastStatus = StatusHelper_1.default.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_1.default.getSavePath(); let i18n = utils_1.default.getI18n(); let graphGenerate = new GenerateBuilder_1.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); } } exports.default = CSVBuilder; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ1NWQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvb3V0cHV0L0NTVkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDdEIsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBRTlCLGtEQUEwQztBQUMxQyxvQ0FBNEI7QUFDNUIsc0NBQThCO0FBQzlCLCtDQUF1QztBQUN2Qyw2REFBeUQ7QUFFekQsSUFBSSxRQUFRLEdBQUcsZ0JBQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtBQUVuQyxNQUFNLFVBQVcsU0FBUSxxQkFBVztJQUNsQyxTQUFTLENBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsVUFBVTtRQUMxQyxJQUFJLFVBQVUsR0FBRyxzQkFBWSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQzNFLElBQUksSUFBSSxHQUFHLEdBQUcsS0FBSyxLQUFLLFFBQVEsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLElBQUksQ0FBQTtRQUMvRixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFOUIsQ0FBQztJQUNELFlBQVk7UUFDVixJQUFJLElBQUksR0FBRyxnQkFBTSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQy9CLElBQUksSUFBSSxHQUFHLGVBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUMxQixJQUFJLGFBQWEsR0FBRyxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDN0MsSUFBSSxXQUFXLEdBQUcsVUFBVSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFBO1FBQ3ZGLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYTthQUN4QixRQUFRLENBQUMsV0FBVyxDQUFDO2FBQ3JCLE1BQU0sQ0FBQyxFQUFFLENBQUM7YUFDVixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUN2QixLQUFLLEVBQUUsQ0FBQTtRQUVWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNwQixDQUFDO0lBRUQsTUFBTTtRQUNKLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzdELENBQUM7Q0FDRjtBQUVELGtCQUFlLFVBQVUsQ0FBQSJ9