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