crapifyme
Version:
Ultra-fast developer productivity CLI tools - remove comments, logs, and more
71 lines • 2.22 kB
TypeScript
import { Logger } from './logger';
export declare enum ErrorSeverity {
LOW = "low",
MEDIUM = "medium",
HIGH = "high",
CRITICAL = "critical"
}
export declare enum ErrorCategory {
PARSING = "parsing",
TOKENIZATION = "tokenization",
REGEX = "regex",
STRING_HANDLING = "string_handling",
TEMPLATE_LITERAL = "template_literal",
COMMENT_DETECTION = "comment_detection",
PRESERVATION = "preservation",
FILE_PROCESSING = "file_processing"
}
export interface ParseError {
category: ErrorCategory;
severity: ErrorSeverity;
message: string;
position?: number;
line?: number;
column?: number;
context?: string;
recoveryAction?: string;
originalError?: Error;
}
export interface ErrorRecoveryResult {
recovered: boolean;
fallbackUsed: boolean;
errors: ParseError[];
warnings: string[];
}
export declare class ErrorHandler {
private errors;
private warnings;
private logger;
private enableRecovery;
constructor(logger?: Logger, enableRecovery?: boolean);
recordError(error: Partial<ParseError> & {
category: ErrorCategory;
message: string;
}): void;
recordWarning(message: string): void;
attemptRecovery(error: ParseError, content: string, position: number): ErrorRecoveryResult;
private recoverFromStringError;
private recoverFromTemplateError;
private recoverFromRegexError;
private recoverFromCommentError;
private recoverFromTokenizationError;
private recoverFromGenericError;
private detectQuoteType;
private findNextQuote;
calculateLineColumn(content: string, position: number): {
line: number;
column: number;
};
getContext(content: string, position: number, contextSize?: number): string;
validateParsingCompletion(originalLength: number, processedLength: number, tokensProcessed: number): boolean;
getErrors(): ParseError[];
getWarnings(): string[];
hasCriticalErrors(): boolean;
getErrorSummary(): {
total: number;
bySeverity: Record<ErrorSeverity, number>;
byCategory: Record<ErrorCategory, number>;
};
clear(): void;
}
//# sourceMappingURL=error-handler.d.ts.map