markdown-table-prettify
Version:
Transforms markdown tables to be more readable.
43 lines (42 loc) • 3.49 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CliPrettify = void 0;
var multiTablePrettyfier_1 = require("../src/prettyfiers/multiTablePrettyfier");
var tableFinder_1 = require("../src/tableFinding/tableFinder");
var tableValidator_1 = require("../src/modelFactory/tableValidator");
var selectionInterpreter_1 = require("../src/modelFactory/selectionInterpreter");
var tableFactory_1 = require("../src/modelFactory/tableFactory");
var alignmentFactory_1 = require("../src/modelFactory/alignmentFactory");
var borderTransformer_1 = require("../src/modelFactory/transformers/borderTransformer");
var trimmerTransformer_1 = require("../src/modelFactory/transformers/trimmerTransformer");
var tableIndentationDetector_1 = require("../src/modelFactory/tableIndentationDetector");
var consoleLogger_1 = require("../src/diagnostics/consoleLogger");
var singleTablePrettyfier_1 = require("../src/prettyfiers/singleTablePrettyfier");
var noSizeLimitChecker_1 = require("../src/prettyfiers/sizeLimit/noSizeLimitChecker");
var tableViewModelFactory_1 = require("../src/viewModelFactories/tableViewModelFactory");
var rowViewModelFactory_1 = require("../src/viewModelFactories/rowViewModelFactory");
var contentPadCalculator_1 = require("../src/padCalculation/contentPadCalculator");
var padCalculatorSelector_1 = require("../src/padCalculation/padCalculatorSelector");
var alignmentMarking_1 = require("../src/viewModelFactories/alignmentMarking");
var tableStringWriter_1 = require("../src/writers/tableStringWriter");
var valuePaddingProvider_1 = require("../src/writers/valuePaddingProvider");
var CliPrettify = /** @class */ (function () {
function CliPrettify() {
}
CliPrettify.prettify = function (text, options) {
var prettyfier = this.createPrettyfier(options);
return prettyfier.formatTables(text);
};
CliPrettify.check = function (text, options) {
if (this.prettify(text, options) !== text) {
throw new Error("The input file is not prettyfied!");
}
};
CliPrettify.createPrettyfier = function (options) {
var _a;
var logger = new consoleLogger_1.ConsoleLogger();
return new multiTablePrettyfier_1.MultiTablePrettyfier(new tableFinder_1.TableFinder(new tableValidator_1.TableValidator(new selectionInterpreter_1.SelectionInterpreter(true))), new singleTablePrettyfier_1.SingleTablePrettyfier(new tableFactory_1.TableFactory(new alignmentFactory_1.AlignmentFactory(), new selectionInterpreter_1.SelectionInterpreter(false), new trimmerTransformer_1.TrimmerTransformer(new borderTransformer_1.BorderTransformer(null)), new tableIndentationDetector_1.FairTableIndentationDetector()), new tableValidator_1.TableValidator(new selectionInterpreter_1.SelectionInterpreter(false)), new tableViewModelFactory_1.TableViewModelFactory(new rowViewModelFactory_1.RowViewModelFactory(new contentPadCalculator_1.ContentPadCalculator(new padCalculatorSelector_1.PadCalculatorSelector(), " "), new alignmentMarking_1.AlignmentMarkerStrategy(":"))), new tableStringWriter_1.TableStringWriter(new valuePaddingProvider_1.ValuePaddingProvider((_a = options === null || options === void 0 ? void 0 : options.columnPadding) !== null && _a !== void 0 ? _a : 0)), [logger], new noSizeLimitChecker_1.NoSizeLimitChecker()), new noSizeLimitChecker_1.NoSizeLimitChecker());
};
return CliPrettify;
}());
exports.CliPrettify = CliPrettify;