agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
31 lines (27 loc) • 1.27 kB
JavaScript
/**
* @file Check for patterns/matches iteration
* @description Single responsibility: Detect specific O(n×m) patterns that aren't true O(n²)
*/
/**
* Check if iterations are over different datasets (patterns/matches, etc.)
*/
function isPatternsMatchesIteration(outerLine, innerLine) {
// Enhanced detection of different dataset patterns that are O(n×m), not O(n²)
const outerIsPatterns = /patterns?/i.test(outerLine);
const innerIsMatches = /matches?/i.test(innerLine);
const outerIsMatches = /matches?/i.test(outerLine);
const innerIsPatterns = /patterns?/i.test(innerLine);
// Additional dataset combinations that aren't true O(n²)
const outerIsFiles = /files?/i.test(outerLine);
const innerIsLines = /lines?/i.test(innerLine);
const outerIsVulns = /vulnerabilities?/i.test(outerLine);
const innerIsCategories = /categories?/i.test(innerLine);
const outerIsResults = /results?/i.test(outerLine);
const innerIsIssues = /issues?/i.test(innerLine);
return (outerIsPatterns && innerIsMatches) ||
(outerIsMatches && innerIsPatterns) ||
(outerIsFiles && innerIsLines) ||
(outerIsVulns && innerIsCategories) ||
(outerIsResults && innerIsIssues);
}
module.exports = isPatternsMatchesIteration;