stryker
Version:
The extendable JavaScript mutation testing framework
37 lines • 1.56 kB
TypeScript
import { Transpiler } from 'stryker-api/transpile';
import { StrykerOptions, File } from 'stryker-api/core';
import { Range } from 'istanbul-lib-coverage';
export interface CoverageMaps {
statementMap: {
[key: string]: Range;
};
fnMap: {
[key: string]: Range;
};
}
export interface CoverageMapsByFile {
[file: string]: CoverageMaps;
}
export default class CoverageInstrumenterTranspiler implements Transpiler {
private readonly settings;
private readonly filesToInstrument;
private readonly instrumenter;
fileCoverageMaps: CoverageMapsByFile;
constructor(settings: StrykerOptions, filesToInstrument: ReadonlyArray<string>);
transpile(files: ReadonlyArray<File>): Promise<ReadonlyArray<File>>;
/**
* Coverage variable *must* have the name '__coverage__'. Only that variable
* is reported back to the TestRunner process when using one of the karma
* test framework adapters (karma-jasmine, karma-mocha, ...).
*
* However, when coverageAnalysis is 'perTest' we don't choose that variable name right away,
* because we need that variable to hold all coverage results per test. Instead, we use __strykerCoverageCurrentTest__
* and after each test copy over the value of that current test to the global coverage object __coverage__
*/
private readonly coverageVariable;
private patchRanges;
private instrumentFileIfNeeded;
private instrumentFile;
private retrieveCoverageMaps;
}
//# sourceMappingURL=CoverageInstrumenterTranspiler.d.ts.map