--- /dev/null
+"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
\ No newline at end of file