UNPKG

agentsqripts

Version:

Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems

46 lines (39 loc) 1.44 kB
/** * @file Duplicate group processor * @description Responsible for processing duplicate groups to add detailed analysis */ const { calculateSimilarity } = require('./similarityCalculator'); const { calculateGroupComplexity } = require('./groupComplexityCalculator'); const { determineDeduplicationOpportunity } = require('./opportunityDeterminer'); const { calculateEstimatedSavings } = require('./groupSavingsCalculator'); /** * Process duplicate groups to add detailed analysis * @param {Array} duplicateGroups - Array of duplicate groups * @param {Object} wetPatterns - WET patterns configuration * @returns {Array} Processed groups with analysis */ function processDuplicateGroups(duplicateGroups, wetPatterns) { return duplicateGroups.map(group => { const pattern = wetPatterns[group.type] || wetPatterns['repeated_pattern']; // Calculate complexity score const complexityScore = calculateGroupComplexity(group); // Determine deduplication opportunity const deduplicationOpportunity = determineDeduplicationOpportunity( group.similarity, complexityScore, group.blocks.length ); // Estimate savings const estimatedSavings = calculateEstimatedSavings(group, pattern); return { ...group, pattern, complexityScore, deduplicationOpportunity, estimatedSavings }; }); } module.exports = { processDuplicateGroups };