adr
Version:
轻量级架构记录工具 - Command-line tools for working with Architecture Decision Records
34 lines • 3.04 kB
JavaScript
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
;