/ cloudformation-templates / node_modules / aws-cdk / node_modules / table / dist / makeTableConfig.js
makeTableConfig.js
1 "use strict"; 2 var __importDefault = (this && this.__importDefault) || function (mod) { 3 return (mod && mod.__esModule) ? mod : { "default": mod }; 4 }; 5 Object.defineProperty(exports, "__esModule", { value: true }); 6 exports.makeTableConfig = void 0; 7 const lodash_clonedeep_1 = __importDefault(require("lodash.clonedeep")); 8 const calculateColumnWidths_1 = __importDefault(require("./calculateColumnWidths")); 9 const utils_1 = require("./utils"); 10 const validateConfig_1 = require("./validateConfig"); 11 /** 12 * Creates a configuration for every column using default 13 * values for the missing configuration properties. 14 */ 15 const makeColumnsConfig = (rows, columns, columnDefault) => { 16 const columnWidths = calculateColumnWidths_1.default(rows); 17 return rows[0].map((_, columnIndex) => { 18 return { 19 alignment: 'left', 20 paddingLeft: 1, 21 paddingRight: 1, 22 truncate: Number.POSITIVE_INFINITY, 23 verticalAlignment: 'top', 24 width: columnWidths[columnIndex], 25 wrapWord: false, 26 ...columnDefault, 27 ...columns === null || columns === void 0 ? void 0 : columns[columnIndex], 28 }; 29 }); 30 }; 31 const makeHeaderConfig = (config) => { 32 if (!config.header) { 33 return undefined; 34 } 35 return { 36 alignment: 'center', 37 paddingLeft: 1, 38 paddingRight: 1, 39 truncate: Number.POSITIVE_INFINITY, 40 wrapWord: false, 41 ...config.header, 42 }; 43 }; 44 /** 45 * Makes a new configuration object out of the userConfig object 46 * using default values for the missing configuration properties. 47 */ 48 const makeTableConfig = (rows, userConfig = {}) => { 49 var _a, _b, _c; 50 validateConfig_1.validateConfig('config.json', userConfig); 51 const config = lodash_clonedeep_1.default(userConfig); 52 return { 53 ...config, 54 border: utils_1.makeBorderConfig(config.border), 55 columns: makeColumnsConfig(rows, config.columns, config.columnDefault), 56 drawHorizontalLine: (_a = config.drawHorizontalLine) !== null && _a !== void 0 ? _a : (() => { 57 return true; 58 }), 59 drawVerticalLine: (_b = config.drawVerticalLine) !== null && _b !== void 0 ? _b : (() => { 60 return true; 61 }), 62 header: makeHeaderConfig(config), 63 singleLine: (_c = config.singleLine) !== null && _c !== void 0 ? _c : false, 64 }; 65 }; 66 exports.makeTableConfig = makeTableConfig;