UNPKG

agentsqripts

Version:

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

65 lines (60 loc) 1.46 kB
/** * @file Common logic helper functions * @description Shared utilities for common logical operations */ /** * Process stat check for file or directory * @param {string} targetPath - Path to check * @returns {Promise<boolean>} True if file, false if directory */ async function isFile(targetPath) { const fs = require('fs').promises; const stat = await fs.stat(targetPath); return stat.isFile(); } /** * Check if path exists * @param {string} path - Path to check * @returns {Promise<boolean>} True if exists */ async function pathExists(path) { const fs = require('fs').promises; try { await fs.access(path); return true; } catch { return false; } } /** * Get file stats safely * @param {string} path - Path to check * @returns {Promise<Object|null>} Stats object or null */ async function getStats(path) { const fs = require('fs').promises; try { return await fs.stat(path); } catch { return null; } } /** * Filter files by severity * @param {Array} issues - Array of issues * @param {string} severity - Minimum severity * @returns {Array} Filtered issues */ function filterBySeverity(issues, severity) { const severityOrder = { LOW: 1, MEDIUM: 2, HIGH: 3, CRITICAL: 4 }; const minLevel = severityOrder[severity] || 1; return issues.filter(issue => (severityOrder[issue.severity] || 1) >= minLevel ); } module.exports = { isFile, pathExists, getStats, filterBySeverity };