t-comm
Version:
专业、稳定、纯粹的工具库
46 lines (45 loc) • 1.68 kB
TypeScript
import { COMPLEXITY_DEFAULT_CSV_HEADER } from './config';
import type { ICyclomaticComplexityStatisticsInfo } from './type';
type ComplexityCsvHeader = typeof COMPLEXITY_DEFAULT_CSV_HEADER;
type ComplexityKey = ComplexityCsvHeader[number];
type StrictComplexityMetrics = {
readonly [K in ComplexityKey]: string;
};
export declare function parseCyclomaticComplexity(report?: Record<number, string>[]): StrictComplexityMetrics[];
export declare function getStatistics(rawList: {
FILE_NAME: string;
CNN: string;
TOKEN_COUNT: string;
PARAMETER_COUNT: string;
NLOC: string;
LOC: string;
}[]): ICyclomaticComplexityStatisticsInfo;
export declare function getReportTableMd({ funcTotal, less5Length, between5And10Length, between10And15Length, between15And20Length, between20And25Length, between25And30Length, between30And35Length, greater35Length, }: {
fileTotal: number;
funcTotal: number;
avgCNN: number;
less5Length: number;
between5And10Length: number;
between10And15Length: number;
between15And20Length: number;
between20And25Length: number;
between25And30Length: number;
between30And35Length: number;
greater35Length: number;
}): string[];
export declare function getCyclomaticComplexityReportAndSendToRobot({ reportJson, detailLinks, webhookUrl, chatId, repo, }: {
repo: string;
reportJson: Record<number, string>[];
webhookUrl?: string;
chatId?: string[];
detailLinks?: Array<{
label: string;
value: string;
}>;
}): Promise<{
list: StrictComplexityMetrics[];
info: ICyclomaticComplexityStatisticsInfo;
msgList: string[];
mdTable: string[];
}>;
export {};