UNPKG

apex-code-coverage-transformer

Version:

Transform Salesforce Apex code coverage JSONs into other formats accepted by SonarQube, GitHub, GitLab, Azure, Bitbucket, etc.

35 lines 1.22 kB
'use strict'; export class LcovCoverageHandler { coverageObj; constructor() { this.coverageObj = { files: [] }; } processFile(filePath, fileName, lines) { const uncoveredLines = Object.keys(lines) .filter((lineNumber) => lines[lineNumber] === 0) .map(Number); const coveredLines = Object.keys(lines) .filter((lineNumber) => lines[lineNumber] === 1) .map(Number); const lcovFile = { sourceFile: filePath, lines: [], totalLines: uncoveredLines.length + coveredLines.length, coveredLines: coveredLines.length, }; for (const [lineNumber, isCovered] of Object.entries(lines)) { lcovFile.lines.push({ lineNumber: Number(lineNumber), hitCount: isCovered === 1 ? 1 : 0, }); } this.coverageObj.files.push(lcovFile); } finalize() { if ('files' in this.coverageObj && Array.isArray(this.coverageObj.files)) { this.coverageObj.files.sort((a, b) => a.sourceFile.localeCompare(b.sourceFile)); } return this.coverageObj; } } //# sourceMappingURL=lcov.js.map