Skip to content

Commit 6d32604

Browse files
addaleaxbcoe
authored andcommitted
cleanup: simplify istanbul-lib-coverage API usage (#369)
- Deduplicate merging of all coverage files - Use the `map.getCoverageSummary()` convenience method - Use convenience getters of `CoverageSummary` objects
1 parent d9709f8 commit 6d32604

1 file changed

Lines changed: 14 additions & 18 deletions

File tree

index.js

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -391,17 +391,23 @@ function coverageFinder () {
391391
return coverage
392392
}
393393

394-
NYC.prototype.report = function () {
395-
var tree
394+
NYC.prototype._getCoverageMapFromAllCoverageFiles = function () {
396395
var map = libCoverage.createCoverageMap({})
397-
var context = libReport.createContext({
398-
dir: this._reportDir
399-
})
400396

401397
this._loadReports().forEach(function (report) {
402398
map.merge(report)
403399
})
404400

401+
return map
402+
}
403+
404+
NYC.prototype.report = function () {
405+
var tree
406+
var map = this._getCoverageMapFromAllCoverageFiles()
407+
var context = libReport.createContext({
408+
dir: this._reportDir
409+
})
410+
405411
tree = libReport.summarizers.pkg(map)
406412

407413
this.reporter.forEach(function (_reporter) {
@@ -410,22 +416,12 @@ NYC.prototype.report = function () {
410416
}
411417

412418
NYC.prototype.checkCoverage = function (thresholds) {
413-
var map = libCoverage.createCoverageMap({})
414-
var summary = libCoverage.createCoverageSummary()
415-
416-
this._loadReports().forEach(function (report) {
417-
map.merge(report)
418-
})
419-
420-
map.files().forEach(function (f) {
421-
var fc = map.fileCoverageFor(f)
422-
var s = fc.toSummary()
423-
summary.merge(s)
424-
})
419+
var map = this._getCoverageMapFromAllCoverageFiles()
420+
var summary = map.getCoverageSummary()
425421

426422
// ERROR: Coverage for lines (90.12%) does not meet global threshold (120%)
427423
Object.keys(thresholds).forEach(function (key) {
428-
var coverage = summary.data[key].pct
424+
var coverage = summary[key].pct
429425
if (coverage < thresholds[key]) {
430426
process.exitCode = 1
431427
console.error('ERROR: Coverage for ' + key + ' (' + coverage + '%) does not meet global threshold (' + thresholds[key] + '%)')

0 commit comments

Comments
 (0)