| const { ReportBase } = require('istanbul-lib-report') |
| |
| class InMemoryReport extends ReportBase { |
| constructor (opt) { |
| super(opt) |
| this.opt = opt |
| } |
| |
| onStart () { |
| this.data = {} |
| } |
| |
| onDetail (node) { |
| const fc = node.getFileCoverage() |
| const key = fc.path |
| this.data[key] = fc.toJSON() |
| } |
| |
| onEnd () { |
| if (!this.opt || !this.opt.emitter || !this.opt.emitter.emit) { |
| console.error('Could not raise "coverage_complete" event, missing emitter because it was not supplied during initialization of the reporter') |
| return |
| } |
| this.opt.emitter.emit('coverage_complete', this.opt.browser, this.data) |
| } |
| } |
| InMemoryReport.TYPE = 'in-memory' |
| |
| module.exports = InMemoryReport |