swc_config/file_pattern.rs
1use serde::{Deserialize, Serialize};
2
3use crate::{glob::CachedGlob, regex::CachedRegex};
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
6#[serde(untagged)]
7pub enum FilePattern {
8 Regex(CachedRegex),
9 Glob { glob: CachedGlob },
10}
11
12impl FilePattern {
13 pub fn is_match(&self, path: &str) -> bool {
14 match self {
15 FilePattern::Regex(regex) => regex.is_match(path),
16 FilePattern::Glob { glob } => glob.is_match(path),
17 }
18 }
19}