| "use strict"; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| exports.default = void 0; | |
| var _wrapString = _interopRequireDefault(require("./wrapString")); | |
| var _wrapWord = _interopRequireDefault(require("./wrapWord")); | |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | |
| /** | |
| * Wrap a single cell value into a list of lines | |
| * | |
| * Always wraps on newlines, for the remainder uses either word or string wrapping | |
| * depending on user configuration. | |
| * | |
| * @param {string} cellValue | |
| * @param {number} columnWidth | |
| * @param {boolean} useWrapWord | |
| * @returns {Array} | |
| */ | |
| const wrapCell = (cellValue, columnWidth, useWrapWord) => { | |
| // First split on literal newlines | |
| const cellLines = cellValue.split('\n'); // Then iterate over the list and word-wrap every remaining line if necessary. | |
| for (let lineNr = 0; lineNr < cellLines.length;) { | |
| let lineChunks; | |
| if (useWrapWord) { | |
| lineChunks = (0, _wrapWord.default)(cellLines[lineNr], columnWidth); | |
| } else { | |
| lineChunks = (0, _wrapString.default)(cellLines[lineNr], columnWidth); | |
| } // Replace our original array element with whatever the wrapping returned | |
| cellLines.splice(lineNr, 1, ...lineChunks); | |
| lineNr += lineChunks.length; | |
| } | |
| return cellLines; | |
| }; | |
| var _default = wrapCell; | |
| exports.default = _default; | |
| //# sourceMappingURL=wrapCell.js.map |