markdown-table-prettify
Version:
Transforms markdown tables to be more readable.
57 lines (56 loc) • 2.47 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.TableStringWriter = void 0;
var TableStringWriter = /** @class */ (function () {
function TableStringWriter(_valuePaddingProvider) {
this._valuePaddingProvider = _valuePaddingProvider;
}
TableStringWriter.prototype.writeTable = function (table) {
if (table == null)
throw new Error("Table can't be null.");
if (table.header == null)
throw new Error("Table must have a header.");
if (table.separator == null)
throw new Error("Table must have a separator.");
if (table.rows == null || table.rowCount == 0)
throw new Error("Table must have rows.");
var buffer = "";
buffer += this.writeRowViewModel(table.header, table, true);
buffer += this.writeRowViewModel(table.separator, table, true);
buffer += this.writeRows(table);
return buffer;
};
TableStringWriter.prototype.writeRows = function (table) {
var buffer = "";
for (var row = 0; row < table.rowCount; row++) {
buffer += this.writeRowViewModel(table.rows[row], table, row != table.rowCount - 1);
}
return buffer;
};
TableStringWriter.prototype.writeRowViewModel = function (row, table, addEndOfLine) {
var buffer = "";
buffer += table.leftPad;
buffer += this.getLeftBorderIfNeeded(table);
for (var col = 0; col < table.columnCount; col++) {
buffer += this._valuePaddingProvider.getLeftPadding();
buffer += row.getValueAt(col);
buffer += this._valuePaddingProvider.getRightPadding(table, col);
buffer += this.getSeparatorIfNeeded(table, col);
}
buffer += this.getRightBorderIfNeeded(table);
if (addEndOfLine)
buffer += row.EOL;
return buffer;
};
TableStringWriter.prototype.getSeparatorIfNeeded = function (table, currentColumn) {
return currentColumn != table.columnCount - 1 ? "|" : "";
};
TableStringWriter.prototype.getLeftBorderIfNeeded = function (table) {
return table.hasLeftBorder ? "|" : "";
};
TableStringWriter.prototype.getRightBorderIfNeeded = function (table) {
return table.hasRightBorder ? "|" : "";
};
return TableStringWriter;
}());
exports.TableStringWriter = TableStringWriter;
;