| 'use strict'; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| |
| var _lodash = require('lodash'); |
| |
| var _lodash2 = _interopRequireDefault(_lodash); |
| |
| var _wrapString = require('./wrapString'); |
| |
| var _wrapString2 = _interopRequireDefault(_wrapString); |
| |
| var _wrapWord = require('./wrapWord'); |
| |
| var _wrapWord2 = _interopRequireDefault(_wrapWord); |
| |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
| |
| /** |
| * @param {Array} unmappedRows |
| * @param {number[]} rowHeightIndex |
| * @param {Object} config |
| * @returns {Array} |
| */ |
| exports.default = (unmappedRows, rowHeightIndex, config) => { |
| const tableWidth = unmappedRows[0].length; |
| |
| const mappedRows = unmappedRows.map((cells, index0) => { |
| const rowHeight = _lodash2.default.times(rowHeightIndex[index0], () => { |
| return _lodash2.default.fill(Array(tableWidth), ''); |
| }); |
| |
| // rowHeight |
| // [{row index within rowSaw; index2}] |
| // [{cell index within a virtual row; index1}] |
| |
| _lodash2.default.forEach(cells, (value, index1) => { |
| let chunkedValue; |
| |
| if (config.columns[index1].wrapWord) { |
| chunkedValue = (0, _wrapWord2.default)(value, config.columns[index1].width); |
| } else { |
| chunkedValue = (0, _wrapString2.default)(value, config.columns[index1].width); |
| } |
| |
| _lodash2.default.forEach(chunkedValue, (part, index2) => { |
| rowHeight[index2][index1] = part; |
| }); |
| }); |
| |
| return rowHeight; |
| }); |
| |
| return _lodash2.default.flatten(mappedRows); |
| }; |