Stryker

ReporterOrchestrator.js - Stryker report

Summary

File Based on all code Based on code coverage
ReporterOrchestrator.js
94%
18/19 94% 18/19

Code

"use strict";
var report_1 = require('stryker-api/report');
var ClearTextReporter_1 = require('./reporters/ClearTextReporter');
var ProgressReporter_1 = require('./reporters/ProgressReporter');
var EventRecorderReporter_1 = require('./reporters/EventRecorderReporter');
var BroadcastReporter_1 = require('./reporters/BroadcastReporter');
var log4js = require('log4js');
var log = log4js.getLogger('ReporterOrchestrator');
var ReporterOrchestrator = (function () 0{
    function ReporterOrchestrator(options) 1{
        this.options = options;
        this.registerDefaultReporters();
    }
    ReporterOrchestrator.prototype.createBroadcastReporter = function () 2{
        var _this = this;
        var reporters = [];
        var reporterOption = this.options.reporter;
        if (34reporterOption) 5{
            if (67Array.isArray(reporterOption)) 8{
                reporterOption.forEach(function (reporterName) 9{ return reporters.push({ name: reporterName, reporter: report_1.ReporterFactory.instance().create(reporterName, _this.options) }); });
            }
            else 10{
                reporters.push({ name: reporterOption, reporter: report_1.ReporterFactory.instance().create(reporterOption, this.options) });
            }
        }
        else 11{
            log.warn("No reporter configured. Please configure one or more reporters in the (for example: reporter: 'progress')");
            this.logPossibleReporters();
        }
        return new BroadcastReporter_1.default(reporters);
    };
    ReporterOrchestrator.prototype.logPossibleReporters = function () 12{
        var possibleReportersCsv = '';
        report_1.ReporterFactory.instance().knownNames().forEach(function (name) 13{
            if (1415possibleReportersCsv.length) 16{
                possibleReportersCsv += ', ';
            }
            possibleReportersCsv += name;
        });
        log.warn(17"Possible reporters: " + possibleReportersCsv);
    };
    ReporterOrchestrator.prototype.registerDefaultReporters = function () 18{
        report_1.ReporterFactory.instance().register('progress', ProgressReporter_1.default);
        report_1.ReporterFactory.instance().register('clear-text', ClearTextReporter_1.default);
        report_1.ReporterFactory.instance().register('event-recorder', EventRecorderReporter_1.default);
    };
    return ReporterOrchestrator;
}());
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = ReporterOrchestrator;
//# sourceMappingURL=ReporterOrchestrator.js.map