arch_pkg_text/value/
dependency_specification.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use super::{DependencySpecification, DependencySpecificationOperator, Version};

impl<'a> DependencySpecification<'a> {
    /// Extract [`DependencySpecificationOperator`] and [`Version`].
    ///
    /// ```
    /// # use arch_pkg_text::value::{DependencySpecification, DependencySpecificationOperator, Version};
    /// # use pretty_assertions::assert_eq;
    /// assert_eq!(
    ///     DependencySpecification(">=1.27.0-1").components(),
    ///     Some((
    ///         DependencySpecificationOperator::GreaterOrEqual,
    ///         Version("1.27.0-1"),
    ///     )),
    /// );
    /// assert_eq!(DependencySpecification("").components(), None);
    /// ```
    pub fn components(&self) -> Option<(DependencySpecificationOperator, Version<'a>)> {
        DependencySpecificationOperator::parse(self)
            .map(|(depend_spec_operator, version)| (depend_spec_operator, Version(version)))
    }
}