adr
Version:
轻量级架构记录工具 - Command-line tools for working with Architecture Decision Records
34 lines • 2.82 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const JsonGenerateBuilder_1 = require("../base/JsonGenerateBuilder");
let fs = require('fs');
let moment = require('moment');
const BasicOutput_1 = require("./BasicOutput");
const StatusHelper_1 = require("../StatusHelper");
const Config_1 = require("../Config");
let savePath = Config_1.default.getSavePath();
class JSONBuilder extends BasicOutput_1.default {
buildFunc(index, decision, file, bodyString) {
let lastStatus = StatusHelper_1.default.getLatestStatus(savePath + file.relativePath);
let body = {
index: index,
decision: decision,
modifiedDate: moment(file.mtime).format('YYYY-MM-DD'),
lastStatus: lastStatus
};
return bodyString.push(body);
}
buildContent() {
let path = Config_1.default.getSavePath();
let graphGenerate = new JsonGenerateBuilder_1.JsonGenerateBuilder(path);
this.result = graphGenerate
.setBody(this.buildFunc)
.build();
return JSON.stringify(this.result);
}
output() {
fs.writeFileSync(this.workDir + '/export.json', JSON.stringify(this.result), 'utf-8');
}
}
exports.default = JSONBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSlNPTkJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL291dHB1dC9KU09OQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFFQUFpRTtBQUVqRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDdEIsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBRTlCLCtDQUF1QztBQUN2QyxrREFBMEM7QUFDMUMsc0NBQThCO0FBRTlCLElBQUksUUFBUSxHQUFHLGdCQUFNLENBQUMsV0FBVyxFQUFFLENBQUE7QUFFbkMsTUFBTSxXQUFZLFNBQVEscUJBQVc7SUFDbkMsU0FBUyxDQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVU7UUFDMUMsSUFBSSxVQUFVLEdBQUcsc0JBQVksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUMzRSxJQUFJLElBQUksR0FBRztZQUNULEtBQUssRUFBRSxLQUFLO1lBQ1osUUFBUSxFQUFFLFFBQVE7WUFDbEIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztZQUNyRCxVQUFVLEVBQUUsVUFBVTtTQUN2QixDQUFBO1FBQ0QsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLEdBQUcsZ0JBQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUMvQixJQUFJLGFBQWEsR0FBRyxJQUFJLHlDQUFtQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYTthQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUN2QixLQUFLLEVBQUUsQ0FBQTtRQUVWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELE1BQU07UUFDSixFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ3ZGLENBQUM7Q0FDRjtBQUVELGtCQUFlLFdBQVcsQ0FBQSJ9
;