Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[@types/istanbul-lib-coverage] Update typings #33646

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
34 changes: 24 additions & 10 deletions types/istanbul-lib-coverage/index.d.ts
@@ -1,28 +1,42 @@
// Type definitions for istanbul-lib-coverage 1.1
// Type definitions for istanbul-lib-coverage 2.0
// Project: https://github.com/istanbuljs/istanbuljs
// Definitions by: Jason Cheatham <https://github.com/jason0x43>
// Lorenzo Rapetti <https://github.com/loryman>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.4

export interface CoverageSummary {
export interface CoverageSummaryData {
lines: Totals;
statements: Totals;
branches: Totals;
functions: Totals;
}

export class CoverageSummary {
constructor(data: CoverageSummary | CoverageSummaryData);
merge(obj: CoverageSummary): CoverageSummary;
toJSON(): CoverageSummaryData;
isEmpty(): boolean;
data: CoverageSummaryData;
lines: Totals;
statements: Totals;
branches: Totals;
functions: Totals;
functions: Totals;
}

export interface CoverageMapData {
[key: string]: FileCoverage;
}

export class CoverageMap {
constructor(data: CoverageMapData);
addFileCoverage(pathOrObject: string | FileCoverageData): void;
constructor(data: CoverageMapData | CoverageMap);
addFileCoverage(pathOrObject: string | FileCoverage | FileCoverageData): void;
files(): string[];
fileCoverageFor(filename: string): FileCoverage;
filter(callback: (key: string) => boolean): void;
filter(callback: (key: string) => boolean): void;
getCoverageSummary(): CoverageSummary;
merge(data: CoverageMapData | CoverageMap): void;
toJSON(): object;
toJSON(): CoverageMapData;
data: CoverageMapData;
}

Expand Down Expand Up @@ -74,7 +88,7 @@ export interface Coverage {
}

export class FileCoverage implements FileCoverageData {
constructor(data: string | FileCoverageData);
constructor(data: string | FileCoverage | FileCoverageData);
merge(other: FileCoverageData): void;
getBranchCoverageByLine(): { [line: number]: Coverage };
getLineCoverage(): { [line: number]: number };
Expand All @@ -100,5 +114,5 @@ export const classes: {
};

export function createCoverageMap(data?: CoverageMap | CoverageMapData): CoverageMap;
export function createCoverageSummary(obj?: CoverageSummary): CoverageSummary;
export function createFileCoverage(pathOrObject: string | FileCoverageData): FileCoverage;
export function createCoverageSummary(obj?: CoverageSummary | CoverageSummaryData): CoverageSummary;
export function createFileCoverage(pathOrObject: string | FileCoverage | FileCoverageData): FileCoverage;
23 changes: 15 additions & 8 deletions types/istanbul-lib-coverage/istanbul-lib-coverage-tests.ts
@@ -1,13 +1,13 @@
import {
CoverageMapData,
CoverageSummary,
CoverageMapData,
CoverageSummaryData,
FileCoverageData,
createCoverageSummary,
createCoverageMap,
createFileCoverage
} from 'istanbul-lib-coverage';

const summaryData: CoverageSummary = {
const summaryData: CoverageSummaryData = {
lines: { total: 0, covered: 0, skipped: 0, pct: 0 },
statements: { total: 0, covered: 0, skipped: 0, pct: 0 },
functions: { total: 0, covered: 0, skipped: 0, pct: 0 },
Expand All @@ -26,11 +26,13 @@ const fileCoverageData: FileCoverageData = {
b: {}
};

const summary = createCoverageSummary(summaryData);
summary.branches;
summary.lines;
summary.functions;
summary.statements;
const summary1 = createCoverageSummary(summaryData);
summary1.data;
summary1.branches;
summary1.lines;
summary1.functions;
summary1.statements;
const summary2 = createCoverageSummary(summary1);

const map1 = createCoverageMap(coverageMapData);
map1.data;
Expand All @@ -44,6 +46,11 @@ fileCoverage2.data;
const fileCoverage3 = createFileCoverage(fileCoverageData);
fileCoverage3.data;

// CoverageSummary methods and properties
summary1.isEmpty();
summary1.toJSON();
summary1.merge(summary2);

// CoverageMap methods and properties
map1.addFileCoverage('foo.js');
map1.addFileCoverage(fileCoverageData);
Expand Down