UNPKG

sicua

Version:

A tool for analyzing project structure and dependencies

143 lines (142 loc) 3.56 kB
/** * Validation severity levels */ declare enum ValidationSeverity { ERROR = "error", WARNING = "warning", INFO = "info" } /** * Validation issue categories */ declare enum ValidationCategory { REQUIRED_FIELD = "required_field", TYPE_MISMATCH = "type_mismatch", FORMAT_INVALID = "format_invalid", DATA_QUALITY = "data_quality", CONSISTENCY = "consistency", COMPLETENESS = "completeness" } /** * Individual validation issue */ interface ValidationIssue { category: ValidationCategory; severity: ValidationSeverity; field: string; message: string; value: unknown; suggestion?: string; } /** * Validation result for a single function data object */ interface FunctionDataValidationResult { isValid: boolean; issues: ValidationIssue[]; score: number; warnings: number; errors: number; } /** * Batch validation result */ interface BatchValidationResult { totalFunctions: number; validFunctions: number; invalidFunctions: number; overallScore: number; issuesByCategory: Record<ValidationCategory, number>; issuesBySeverity: Record<ValidationSeverity, number>; functionResults: Map<string, FunctionDataValidationResult>; } /** * Validation configuration */ interface ValidationConfig { strictMode: boolean; allowEmptyBodies: boolean; allowUnknownTypes: boolean; maxParameterCount: number; maxBodyLength: number; requireReturnType: boolean; validateTypeNames: boolean; checkNameConventions: boolean; } /** * Function data interface for validation (matches the existing interface) */ interface FunctionData { componentName: string; functionName: string; params: string[]; returnType: string; body: string; dependencies: string[]; calledFunctions: string[]; isAsync: boolean; } /** * Utility class for validating extracted function data */ export declare class DataValidator { private config; constructor(config?: Partial<ValidationConfig>); /** * Validates a single function data object * @param functionData The function data to validate * @returns Validation result */ validateFunctionData(functionData: FunctionData): FunctionDataValidationResult; /** * Validates a batch of function data objects * @param functionDataList Array of function data to validate * @returns Batch validation result */ validateBatch(functionDataList: FunctionData[]): BatchValidationResult; /** * Validates required fields */ private validateRequiredFields; /** * Validates field types */ private validateFieldTypes; /** * Validates data formats */ private validateDataFormats; /** * Validates data quality */ private validateDataQuality; /** * Validates internal consistency */ private validateConsistency; /** * Calculates quality score (0-100) */ private calculateQualityScore; /** * Checks if a string is a valid JavaScript identifier */ private isValidJavaScriptIdentifier; /** * Checks if a string is a JavaScript reserved word */ private isReservedWord; /** * Extracts parameter name from parameter string */ private extractParameterName; /** * Updates validation configuration */ updateConfig(newConfig: Partial<ValidationConfig>): void; /** * Gets current validation configuration */ getConfig(): ValidationConfig; } export {};