UNPKG

agentsqripts

Version:

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

39 lines (35 loc) 1.3 kB
/** * @file Create a block object from an AST node * @description Single responsibility: Transform AST node into structured block object */ const extractBlockName = require('./extractBlockName'); const normalizeForComparison = require('./normalizeForComparison'); const generateHash = require('./generateHash'); const calculateComplexity = require('./calculateComplexity'); const extractParameters = require('./extractParameters'); const extractDependencies = require('./extractDependencies'); /** * Create a block object from an AST node */ function createBlockFromNode(node, content, type, filePath) { const startLine = node.loc.start.line; const endLine = node.loc.end.line; const blockContent = content.substring(node.range[0], node.range[1]); const normalizedContent = normalizeForComparison(blockContent, type); return { type, name: extractBlockName(node, type), file: filePath, startLine, endLine, content: blockContent, normalizedContent, hash: generateHash(normalizedContent), complexity: calculateComplexity(node, blockContent), lineCount: endLine - startLine + 1, astNode: node.type, parameters: extractParameters(node), dependencies: extractDependencies(node, content) }; } module.exports = createBlockFromNode;