nmd_core/codex/modifier/
base_modifier.rs1use 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}