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    /// assert!(matches!(
9    ///     DependencySpecification(">=1.27.0-1").components(),
10    ///     Some((
11    ///         DependencySpecificationOperator::GreaterOrEqual,
12    ///         Version("1.27.0-1"),
13    ///     )),
14    /// ));
15    /// assert!(DependencySpecification("").components().is_none());
16    /// ```
17    pub fn components(&self) -> Option<(DependencySpecificationOperator, Version<'a>)> {
18        DependencySpecificationOperator::parse(self)
19            .map(|(depend_spec_operator, version)| (depend_spec_operator, Version(version)))
20    }
21}