aboutsummaryrefslogtreecommitdiff
path: root/node_modules/istanbul-reports/lib/json
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/istanbul-reports/lib/json')
-rw-r--r--node_modules/istanbul-reports/lib/json/index.js39
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;