makeTableConfig.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. * Creates a configuration for every column using default
  11. * values for the missing configuration properties.
  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. * Makes a new configuration object out of the userConfig object
  31. * using default values for the missing configuration properties.
  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. //# sourceMappingURL=makeTableConfig.js.map