UNPKG

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
/** * @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;