Sha256: 38388f19b47113cc3b54a89ac9167a3d7eb11ec921d75bc62a8ba6270495d368
Contents?: true
Size: 1017 Bytes
Versions: 23
Compression:
Stored size: 1017 Bytes
Contents
import wrapString from './wrapString'; import wrapWord from './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. * * @param {string} cellValue * @param {number} columnWidth * @param {boolean} useWrapWord * @returns {Array} */ export default (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 = wrapWord(cellLines[lineNr], columnWidth); } else { lineChunks = wrapString(cellLines[lineNr], columnWidth); } // Replace our original array element with whatever the wrapping returned cellLines.splice(lineNr, 1, ...lineChunks); lineNr += lineChunks.length; } return cellLines; };
Version data entries
23 entries across 23 versions & 1 rubygems