UNPKG

agentsqripts

Version:

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

39 lines (32 loc) 1.22 kB
/** * @file Check if duplication is a template pattern * @description Single responsibility: Identify if blocks follow common template patterns */ const getTemplatePatterns = require('./template-patterns/getTemplatePatterns'); const checkTemplateMatch = require('./template-patterns/checkTemplateMatch'); const checkFunctionNamePattern = require('./template-patterns/checkFunctionNamePattern'); /** * Check if it's a template pattern */ function isTemplatePattern(blocks, classification) { const templatePatterns = getTemplatePatterns(); // Check each template pattern for (const pattern of templatePatterns) { const content = blocks[0].content; if (checkTemplateMatch(content, pattern)) { classification.pattern = pattern.name; return true; } } // Check for function name patterns (e.g., all formatX functions) const functionNames = blocks.map(b => b.name).filter(n => n && n !== 'anonymous'); if (functionNames.length === blocks.length) { const namePattern = checkFunctionNamePattern(functionNames); if (namePattern) { classification.pattern = namePattern; return true; } } return false; } module.exports = isTemplatePattern;