UNPKG

stryker

Version:
53 lines 2.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var plugin_1 = require("stryker-api/plugin"); var di_1 = require("../di"); var MutatorFacade = /** @class */ (function () { function MutatorFacade(options, pluginCreator, log) { this.options = options; this.pluginCreator = pluginCreator; this.log = log; } MutatorFacade.prototype.mutate = function (inputFiles) { var allMutants = this.pluginCreator.create(this.getMutatorName(this.options.mutator)) .mutate(inputFiles); var includedMutants = this.removeExcludedMutants(allMutants); this.logMutantCount(includedMutants.length, allMutants.length); return includedMutants; }; MutatorFacade.prototype.removeExcludedMutants = function (mutants) { if (typeof this.options.mutator === 'string') { return mutants; } else { var mutatorDescriptor_1 = this.options.mutator; return mutants.filter(function (mutant) { return mutatorDescriptor_1.excludedMutations.indexOf(mutant.mutatorName) === -1; }); } }; MutatorFacade.prototype.getMutatorName = function (mutator) { if (typeof mutator === 'string') { return mutator; } else { return mutator.name; } }; MutatorFacade.prototype.logMutantCount = function (includedMutantCount, totalMutantCount) { var mutantCountMessage; if (includedMutantCount) { mutantCountMessage = includedMutantCount + " Mutant(s) generated"; } else { mutantCountMessage = "It's a mutant-free world, nothing to test."; } var numberExcluded = totalMutantCount - includedMutantCount; if (numberExcluded) { mutantCountMessage += " (" + numberExcluded + " Mutant(s) excluded)"; } this.log.info(mutantCountMessage); }; MutatorFacade.inject = plugin_1.tokens(plugin_1.commonTokens.options, di_1.coreTokens.pluginCreatorMutator, plugin_1.commonTokens.logger); return MutatorFacade; }()); exports.MutatorFacade = MutatorFacade; //# sourceMappingURL=MutatorFacade.js.map