code-relation-analyzer
Version:
A TypeScript project dependency analysis tool that generates function-level dependency graphs
109 lines • 3.7 kB
TypeScript
/**
* 错误类型定义
*/
export interface AnalysisError {
/** 错误代码 */
code: string;
/** 错误消息 */
message: string;
/** 错误详情 */
details?: string;
/** 错误发生的文件 */
file?: string;
/** 错误发生的行号 */
line?: number;
/** 错误发生的列号 */
column?: number;
/** 错误堆栈 */
stack?: string;
/** 错误类型 */
type: ErrorType;
/** 错误严重程度 */
severity: ErrorSeverity;
/** 修复建议 */
suggestions?: string[];
}
export type ErrorType = 'parse_error' | 'analysis_error' | 'file_error' | 'config_error' | 'validation_error' | 'runtime_error' | 'memory_error' | 'timeout_error';
export type ErrorSeverity = 'info' | 'warning' | 'error' | 'critical';
export interface ValidationError extends AnalysisError {
/** 验证规则名称 */
ruleName: string;
/** 期望值 */
expected?: any;
/** 实际值 */
actual?: any;
}
export interface ParseError extends AnalysisError {
/** 解析器类型 */
parserType: string;
/** 语法错误位置 */
position?: {
start: number;
end: number;
};
}
export interface FileError extends AnalysisError {
/** 文件路径 */
filePath: string;
/** 操作类型 */
operation: 'read' | 'write' | 'delete' | 'create' | 'access';
/** 系统错误代码 */
systemCode?: string;
}
export interface ConfigError extends AnalysisError {
/** 配置文件路径 */
configPath?: string;
/** 配置键 */
configKey?: string;
/** 配置值 */
configValue?: any;
}
export interface RuntimeError extends AnalysisError {
/** 运行时上下文 */
context?: Record<string, any>;
/** 内存使用情况 */
memoryUsage?: number;
/** CPU使用情况 */
cpuUsage?: number;
}
export declare class CodeRelationError extends Error {
readonly code: string;
readonly type: ErrorType;
readonly severity: ErrorSeverity;
readonly file?: string;
readonly line?: number;
readonly column?: number;
readonly suggestions?: string[];
readonly cause?: Error;
constructor(message: string, code: string, type?: ErrorType, severity?: ErrorSeverity, options?: {
file?: string;
line?: number;
column?: number;
suggestions?: string[];
cause?: Error;
});
toJSON(): AnalysisError;
}
export declare const ErrorCodes: {
readonly FILE_NOT_FOUND: "FILE_NOT_FOUND";
readonly FILE_READ_ERROR: "FILE_READ_ERROR";
readonly FILE_WRITE_ERROR: "FILE_WRITE_ERROR";
readonly FILE_ACCESS_DENIED: "FILE_ACCESS_DENIED";
readonly PARSE_SYNTAX_ERROR: "PARSE_SYNTAX_ERROR";
readonly PARSE_TYPE_ERROR: "PARSE_TYPE_ERROR";
readonly PARSE_IMPORT_ERROR: "PARSE_IMPORT_ERROR";
readonly ANALYSIS_CIRCULAR_DEPENDENCY: "ANALYSIS_CIRCULAR_DEPENDENCY";
readonly ANALYSIS_MISSING_DEPENDENCY: "ANALYSIS_MISSING_DEPENDENCY";
readonly ANALYSIS_INVALID_REFERENCE: "ANALYSIS_INVALID_REFERENCE";
readonly CONFIG_INVALID_FORMAT: "CONFIG_INVALID_FORMAT";
readonly CONFIG_MISSING_REQUIRED: "CONFIG_MISSING_REQUIRED";
readonly CONFIG_INVALID_VALUE: "CONFIG_INVALID_VALUE";
readonly RUNTIME_OUT_OF_MEMORY: "RUNTIME_OUT_OF_MEMORY";
readonly RUNTIME_TIMEOUT: "RUNTIME_TIMEOUT";
readonly RUNTIME_UNEXPECTED: "RUNTIME_UNEXPECTED";
readonly VALIDATION_FAILED: "VALIDATION_FAILED";
readonly VALIDATION_TYPE_MISMATCH: "VALIDATION_TYPE_MISMATCH";
readonly VALIDATION_CONSTRAINT_VIOLATION: "VALIDATION_CONSTRAINT_VIOLATION";
};
export type ErrorCode = typeof ErrorCodes[keyof typeof ErrorCodes];
//# sourceMappingURL=errors.d.ts.map