UNPKG

sicua

Version:

A tool for analyzing project structure and dependencies

139 lines (138 loc) 4.43 kB
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; }