agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
31 lines (24 loc) • 1.04 kB
JavaScript
/**
* @file Extract iteration variable from loop statement
* @description Single responsibility: Parse and extract the variable being iterated over
*/
/**
* Extract variable being iterated over
*/
function extractIterationVariable(line) {
// Extract variable from: array.forEach, for(... in array), etc.
const forEachMatch = line.match(/(\w+)\.forEach/);
if (forEachMatch) return forEachMatch[1];
const forInMatch = line.match(/for\s*\([^)]*in\s+(\w+)/);
if (forInMatch) return forInMatch[1];
const forOfMatch = line.match(/for\s*\([^)]*of\s+(\w+)/);
if (forOfMatch) return forOfMatch[1];
// Traditional for loop: for(let i=0; i<array.length; i++)
const traditionalMatch = line.match(/for\s*\([^;]+;\s*\w+\s*<\s*(\w+)\.length/);
if (traditionalMatch) return traditionalMatch[1];
// Array method patterns
const arrayMethodMatch = line.match(/(\w+)\.(map|filter|find|some|every)\s*\(/);
if (arrayMethodMatch) return arrayMethodMatch[1];
return null;
}
module.exports = extractIterationVariable;