UNPKG

agentsqripts

Version:

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

36 lines (30 loc) 1.16 kB
/** * @file Check for different dataset iterations * @description Single responsibility: Determine if loops iterate over unrelated datasets */ const extractIterationVariable = require('./extractIterationVariable'); /** * Check if we're iterating over different datasets */ function isIteratingDifferentDatasets(outerLine, innerLine) { // Extract variable names from iteration statements const outerVar = extractIterationVariable(outerLine); const innerVar = extractIterationVariable(innerLine); if (!outerVar || !innerVar) return false; // Check for common patterns indicating different data sources const differentDatasetPatterns = [ // patterns → matches [/patterns?/i, /matches?/i], // files → lines [/files?/i, /lines?/i], // items → properties [/items?/i, /(props?|properties)/i], // nodes → children [/nodes?/i, /children/i] ]; return differentDatasetPatterns.some(([pattern1, pattern2]) => { return (pattern1.test(outerVar) && pattern2.test(innerVar)) || (pattern2.test(outerVar) && pattern1.test(innerVar)); }); } module.exports = isIteratingDifferentDatasets;