'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); var _calculateCellWidthIndex = require('./calculateCellWidthIndex'); var _calculateCellWidthIndex2 = _interopRequireDefault(_calculateCellWidthIndex); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Produces an array of values that describe the largest value length (width) in every column. * * @param {Array[]} rows * @returns {number[]} */ exports.default = rows => { if (!rows[0]) { throw new Error('Dataset must have at least one row.'); } const columns = _lodash2.default.fill(Array(rows[0].length), 0); _lodash2.default.forEach(rows, row => { const columnWidthIndex = (0, _calculateCellWidthIndex2.default)(row); _lodash2.default.forEach(columnWidthIndex, (valueWidth, index0) => { if (columns[index0] < valueWidth) { columns[index0] = valueWidth; } }); }); return columns; };