arch_pkg_text/value/
dependency_specification.rs

1use super::{DependencySpecification, DependencySpecificationOperator, Version};
2
3impl<'a> DependencySpecification<'a> {
4    /// Extract [`DependencySpecificationOperator`] and [`Version`].
5    ///
6    /// ```
7    /// # use arch_pkg_text::value::{DependencySpecification, DependencySpecificationOperator, Version};
8    /// # use pretty_assertions::assert_eq;
9    /// assert_eq!(
10    ///     DependencySpecification(">=1.27.0-1").components(),
11    ///     Some((
12    ///         DependencySpecificationOperator::GreaterOrEqual,
13    ///         Version("1.27.0-1"),
14    ///     )),
15    /// );
16    /// assert_eq!(DependencySpecification("").components(), None);
17    /// ```
18    pub fn components(&self) -> Option<(DependencySpecificationOperator, Version<'a>)> {
19        DependencySpecificationOperator::parse(self)
20            .map(|(depend_spec_operator, version)| (depend_spec_operator, Version(version)))
21    }
22}