UNPKG

@ayanaware/bentocord

Version:

Bentocord is a Bento plugin designed to rapidly build fully functional Discord Bots.

53 lines 1.59 kB
"use strict"; 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