summaryrefslogtreecommitdiffstats
path: root/vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/report/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/report/index.js')
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/report/index.js104
1 files changed, 104 insertions, 0 deletions
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/report/index.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/report/index.js
new file mode 100644
index 00000000..13e7effb
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/report/index.js
@@ -0,0 +1,104 @@
+/*
+ Copyright (c) 2012, Yahoo! Inc. All rights reserved.
+ Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
+ */
+
+var util = require('util'),
+ EventEmitter = require('events').EventEmitter,
+ Factory = require('../util/factory'),
+ factory = new Factory('report', __dirname, false);
+/**
+ * An abstraction for producing coverage reports.
+ * This class is both the base class as well as a factory for `Report` implementations.
+ * All reports are event emitters and are expected to emit a `done` event when
+ * the report writing is complete.
+ *
+ * See also the `Reporter` class for easily producing multiple coverage reports
+ * with a single call.
+ *
+ * Usage
+ * -----
+ *
+ * var Report = require('istanbul').Report,
+ * report = Report.create('html'),
+ * collector = new require('istanbul').Collector;
+ *
+ * collector.add(coverageObject);
+ * report.on('done', function () { console.log('done'); });
+ * report.writeReport(collector);
+ *
+ * @class Report
+ * @module report
+ * @main report
+ * @constructor
+ * @protected
+ * @param {Object} options Optional. The options supported by a specific store implementation.
+ */
+function Report(/* options */) {
+ EventEmitter.call(this);
+}
+
+util.inherits(Report, EventEmitter);
+
+//add register, create, mix, loadAll, getReportList as class methods
+factory.bindClassMethods(Report);
+
+/**
+ * registers a new report implementation.
+ * @method register
+ * @static
+ * @param {Function} constructor the constructor function for the report. This function must have a
+ * `TYPE` property of type String, that will be used in `Report.create()`
+ */
+/**
+ * returns a report implementation of the specified type.
+ * @method create
+ * @static
+ * @param {String} type the type of report to create
+ * @param {Object} opts Optional. Options specific to the report implementation
+ * @return {Report} a new store of the specified type
+ */
+/**
+ * returns the list of available reports as an array of strings
+ * @method getReportList
+ * @static
+ * @return an array of supported report formats
+ */
+
+var proto = {
+ /**
+ * returns a one-line summary of the report
+ * @method synopsis
+ * @return {String} a description of what the report is about
+ */
+ synopsis: function () {
+ throw new Error('synopsis must be overridden');
+ },
+ /**
+ * returns a config object that has override-able keys settable via config
+ * @method getDefaultConfig
+ * @return {Object|null} an object representing keys that can be overridden via
+ * the istanbul configuration where the values are the defaults used when
+ * not specified. A null return implies no config attributes
+ */
+ getDefaultConfig: function () {
+ return null;
+ },
+ /**
+ * writes the report for a set of coverage objects added to a collector.
+ * @method writeReport
+ * @param {Collector} collector the collector for getting the set of files and coverage
+ * @param {Boolean} sync true if reports must be written synchronously, false if they can be written using asynchronous means (e.g. stream.write)
+ */
+ writeReport: function (/* collector, sync */) {
+ throw new Error('writeReport: must be overridden');
+ }
+};
+
+Object.keys(proto).forEach(function (k) {
+ Report.prototype[k] = proto[k];
+});
+
+module.exports = Report;
+
+