Stryker

EventReporter.js - Stryker report

Summary

File Based on all code Based on code coverage
EventReporter.js
100%
34/34 100% 34/34

Code

"use strict";
var BroadcastReporter_1 = require('./BroadcastReporter');
var fileUtils = require('../utils/fileUtils');
var log4js = require('log4js');
var path = require('path');
var log = log4js.getLogger('EventReporter');
var DEFAULT_BASE_FOLDER = 'reports/mutation/events';
var EventReporter = (function () 0{
    function EventReporter(options) 1{
        var _this = this;
        this.options = options;
        this.allWork = [];
        var index = 0;
        this.createBaseFolderTask = fileUtils.cleanFolder(this.baseFolder);
        BroadcastReporter_1.ALL_EVENT_METHOD_NAMES.forEach(function (method) 2{
            _this[method] = function (data) 3{
                _this.allWork.push(_this.createBaseFolderTask.then(function () 4{ return _this.writeToFile(5index++, method, data); }));
            };
        });
    }

    Object.defineProperty(EventReporter.prototype, "baseFolder", {
        get: function () 6{
            if (78!this._baseFolder) 9{
                if (101112this.options['eventReporter'] && this.options['eventReporter']['baseDir']) 13{
                    this._baseFolder = this.options['eventReporter']['baseDir'];
                    log.debug(14"Using configured output folder " + this._baseFolder);
                }

                else 15{
                    log.debug(16"No base folder configuration found (using configuration: eventReporter: { baseDir: 'output/folder' }), using default " + DEFAULT_BASE_FOLDER);
                    this._baseFolder = DEFAULT_BASE_FOLDER;
                }

            }

            return this._baseFolder;
        },
        enumerable: true,
        configurable: true
    });
    EventReporter.prototype.writeToFile = function (index, methodName, data) 17{
        return fileUtils.writeFile(path.join(this.baseFolder, 181920this.format(index) + "-" + methodName + ".json"), JSON.stringify(data));
    };
    EventReporter.prototype.format = function (input) 21{
        var str = input.toString();
        for (var i = 10000; 222324i > 1; i = 25i / 10) 26{
            if (27282930i > input) 31{
                str = 32'0' + str;
            }

        }

        return str;
    };
    EventReporter.prototype.wrapUp = function () 33{
        return Promise.all(this.allWork);
    };
    return EventReporter;
}());
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = EventReporter;
//# sourceMappingURL=EventReporter.js.map