function printLine()

in src/utils/reportUtils.js [293:323]


function printLine(stream: WriteStream, line: string, indent: number = 0) {
  const result = [];
  const words = line
    .replace(/\n/g, '')
    .trim()
    .split(' ')
    .filter(w => w.length > 0);
  let curLine = '';
  let written = false;
  words.forEach(word => {
    if (curLine === '') {
      curLine = word;
    } else {
      if (word.length + curLine.length + indent + 1 < REPORT_LINE_WIDTH) {
        curLine += ' ' + word;
      } else {
        result.push(' '.repeat(indent) + curLine + EOL);
        curLine = word;
        written = true;
      }
    }
  });
  if (curLine !== '') {
    result.push(' '.repeat(indent) + curLine + EOL);
    written = true;
  }
  if (!written) {
    result.push(EOL);
  }
  stream.write(result.join(''));
}