turbopack/module_options/
match_mode.rs1use serde::{Deserialize, Serialize};
2use turbo_tasks::{NonLocalValue, trace::TraceRawVcs};
3use turbopack_core::reference_type::ReferenceType;
4
5#[derive(Copy, Clone, Debug, PartialEq, Eq, Serialize, Deserialize, TraceRawVcs, NonLocalValue)]
6pub enum MatchMode {
7 NonInternal,
9 Internal,
11 All,
13}
14
15impl MatchMode {
16 pub fn matches(&self, reference_type: &ReferenceType) -> bool {
17 matches!(
18 (self, reference_type.is_internal()),
19 (MatchMode::All, _) | (MatchMode::NonInternal, false) | (MatchMode::Internal, true)
20 )
21 }
22}