uv_resolver/
dependency_mode.rs

1#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, serde::Deserialize)]
2pub enum DependencyMode {
3    /// Include all dependencies, whether direct or transitive.
4    #[default]
5    Transitive,
6    /// Exclude transitive dependencies, only resolving the root package's immediate dependencies.
7    Direct,
8}
9
10impl DependencyMode {
11    /// Returns `true` if transitive dependencies should be included.
12    pub fn is_transitive(self) -> bool {
13        matches!(self, Self::Transitive)
14    }
15
16    /// Returns `true` if (only) direct dependencies should be excluded.
17    pub fn is_direct(self) -> bool {
18        matches!(self, Self::Direct)
19    }
20}