use crate::findings::ArtifactKind;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum RuleCondition {
Regex { pattern: String },
SectionContains {
section: String,
values: Vec<String>,
},
SectionRegex { section: String, pattern: String },
ArtifactKind { kinds: Vec<ArtifactKind> },
#[cfg(feature = "yara")]
Yara { rule: String },
Any(Vec<RuleCondition>),
All(Vec<RuleCondition>),
CodeLanguage { languages: Vec<String> },
}