UNPKG

sicua

Version:

A tool for analyzing project structure and dependencies

108 lines (107 loc) 2.81 kB
/** * 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;