| "use strict"; | |
| Object.defineProperty(exports, "__esModule", { value: true }); | |
| exports.makeTableConfig = void 0; | |
| const calculateMaximumColumnWidths_1 = require("./calculateMaximumColumnWidths"); | |
| const spanningCellManager_1 = require("./spanningCellManager"); | |
| const utils_1 = require("./utils"); | |
| const validateConfig_1 = require("./validateConfig"); | |
| const validateSpanningCellConfig_1 = require("./validateSpanningCellConfig"); | |
| /** | |
| * Creates a configuration for every column using default | |
| * values for the missing configuration properties. | |
| */ | |
| const makeColumnsConfig = (rows, columns, columnDefault, spanningCellConfigs) => { | |
| const columnWidths = (0, calculateMaximumColumnWidths_1.calculateMaximumColumnWidths)(rows, spanningCellConfigs); | |
| return rows[0].map((_, columnIndex) => { | |
| return { | |
| alignment: 'left', | |
| paddingLeft: 1, | |
| paddingRight: 1, | |
| truncate: Number.POSITIVE_INFINITY, | |
| verticalAlignment: 'top', | |
| width: columnWidths[columnIndex], | |
| wrapWord: false, | |
| ...columnDefault, | |
| ...columns === null || columns === void 0 ? void 0 : columns[columnIndex], | |
| }; | |
| }); | |
| }; | |
| /** | |
| * Makes a new configuration object out of the userConfig object | |
| * using default values for the missing configuration properties. | |
| */ | |
| const makeTableConfig = (rows, config = {}, injectedSpanningCellConfig) => { | |
| var _a, _b, _c, _d, _e; | |
| (0, validateConfig_1.validateConfig)('config.json', config); | |
| (0, validateSpanningCellConfig_1.validateSpanningCellConfig)(rows, (_a = config.spanningCells) !== null && _a !== void 0 ? _a : []); | |
| const spanningCellConfigs = (_b = injectedSpanningCellConfig !== null && injectedSpanningCellConfig !== void 0 ? injectedSpanningCellConfig : config.spanningCells) !== null && _b !== void 0 ? _b : []; | |
| const columnsConfig = makeColumnsConfig(rows, config.columns, config.columnDefault, spanningCellConfigs); | |
| const drawVerticalLine = (_c = config.drawVerticalLine) !== null && _c !== void 0 ? _c : (() => { | |
| return true; | |
| }); | |
| const drawHorizontalLine = (_d = config.drawHorizontalLine) !== null && _d !== void 0 ? _d : (() => { | |
| return true; | |
| }); | |
| return { | |
| ...config, | |
| border: (0, utils_1.makeBorderConfig)(config.border), | |
| columns: columnsConfig, | |
| drawHorizontalLine, | |
| drawVerticalLine, | |
| singleLine: (_e = config.singleLine) !== null && _e !== void 0 ? _e : false, | |
| spanningCellManager: (0, spanningCellManager_1.createSpanningCellManager)({ | |
| columnsConfig, | |
| drawHorizontalLine, | |
| drawVerticalLine, | |
| rows, | |
| spanningCellConfigs, | |
| }), | |
| }; | |
| }; | |
| exports.makeTableConfig = makeTableConfig; | |
| //# sourceMappingURL=makeTableConfig.js.map |