123456789101112131415161718192021222324252627282930313233 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.wrapCell = void 0;
- const utils_1 = require("./utils");
- const wrapString_1 = require("./wrapString");
- const wrapWord_1 = require("./wrapWord");
- /**
- * 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.
- *
- */
- const wrapCell = (cellValue, cellWidth, useWrapWord) => {
- // First split on literal newlines
- const cellLines = (0, utils_1.splitAnsi)(cellValue);
- // 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_1.wrapWord)(cellLines[lineNr], cellWidth);
- }
- else {
- lineChunks = (0, wrapString_1.wrapString)(cellLines[lineNr], cellWidth);
- }
- // Replace our original array element with whatever the wrapping returned
- cellLines.splice(lineNr, 1, ...lineChunks);
- lineNr += lineChunks.length;
- }
- return cellLines;
- };
- exports.wrapCell = wrapCell;
- //# sourceMappingURL=wrapCell.js.map
|