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}