@ayanaware/bentocord
Version:
Bentocord is a Bento plugin designed to rapidly build fully functional Discord Bots.
53 lines • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CodeblockBuilder = void 0;
class CodeblockBuilder {
constructor(language) {
this.lines = [];
this.language = language;
}
setLanguage(language) {
this.language = language;
}
setHeader(header) {
this.header = header;
}
setFooter(footer) {
this.footer = footer;
}
addLine(item, value) {
if (value !== undefined)
this.lines.push({ key: item, value });
else
this.lines.push({ value: item });
return this;
}
render() {
// add top
let render = '```';
// add language
if (this.language)
render += `${this.language}`;
// add newline after top and/or language
render += '\n';
// add header
if (this.header)
render += `${this.header}\n`;
// resolve lines
const paddingSize = this.lines.reduce((a, line) => line.key != null && line.key.toString().length > a ? line.key.toString().length : a, 0);
// add lines
for (const line of this.lines) {
if (line.key)
render += `${line.key.toString().padStart(paddingSize)} : `;
render += `${line.value.toString()}\n`;
}
// add footer
if (this.footer)
render += `${this.footer}\n`;
// add bottom
render += '```';
return render;
}
}
exports.CodeblockBuilder = CodeblockBuilder;
//# sourceMappingURL=CodeblockBuilder.js.map