diff options
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.js | 104 |
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; + + |