1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.makeTableConfig = void 0;
|
4 | const calculateMaximumColumnWidths_1 = require("./calculateMaximumColumnWidths");
|
5 | const spanningCellManager_1 = require("./spanningCellManager");
|
6 | const utils_1 = require("./utils");
|
7 | const validateConfig_1 = require("./validateConfig");
|
8 | const validateSpanningCellConfig_1 = require("./validateSpanningCellConfig");
|
9 |
|
10 |
|
11 |
|
12 |
|
13 | const makeColumnsConfig = (rows, columns, columnDefault, spanningCellConfigs) => {
|
14 | const columnWidths = (0, calculateMaximumColumnWidths_1.calculateMaximumColumnWidths)(rows, spanningCellConfigs);
|
15 | return rows[0].map((_, columnIndex) => {
|
16 | return {
|
17 | alignment: 'left',
|
18 | paddingLeft: 1,
|
19 | paddingRight: 1,
|
20 | truncate: Number.POSITIVE_INFINITY,
|
21 | verticalAlignment: 'top',
|
22 | width: columnWidths[columnIndex],
|
23 | wrapWord: false,
|
24 | ...columnDefault,
|
25 | ...columns === null || columns === void 0 ? void 0 : columns[columnIndex],
|
26 | };
|
27 | });
|
28 | };
|
29 |
|
30 |
|
31 |
|
32 |
|
33 | const makeTableConfig = (rows, config = {}, injectedSpanningCellConfig) => {
|
34 | var _a, _b, _c, _d, _e;
|
35 | (0, validateConfig_1.validateConfig)('config.json', config);
|
36 | (0, validateSpanningCellConfig_1.validateSpanningCellConfig)(rows, (_a = config.spanningCells) !== null && _a !== void 0 ? _a : []);
|
37 | const spanningCellConfigs = (_b = injectedSpanningCellConfig !== null && injectedSpanningCellConfig !== void 0 ? injectedSpanningCellConfig : config.spanningCells) !== null && _b !== void 0 ? _b : [];
|
38 | const columnsConfig = makeColumnsConfig(rows, config.columns, config.columnDefault, spanningCellConfigs);
|
39 | const drawVerticalLine = (_c = config.drawVerticalLine) !== null && _c !== void 0 ? _c : (() => {
|
40 | return true;
|
41 | });
|
42 | const drawHorizontalLine = (_d = config.drawHorizontalLine) !== null && _d !== void 0 ? _d : (() => {
|
43 | return true;
|
44 | });
|
45 | return {
|
46 | ...config,
|
47 | border: (0, utils_1.makeBorderConfig)(config.border),
|
48 | columns: columnsConfig,
|
49 | drawHorizontalLine,
|
50 | drawVerticalLine,
|
51 | singleLine: (_e = config.singleLine) !== null && _e !== void 0 ? _e : false,
|
52 | spanningCellManager: (0, spanningCellManager_1.createSpanningCellManager)({
|
53 | columnsConfig,
|
54 | drawHorizontalLine,
|
55 | drawVerticalLine,
|
56 | rows,
|
57 | spanningCellConfigs,
|
58 | }),
|
59 | };
|
60 | };
|
61 | exports.makeTableConfig = makeTableConfig;
|
62 |
|
\ | No newline at end of file |