diff options
Diffstat (limited to 'node_modules/istanbul-reports/lib/json')
-rw-r--r-- | node_modules/istanbul-reports/lib/json/index.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/node_modules/istanbul-reports/lib/json/index.js b/node_modules/istanbul-reports/lib/json/index.js new file mode 100644 index 000000000..70426aac7 --- /dev/null +++ b/node_modules/istanbul-reports/lib/json/index.js @@ -0,0 +1,39 @@ +/* + Copyright 2012-2015, Yahoo Inc. + Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. + */ +"use strict"; + +function JsonReport(opts) { + this.file = opts.file || 'coverage-final.json'; + this.first = true; +} + +JsonReport.prototype.onStart = function (root, context) { + this.contentWriter = context.writer.writeFile(this.file); + this.contentWriter.write("{"); +}; + +JsonReport.prototype.onDetail = function (node) { + var fc = node.getFileCoverage(), + key = fc.path, + cw = this.contentWriter; + + if (this.first) { + this.first = false; + } else { + cw.write(","); + } + cw.write(JSON.stringify(key)); + cw.write(': '); + cw.write(JSON.stringify(fc)); + cw.println(""); +}; + +JsonReport.prototype.onEnd = function () { + var cw = this.contentWriter; + cw.println("}"); + cw.close(); +}; + +module.exports = JsonReport; |