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
JavaScript
/**
* @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
};