Stryker

ReporterOrchestrator.js - Stryker report

Summary

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

Code

"use strict";
var report_1 = require('stryker-api/report');
var ClearTextReporter_1 = require('./reporters/ClearTextReporter');
var ProgressReporter_1 = require('./reporters/ProgressReporter');
var EventReporter_1 = require('./reporters/EventReporter');
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', EventReporter_1.default);
    };
    return ReporterOrchestrator;
}());
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = ReporterOrchestrator;
//# sourceMappingURL=ReporterOrchestrator.js.map