nmd_core/codex/modifier/
base_modifier.rs

1use regex::Regex;
2
3use super::{ModifiersBucket, Modifier, ModifierPattern};
4
5
6#[derive(Debug)]
7pub struct BaseModifier {
8    modifier_pattern: ModifierPattern,
9    incompatible_modifiers: ModifiersBucket,
10    modifier_pattern_regex: Regex,
11}
12
13impl BaseModifier {
14    pub fn new(modifier_pattern: ModifierPattern, regex: Regex, incompatible_modifiers: ModifiersBucket) -> Self {
15        Self {
16            modifier_pattern_regex: regex,
17            modifier_pattern,
18            incompatible_modifiers
19        }
20    }
21}
22
23impl Modifier for BaseModifier {
24
25    fn modifier_pattern(&self) -> &ModifierPattern {
26        &self.modifier_pattern
27    }
28
29    fn incompatible_modifiers(&self) -> &ModifiersBucket {
30        &self.incompatible_modifiers
31    }
32    
33    fn modifier_pattern_regex(&self) -> &Regex {
34        &self.modifier_pattern_regex
35    }
36}