UNPKG

agentsqripts

Version:

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

34 lines (29 loc) 1.03 kB
/** * @file Extract function complexity from AST * @description Single responsibility: Extract function definitions and their complexity from AST */ const { walk } = require('../../ast/astParser'); const analyzeFunctionComplexity = require('./analyzeFunctionComplexity'); /** * Extract function complexity information from AST */ function extractFunctionComplexity(ast, filePath, content) { const functions = []; const lines = content.split('\n'); walk.simple(ast, { FunctionDeclaration(node) { const funcInfo = analyzeFunctionComplexity(node, lines, filePath); if (funcInfo) functions.push(funcInfo); }, FunctionExpression(node) { const funcInfo = analyzeFunctionComplexity(node, lines, filePath); if (funcInfo) functions.push(funcInfo); }, ArrowFunctionExpression(node) { const funcInfo = analyzeFunctionComplexity(node, lines, filePath); if (funcInfo) functions.push(funcInfo); } }); return functions; } module.exports = extractFunctionComplexity;