sicua
Version:
A tool for analyzing project structure and dependencies
139 lines (138 loc) • 4.43 kB
TypeScript
import ts from "typescript";
import { BusinessLogicContext } from "../types";
import { BusinessLogicDefinition } from "../types/businessLogicExtractor.types";
export declare class BusinessLogicExtractor {
private sourceFile;
private content;
private filePath;
private importExtractor;
private functionExtractor;
private componentExtractor;
private typeExtractor;
constructor(sourceFile: ts.SourceFile, content: string, filePath: string, srcDir: string, typeChecker?: ts.TypeChecker);
/**
* Extracts business logic context from the source file
*/
extractBusinessLogicContext(): BusinessLogicContext;
/**
* Extracts complete business logic definition
*/
extractBusinessLogicDefinition(): BusinessLogicDefinition;
/**
* **FIXED: Enhanced domain identification with better logic and priority**
* Identifies the business domain based on file content and structure
*/
private identifyDomain;
/**
* Extracts business operations from functions
*/
private extractBusinessOperations;
/**
* Determines if a function represents a business operation
*/
private isBusinessOperation;
/**
* Builds a business operation from a function definition
*/
private buildBusinessOperation;
/**
* Extracts data flow patterns
*/
private extractDataFlowPatterns;
/**
* Extracts side effects
*/
private extractSideEffects;
/**
* Calculates business complexity
*/
private calculateBusinessComplexity;
/**
* Analyzes business patterns
*/
private analyzeBusinessPatterns;
/**
* Assesses business quality
*/
private assessBusinessQuality;
/**
* Extracts business dependencies
*/
private extractBusinessDependencies;
/**
* Extracts business rules
*/
private extractBusinessRules;
/**
* Extracts workflows
*/
private extractWorkflows;
/**
* Extracts validations
*/
private extractValidations;
/**
* Extracts data transformations
*/
private extractDataTransformations;
private determinePurpose;
private mapComplexityLevel;
private extractStateManagementTriggers;
private extractDataFetchingTriggers;
private extractEventHandlingTriggers;
private extractSideEffectTriggers;
private extractComputationTriggers;
private calculateOperationalComplexity;
private calculateDataComplexity;
private calculateLogicalComplexity;
private calculateIntegrationComplexity;
private identifyComplexityFactors;
private identifyArchitecturalPatterns;
private identifyDomainPatterns;
private identifyDataPatterns;
private identifyIntegrationPatterns;
private identifyBusinessAntiPatterns;
private calculateMaintainability;
private calculateTestability;
private calculateReusability;
private calculateReliability;
private calculatePerformance;
private calculateSecurity;
private identifyQualityIssues;
private identifyExternalServices;
private identifyDatabaseDependencies;
private identifyApiDependencies;
private identifyLibraryDependencies;
private identifyConfigurationDependencies;
private identifyResourceDependencies;
private countOccurrences;
private extractApiEndpoints;
private assessApiReliability;
private assessApiPerformance;
private isExternalService;
private determineServiceType;
private findServiceAlternatives;
private extractDatabaseOperations;
private assessDatabasePerformance;
private extractHttpMethod;
private determineAuthType;
private assessApiErrorHandling;
private mapToLibraryPurpose;
private assessLibrarySecurity;
private assessLibraryMaintenance;
private findLibraryAlternatives;
private assessResourceOptimization;
private extractWorkflowSteps;
private extractWorkflowTriggers;
private extractWorkflowConditions;
private extractWorkflowOutcomes;
private extractErrorHandlingStrategies;
private extractValidationRules;
private extractValidationMessages;
private extractValidationDependencies;
private extractCustomValidators;
private createGenericDataStructure;
private determineTransformationComplexity;
private analyzeTransformationPerformance;
private analyzeTransformationValidation;
}