git-kloc-analyzer
Version:
A powerful TypeScript tool for analyzing KLOC (Kilo Lines of Code) statistics from Git repositories with email-based contributor grouping
67 lines • 2.34 kB
TypeScript
/**
* Utility functions for Git KLOC Statistics Tool
*/
import { ContributorStats, AnalysisSummary } from './types';
/**
* Formats a number with thousand separators
* @param num - Number to format
* @returns Formatted string with commas as thousand separators
*/
export declare function formatNumber(num: number): string;
/**
* Escapes special characters in CSV fields
* @param field - Field value to escape
* @returns Escaped field value
*/
export declare function escapeCsvField(field: string): string;
/**
* Validates date format (YYYY-MM-DD)
* @param date - Date string to validate
* @returns True if date format is valid
*/
export declare function validateDateFormat(date: string): boolean;
/**
* Validates date range (from <= to)
* @param fromDate - Start date
* @param toDate - End date
* @returns True if date range is valid
*/
export declare function validateDateRange(fromDate: string, toDate: string): boolean;
/**
* Calculates summary statistics from contributor stats
* @param stats - Array of contributor statistics
* @param executionTime - Analysis execution time in seconds
* @returns Summary statistics
*/
export declare function calculateSummary(stats: ContributorStats[], executionTime: number): AnalysisSummary;
/**
* Sorts contributor stats by KLOC in descending order
* @param stats - Array of contributor statistics
* @returns Sorted array
*/
export declare function sortStatsByKloc(stats: ContributorStats[]): ContributorStats[];
/**
* Filters stats by minimum KLOC threshold
* @param stats - Array of contributor statistics
* @param minKloc - Minimum KLOC threshold
* @returns Filtered array
*/
export declare function filterStatsByMinKloc(stats: ContributorStats[], minKloc: number): ContributorStats[];
/**
* Gets current date in YYYY-MM-DD format
* @returns Current date string
*/
export declare function getCurrentDate(): string;
/**
* Converts seconds to human-readable duration
* @param seconds - Duration in seconds
* @returns Human-readable duration string
*/
export declare function formatDuration(seconds: number): string;
/**
* Validates repository path
* @param repoPath - Path to validate
* @returns True if path exists and is a git repository
*/
export declare function validateRepositoryPath(repoPath: string): boolean;
//# sourceMappingURL=utils.d.ts.map