UNPKG

markdown-table-prettify

Version:

Transforms markdown tables to be more readable.

57 lines (56 loc) 2.47 kB
"use strict"; 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;