UNPKG

woaru

Version:

Universal Project Setup Autopilot - Analyze and automatically configure development tools for ANY programming language

104 lines 2.66 kB
/** * SOLID Principles Type Definitions for WOARU * Definiert alle Typen für SOLID-Prinzipien-Analyse */ export type SOLIDPrinciple = 'SRP' | 'OCP' | 'LSP' | 'ISP' | 'DIP'; export interface SOLIDViolation { principle: SOLIDPrinciple; severity: 'critical' | 'high' | 'medium' | 'low'; file: string; line?: number; column?: number; class?: string; method?: string; description: string; explanation: string; impact: string; suggestion: string; metrics?: { complexity?: number; methodCount?: number; dependencies?: number; parameters?: number; linesOfCode?: number; importConcerns?: string[]; classCount?: number; }; } export interface SOLIDCheckResult { filePath: string; language: string; violations: SOLIDViolation[]; metrics: { classCount: number; methodCount: number; avgComplexity: number; maxComplexity: number; solidScore: number; concernDiversity: number; }; suggestions: string[]; } export interface ProjectSOLIDResult { totalFiles: number; totalViolations: number; overallSOLIDScore: number; principleBreakdown: { SRP: { violations: number; score: number; }; OCP: { violations: number; score: number; }; LSP: { violations: number; score: number; }; ISP: { violations: number; score: number; }; DIP: { violations: number; score: number; }; }; srpViolations: SOLIDViolation[]; ocpViolations: SOLIDViolation[]; ispViolations: SOLIDViolation[]; dipViolations: SOLIDViolation[]; lspViolations: SOLIDViolation[]; recommendations: string[]; } export interface ClassAnalysis { name: string; line: number; methods: MethodAnalysis[]; imports: string[]; complexity: number; linesOfCode: number; concerns: string[]; } export interface MethodAnalysis { name: string; line: number; parameters: number; complexity: number; linesOfCode: number; } export interface ImportConcern { type: 'database' | 'http' | 'filesystem' | 'email' | 'validation' | 'ui' | 'business' | 'utility'; evidence: string[]; confidence: number; } export interface SOLIDToolConfig { name: string; command: string; outputFormat: 'json' | 'xml' | 'text'; supportedLanguages: string[]; supportedPrinciples: SOLIDPrinciple[]; parser: string; } //# sourceMappingURL=solid-types.d.ts.map