static-code-analyzer
Version:
Universal static code analysis tool for calculating API operation costs across multiple frameworks (NestJS, Express, Fastify)
57 lines • 1.86 kB
TypeScript
import { AnalyzerConfig, FileAnalysis, ProjectAnalysis } from './types';
/**
* Main API Cost Analyzer class
*/
export declare class ApiCostAnalyzer {
private config;
private allPaths;
private currentConditions;
private sourceFile;
constructor(config?: Partial<AnalyzerConfig>);
/**
* Set framework preset
*/
setFramework(framework: string): void;
/**
* Update configuration
*/
updateConfig(config: Partial<AnalyzerConfig>): void;
/**
* Analyze a single file
*/
analyzeFile(filePath: string): FileAnalysis;
/**
* Analyze multiple files
*/
analyzeFiles(filePaths: string[]): FileAnalysis[];
/**
* Analyze entire project
*/
analyzeProject(projectPath: string, patterns?: string[]): ProjectAnalysis;
private generatePathDescription;
private generateMethodSummary;
private analyzeMethod;
private analyzeNode;
private generateRecommendations;
private generateFileSummary;
private generateProjectSummary;
private visit;
private isMethodDeclaration;
private isArrowFunctionProperty;
private getMethodName;
private getClassName;
private shouldAnalyzeMethod;
}
/**
* Convenience function to quickly analyze a file with NestJS preset
*/
export declare function analyzeNestJSFile(filePath: string, customConfig?: Partial<AnalyzerConfig>): FileAnalysis;
/**
* Convenience function to quickly analyze a NestJS project
*/
export declare function analyzeNestJSProject(projectPath: string, patterns?: string[], customConfig?: Partial<AnalyzerConfig>): ProjectAnalysis;
/**
* Convenience function for Express projects
*/
export declare function analyzeExpressProject(projectPath: string, patterns?: string[], customConfig?: Partial<AnalyzerConfig>): ProjectAnalysis;
//# sourceMappingURL=analyzer.d.ts.map