markdown-table-prettify
Version:
Transforms markdown tables to be more readable.
42 lines (41 loc) • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PadCalculatorSelector = void 0;
var LeftAlignment = require("./left");
var RightAlignment = require("./right");
var CenterAlignment = require("./center");
var alignment_1 = require("../models/alignment");
var PadCalculatorSelector = /** @class */ (function () {
function PadCalculatorSelector() {
}
PadCalculatorSelector.prototype.select = function (table, column) {
switch (table.alignments[column]) {
case alignment_1.Alignment.Center: return this.centerAlignmentPadCalculator(table, column);
case alignment_1.Alignment.Right: return this.rightAlignmentPadCalculator(table, column);
default: return this.leftAlignmentPadCalculator(table, column);
}
};
PadCalculatorSelector.prototype.leftAlignmentPadCalculator = function (table, column) {
if (column == 0)
return new LeftAlignment.FirstColumnPadCalculator();
if (column == table.columnCount - 1)
return new LeftAlignment.LastColumnPadCalculator();
return new LeftAlignment.MiddleColumnPadCalculator();
};
PadCalculatorSelector.prototype.centerAlignmentPadCalculator = function (table, column) {
if (column == 0)
return new CenterAlignment.FirstColumnPadCalculator();
if (column == table.columnCount - 1)
return new CenterAlignment.LastColumnPadCalculator();
return new CenterAlignment.MiddleColumnPadCalculator();
};
PadCalculatorSelector.prototype.rightAlignmentPadCalculator = function (table, column) {
if (column == 0)
return new RightAlignment.FirstColumnPadCalculator();
if (column == table.columnCount - 1)
return new RightAlignment.LastColumnPadCalculator();
return new RightAlignment.MiddleColumnPadCalculator();
};
return PadCalculatorSelector;
}());
exports.PadCalculatorSelector = PadCalculatorSelector;