squarier
Version:
This package can help you format text in a square like manner.
27 lines • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Formatter = void 0;
var Parser_1 = require("../parsers/Parser");
var pad_1 = require("../utils/pad");
var Formatter = /** @class */ (function () {
function Formatter(options) {
this._options = options;
}
Formatter.prototype.format = function (selection) {
var parser = new Parser_1.Parser();
var tm = parser.parse(selection);
var shortestRow = tm.getShortestRow();
var shortestRowLength = tm.getRow(shortestRow).length;
var _loop_1 = function (col) {
var paddingLen = tm.getLongestTokenOfColumn(col).weight;
tm.transformColumn(col, function (v, i, arr) { return (tm.getRow(i).length - 1 === col || v === '' ? v : (0, pad_1.default)(v, paddingLen)); });
};
for (var col = 0; col < shortestRowLength; col++) {
_loop_1(col);
}
return tm.toString();
};
return Formatter;
}());
exports.Formatter = Formatter;
//# sourceMappingURL=Formatter.js.map