adr
Version:
轻量级架构记录工具 - Command-line tools for working with Architecture Decision Records
62 lines • 4.73 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GenerateBuilder = void 0;
const utils_1 = require("../utils");
const getAdrFiles_1 = require("../helpers/getAdrFiles");
const Config_1 = require("../Config");
class GenerateBuilder {
constructor(path) {
this.path = path;
this.bodyString = [''];
this.files = getAdrFiles_1.default();
}
setBody(handleBody) {
let files = this.files;
let bodyString = this.bodyString;
this.files.forEach(function (file) {
let fileName = file.relativePath;
let fileExt = Config_1.default.getDocExtension();
let fileNameLength = fileName.length;
let numberLength = utils_1.default.getNumberLength(fileName) + '-'.length;
let fileExtLength = ('.' + fileExt).length;
let index = utils_1.default.getIndexByString(fileName);
if (index) {
let decision = fileName.substring(numberLength, fileNameLength - fileExtLength);
handleBody(index, decision, file, bodyString, files.length);
}
});
return this;
}
setStart(startSting) {
this.startString = startSting;
return this;
}
setEnd(endString) {
if (endString) {
this.endString = endString;
}
else if (typeof endString === 'string') {
this.endString = '';
}
return this;
}
build() {
if (typeof this.startString === 'string') {
return this.startString + this.bodyString.join('') + this.endString;
}
if (typeof this.startString === 'object') {
let results = [];
results.push(this.startString);
for (let i = 0; i < this.bodyString.length; i++) {
let currentBodyString = this.bodyString[i];
if (currentBodyString) {
results.push(currentBodyString);
}
}
return results;
}
return '';
}
}
exports.GenerateBuilder = GenerateBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2VuZXJhdGVCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9iYXNlL0dlbmVyYXRlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxvQ0FBNEI7QUFDNUIsd0RBQWdEO0FBRWhELHNDQUE4QjtBQUU5QixNQUFhLGVBQWU7SUFPMUIsWUFBYSxJQUFZO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLHFCQUFXLEVBQUUsQ0FBQTtJQUM1QixDQUFDO0lBRUQsT0FBTyxDQUFFLFVBQWU7UUFDdEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUN0QixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSTtZQUMvQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFBO1lBQ2hDLElBQUksT0FBTyxHQUFHLGdCQUFNLENBQUMsZUFBZSxFQUFFLENBQUE7WUFDdEMsSUFBSSxjQUFjLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQTtZQUNwQyxJQUFJLFlBQVksR0FBRyxlQUFLLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7WUFDL0QsSUFBSSxhQUFhLEdBQUcsQ0FBQyxHQUFHLEdBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFBO1lBQ3hDLElBQUksS0FBSyxHQUFHLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUM1QyxJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxjQUFjLEdBQUcsYUFBYSxDQUFDLENBQUE7Z0JBQy9FLFVBQVUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2FBQzVEO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxRQUFRLENBQUUsVUFBNkI7UUFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUE7UUFDN0IsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFFLFNBQTZCO1FBQ25DLElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7U0FDM0I7YUFBTSxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRTtZQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQTtTQUNwQjtRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxRQUFRLEVBQUU7WUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUE7U0FDcEU7UUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxRQUFRLEVBQUU7WUFDeEMsSUFBSSxPQUFPLEdBQWUsRUFBRSxDQUFBO1lBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQzlCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUcsRUFBRTtnQkFDaEQsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUMxQyxJQUFJLGlCQUFpQixFQUFFO29CQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUE7aUJBQ2hDO2FBQ0Y7WUFDRCxPQUFPLE9BQU8sQ0FBQTtTQUNmO1FBQ0QsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0NBQ0Y7QUE5REQsMENBOERDIn0=