pub mod executor;
pub mod strategies;
use crate::types::*;
use anyhow::Result;
pub use executor::AttackExecutor;
pub fn execute_attack(config: AttackConfig) -> Result<Vec<AttackResult>> {
let executor = AttackExecutor::new(config);
executor.execute()
}
pub fn execute_attack_with_patterns(
config: AttackConfig,
language: Language,
frameworks: &[Framework],
) -> Result<Vec<AttackResult>> {
let executor = AttackExecutor::with_patterns(config, language, frameworks);
executor.execute()
}