| "use strict"; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| exports.default = void 0; | |
| var _drawTable = _interopRequireDefault(require("./drawTable")); | |
| var _calculateCellWidthIndex = _interopRequireDefault(require("./calculateCellWidthIndex")); | |
| var _makeConfig = _interopRequireDefault(require("./makeConfig")); | |
| var _calculateRowHeightIndex = _interopRequireDefault(require("./calculateRowHeightIndex")); | |
| var _mapDataUsingRowHeightIndex = _interopRequireDefault(require("./mapDataUsingRowHeightIndex")); | |
| var _alignTableData = _interopRequireDefault(require("./alignTableData")); | |
| var _padTableData = _interopRequireDefault(require("./padTableData")); | |
| var _validateTableData = _interopRequireDefault(require("./validateTableData")); | |
| var _stringifyTableData = _interopRequireDefault(require("./stringifyTableData")); | |
| var _truncateTableData = _interopRequireDefault(require("./truncateTableData")); | |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | |
| /** | |
| * @typedef {string} table~cell | |
| */ | |
| /** | |
| * @typedef {table~cell[]} table~row | |
| */ | |
| /** | |
| * @typedef {Object} table~columns | |
| * @property {string} alignment Cell content alignment (enum: left, center, right) (default: left). | |
| * @property {number} width Column width (default: auto). | |
| * @property {number} truncate Number of characters are which the content will be truncated (default: Infinity). | |
| * @property {boolean} wrapWord When true the text is broken at the nearest space or one of the special characters | |
| * @property {number} paddingLeft Cell content padding width left (default: 1). | |
| * @property {number} paddingRight Cell content padding width right (default: 1). | |
| */ | |
| /** | |
| * @typedef {Object} table~border | |
| * @property {string} topBody | |
| * @property {string} topJoin | |
| * @property {string} topLeft | |
| * @property {string} topRight | |
| * @property {string} bottomBody | |
| * @property {string} bottomJoin | |
| * @property {string} bottomLeft | |
| * @property {string} bottomRight | |
| * @property {string} bodyLeft | |
| * @property {string} bodyRight | |
| * @property {string} bodyJoin | |
| * @property {string} joinBody | |
| * @property {string} joinLeft | |
| * @property {string} joinRight | |
| * @property {string} joinJoin | |
| */ | |
| /** | |
| * Used to tell whether to draw a horizontal line. | |
| * This callback is called for each non-content line of the table. | |
| * The default behavior is to always return true. | |
| * | |
| * @typedef {Function} drawHorizontalLine | |
| * @param {number} index | |
| * @param {number} size | |
| * @returns {boolean} | |
| */ | |
| /** | |
| * @typedef {Object} table~config | |
| * @property {table~border} border | |
| * @property {table~columns[]} columns Column specific configuration. | |
| * @property {table~columns} columnDefault Default values for all columns. Column specific settings overwrite the default values. | |
| * @property {table~drawHorizontalLine} drawHorizontalLine | |
| * @property {table~singleLine} singleLine Horizontal lines inside the table are not drawn. | |
| */ | |
| /** | |
| * Generates a text table. | |
| * | |
| * @param {table~row[]} data | |
| * @param {table~config} userConfig | |
| * @returns {string} | |
| */ | |
| const table = (data, userConfig = {}) => { | |
| let rows; | |
| (0, _validateTableData.default)(data); | |
| rows = (0, _stringifyTableData.default)(data); | |
| const config = (0, _makeConfig.default)(rows, userConfig); | |
| rows = (0, _truncateTableData.default)(data, config); | |
| const rowHeightIndex = (0, _calculateRowHeightIndex.default)(rows, config); | |
| rows = (0, _mapDataUsingRowHeightIndex.default)(rows, rowHeightIndex, config); | |
| rows = (0, _alignTableData.default)(rows, config); | |
| rows = (0, _padTableData.default)(rows, config); | |
| const cellWidthIndex = (0, _calculateCellWidthIndex.default)(rows[0]); | |
| return (0, _drawTable.default)(rows, config.border, cellWidthIndex, rowHeightIndex, config.drawHorizontalLine, config.singleLine); | |
| }; | |
| var _default = table; | |
| exports.default = _default; | |
| //# sourceMappingURL=table.js.map |