| // Type definitions for istanbul-reports 3.0 |
| // Project: https://github.com/istanbuljs/istanbuljs, https://istanbul.js.org |
| // Definitions by: Jason Cheatham <https://github.com/jason0x43> |
| // Elena Shcherbakova <https://github.com/not-a-doctor> |
| // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped |
| // TypeScript Version: 2.4 |
| |
| import { Node, Visitor } from 'istanbul-lib-report'; |
| |
| export function create<T extends keyof ReportOptions>(name: T, options?: Partial<ReportOptions[T]>): Visitor; |
| |
| export interface FileOptions { |
| file: string; |
| } |
| |
| export interface ProjectOptions { |
| projectRoot: string; |
| } |
| |
| export interface ReportOptions { |
| clover: CloverOptions; |
| cobertura: CoberturaOptions; |
| 'html-spa': HtmlSpaOptions; |
| html: HtmlOptions; |
| json: JsonOptions; |
| 'json-summary': JsonSummaryOptions; |
| lcov: LcovOptions; |
| lcovonly: LcovOnlyOptions; |
| none: never; |
| teamcity: TeamcityOptions; |
| text: TextOptions; |
| 'text-lcov': TextLcovOptions; |
| 'text-summary': TextSummaryOptions; |
| } |
| |
| export type ReportType = keyof ReportOptions; |
| |
| export interface CloverOptions extends FileOptions, ProjectOptions {} |
| |
| export interface CoberturaOptions extends FileOptions, ProjectOptions {} |
| |
| export interface HtmlSpaOptions extends HtmlOptions { |
| metricsToShow: Array<'lines' | 'branches' | 'functions' | 'statements'>; |
| } |
| export interface HtmlOptions { |
| verbose: boolean; |
| skipEmpty: boolean; |
| subdir: string; |
| linkMapper: LinkMapper; |
| } |
| |
| export type JsonOptions = FileOptions; |
| export type JsonSummaryOptions = FileOptions; |
| |
| export interface LcovOptions extends FileOptions, ProjectOptions {} |
| export interface LcovOnlyOptions extends FileOptions, ProjectOptions {} |
| |
| export interface TeamcityOptions extends FileOptions { |
| blockName: string; |
| } |
| |
| export interface TextOptions extends FileOptions { |
| maxCols: number; |
| skipEmpty: boolean; |
| skipFull: boolean; |
| } |
| export type TextLcovOptions = ProjectOptions; |
| export type TextSummaryOptions = FileOptions; |
| |
| export interface LinkMapper { |
| getPath(node: string | Node): string; |
| relativePath(source: string | Node, target: string | Node): string; |
| assetPath(node: Node, name: string): string; |
| } |