123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- "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
|