| 12345678910111213141516171819202122232425262728293031323334 | module.exports = class CovLine {  constructor (line, startCol, lineStr) {    this.line = line    // note that startCol and endCol are absolute positions    // within a file, not relative to the line.    this.startCol = startCol    // the line length itself does not include the newline characters,    // these are however taken into account when enumerating absolute offset.    const matchedNewLineChar = lineStr.match(/\r?\n$/u)    const newLineLength = matchedNewLineChar ? matchedNewLineChar[0].length : 0    this.endCol = startCol + lineStr.length - newLineLength    // we start with all lines having been executed, and work    // backwards zeroing out lines based on V8 output.    this.count = 1    // set by source.js during parsing, if /* c8 ignore next */ is found.    this.ignore = false  }  toIstanbul () {    return {      start: {        line: this.line,        column: 0      },      end: {        line: this.line,        column: this.endCol - this.startCol      }    }  }}
 |