agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
55 lines (47 loc) • 1.46 kB
JavaScript
/**
* @file Categorize duplication pattern
* @description Single responsibility: Categorize duplication pattern based on content
*/
function categorizeDuplicationPattern(block) {
const content = block.content.toLowerCase();
// Test patterns
if (content.includes('expect(') || content.includes('assert')) {
return 'test-assertion';
}
if (content.includes('mock') || content.includes('stub')) {
return 'mock-implementation';
}
if (content.includes('beforeeach') || content.includes('aftereach')) {
return 'test-setup';
}
// Config patterns
if (content.includes('config') && content.includes('{')) {
return 'config-object';
}
if (content.includes('process.env')) {
return 'environment-config';
}
// Database patterns
if (content.includes('create table') || content.includes('alter table')) {
return 'schema-definition';
}
if (content.includes('select') && content.includes('from')) {
return 'query-pattern';
}
// React patterns
if (content.includes('usestate') || content.includes('useeffect')) {
return 'react-hooks';
}
if (content.includes('proptypes')) {
return 'prop-validation';
}
// Express patterns
if (content.includes('router.') || content.includes('app.')) {
return 'route-handler';
}
if (content.includes('(req, res')) {
return 'middleware-pattern';
}
return 'general-logic';
}
module.exports = categorizeDuplicationPattern;