UNPKG

adr

Version:

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

62 lines 4.73 kB
"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=