pub mod go;
pub mod java;
pub mod javascript;
pub mod python;
pub mod rust;
pub use go::GoVulnerabilityChecker;
pub use java::JavaVulnerabilityChecker;
pub use javascript::JavaScriptVulnerabilityChecker;
pub use python::PythonVulnerabilityChecker;
pub use rust::RustVulnerabilityChecker;
use super::types::{VulnerabilityError, VulnerableDependency};
use crate::analyzer::dependency_parser::DependencyInfo;
use std::path::Path;
pub trait LanguageVulnerabilityChecker {
fn check_vulnerabilities(
&self,
dependencies: &[DependencyInfo],
project_path: &Path,
) -> Result<Vec<VulnerableDependency>, VulnerabilityError>;
}
pub trait MutableLanguageVulnerabilityChecker {
fn check_vulnerabilities(
&mut self,
dependencies: &[DependencyInfo],
project_path: &Path,
) -> Result<Vec<VulnerableDependency>, VulnerabilityError>;
}