agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
33 lines (28 loc) • 842 B
JavaScript
/**
* @file Collect issues from lines
* @description Single responsibility: Iterate through lines and collect detected issues
*/
/**
* Iterate through lines and collect issues
* @param {string[]} lines - Array of code lines
* @param {function} detector - Detection function(line, lineNumber, trimmed, index) returns issue or null
* @returns {Array} Array of issues found
*/
function collectIssues(lines, detector) {
const issues = [];
for (let i = 0; i < lines.length; i++) {
const line = lines[i];
const lineNumber = i + 1;
const trimmed = line.trim();
const issue = detector(line, lineNumber, trimmed, i);
if (issue) {
if (Array.isArray(issue)) {
issues.push(...issue);
} else {
issues.push(issue);
}
}
}
return issues;
}
module.exports = collectIssues;