sicua
Version:
A tool for analyzing project structure and dependencies
108 lines (107 loc) • 2.81 kB
TypeScript
/**
* Verification script for line counter accuracy
* This provides multiple counting methods to cross-validate results
*/
import { LineMetrics } from "../types/generalAnalyzer.types";
/**
* Simple line-by-line counter for verification
*/
export declare function simpleLineCount(content: string): LineMetrics;
/**
* Regex-based counter for comparison
*/
export declare function regexLineCount(content: string): LineMetrics;
/**
* Manual counting method that handles edge cases more carefully
*/
export declare function detailedLineCount(content: string): LineMetrics & {
mixedLines: number;
details: string[];
};
/**
* Compare all counting methods and report discrepancies
*/
export declare function verifyLineCount(content: string, filePath?: string): {
allMatch: boolean;
results: {
original: LineMetrics;
simple: LineMetrics;
regex: LineMetrics;
detailed: LineMetrics & {
mixedLines: number;
details: string[];
};
};
discrepancies: string[];
};
/**
* Lightweight verification that only returns accuracy percentage
*/
export declare function getLineCountAccuracy(content: string): boolean;
/**
* Batch accuracy checker for GeneralAnalyzer integration
*/
export declare class LineCountAccuracyTracker {
private totalFiles;
private accurateFiles;
/**
* Check a single file and update accuracy stats
*/
checkFile(content: string, filePath?: string): boolean;
/**
* Get current accuracy percentage
*/
getAccuracy(): number;
/**
* Get summary stats
*/
getSummary(): {
accuracy: number;
accurateFiles: number;
totalFiles: number;
discrepancyFiles: number;
};
/**
* Reset the tracker
*/
reset(): void;
}
/**
* Run verification across multiple files and generate a summary report
*/
export declare function batchVerifyLineCount(files: {
content: string;
path: string;
}[], outputPath?: string): {
summary: {
totalFiles: number;
matchingFiles: number;
discrepancyFiles: number;
successRate: number;
};
discrepancies: Array<{
filePath: string;
issues: string[];
results: {
original: LineMetrics;
simple: LineMetrics;
regex: LineMetrics;
};
}>;
};
/**
* Test the line counter with various edge cases - silent version
*/
export declare function testLineCounterEdgeCases(): {
passed: number;
failed: number;
results: Array<{
name: string;
passed: boolean;
issues?: string[];
}>;
};
/**
* Simple debug function for a single file - minimal output
*/
export declare function debugLineCount(content: string, fileName?: string): void;