/*! * Copyright (c) Microsoft Corporation and contributors. All rights reserved. * Licensed under the MIT License. */ import type { CommandLogger } from "../logging.js"; import type { CoverageMetric } from "./getCoverageMetrics.js"; /** * Type for the code coverage report generated by comparing the baseline and pr code coverage. We are noting both line and branch coverage * here but as part of the code coverage comparison check, we are only using branch coverage. */ export interface CodeCoverageComparison { /** * Path of the package */ packagePath: string; /** * Line coverage in baseline build (as a percent) */ lineCoverageInBaseline: number; /** * Line coverage in pr build (as a percent) */ lineCoverageInPr: number; /** * difference between line coverage in pr build and baseline build (percentage points) */ lineCoverageDiff: number; /** * branch coverage in baseline build (as a percent) */ branchCoverageInBaseline: number; /** * branch coverage in pr build (as a percent) */ branchCoverageInPr: number; /** * difference between branch coverage in pr build and baseline build (percentage points) */ branchCoverageDiff: number; /** * Flag to indicate if the package is new */ isNewPackage: boolean; } export interface CodeCoverageChangeForPackages { codeCoverageComparisonForNewPackages: CodeCoverageComparison[]; codeCoverageComparisonForExistingPackages: CodeCoverageComparison[]; } /** * Compares the code coverage for pr and baseline build and returns an array of objects with comparison results, * one per package. */ export declare function compareCodeCoverage(baselineCoverageReport: Map, prCoverageReport: Map, changedFiles: string[]): CodeCoverageComparison[]; /** * Method that returns list of packages with code coverage changes. * @param codeCoverageComparisonData - The comparison data between baseline and pr test coverage * @param logger - The logger to log messages. */ export declare function getPackagesWithCodeCoverageChanges(codeCoverageComparisonData: CodeCoverageComparison[], logger?: CommandLogger): CodeCoverageChangeForPackages; /** * Method that returns whether the code coverage comparison check passed or not. * @param codeCoverageChangeForPackages - The comparison data for packages with code coverage changes. * @param logger - The logger to log messages. */ export declare function isCodeCoverageCriteriaPassed(codeCoverageChangeForPackages: CodeCoverageChangeForPackages, logger?: CommandLogger): boolean; //# sourceMappingURL=compareCodeCoverage.d.ts.map