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}