@aaswe/codebase-ai
Version:
AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs
41 lines • 1.96 kB
TypeScript
/**
* TypeScript/JavaScript AST Analyzer
* Implements AST analysis for TypeScript and JavaScript files
*/
import { BaseAnalyzer } from './BaseAnalyzer';
import { AnalysisContext, ASTNode, CodeFunction, CodeClass, ImportDeclaration, ExportDeclaration, ComplexityMetrics, ParserConfig } from './types';
export declare class TypeScriptAnalyzer extends BaseAnalyzer {
constructor();
protected parseAST(content: string, _context: AnalysisContext): Promise<any>;
protected extractNodes(ast: any, context: AnalysisContext): Promise<ASTNode[]>;
protected extractFunctions(ast: any, context: AnalysisContext): Promise<CodeFunction[]>;
protected extractClasses(ast: any, context: AnalysisContext): Promise<CodeClass[]>;
protected extractImports(ast: any, context: AnalysisContext): Promise<ImportDeclaration[]>;
protected extractExports(ast: any, context: AnalysisContext): Promise<ExportDeclaration[]>;
protected extractDependencies(ast: any, _context: AnalysisContext): Promise<string[]>;
protected calculateComplexity(ast: any, _context: AnalysisContext): Promise<ComplexityMetrics>;
protected getParserConfig(): ParserConfig;
private getNodeName;
private extractNodeProperties;
private extractParameters;
private extractReturnType;
private extractTypeAnnotation;
private extractDefaultValue;
private calculateFunctionComplexity;
private isExported;
private getMethodVisibility;
private getArrowFunctionName;
private extractClassProperties;
private extractImplements;
private isAbstractClass;
private extractImportSpecifiers;
private createExportFromDeclaration;
private getDefaultExportName;
private getExportType;
private extractFunctionDependencies;
private extractFunctionCalls;
private isComplexityNode;
private isCognitiveComplexityNode;
private getCognitiveComplexityWeight;
}
//# sourceMappingURL=TypeScriptAnalyzer.d.ts.map