agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
27 lines (23 loc) • 1.14 kB
JavaScript
/**
* @file Check if data could be related
* @description Single responsibility: Analyze if two variables represent related data
*/
/**
* Determine if variables could represent related data
*/
function couldBeRelatedData(outerVar, innerVar, lines, outerIndex, innerIndex) {
// If we can't extract variables, assume they could be related (conservative)
if (!outerVar || !innerVar) return true;
// Different variable names suggest potentially unrelated data
if (outerVar !== innerVar && !outerVar.includes(innerVar) && !innerVar.includes(outerVar)) {
// Look for evidence they're related (assignments, property access)
const contextLines = lines.slice(outerIndex, innerIndex + 1).join(' ');
const hasRelationship = contextLines.includes(`${outerVar}.${innerVar}`) ||
contextLines.includes(`${innerVar}.${outerVar}`) ||
contextLines.includes(`${outerVar}[`) ||
contextLines.includes(`${innerVar}[`);
return hasRelationship;
}
return true; // Conservative: assume related if unclear
}
module.exports = couldBeRelatedData;