aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/util/package_info.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/util/package_info.rs')
-rw-r--r--crates/shirabe/src/util/package_info.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/crates/shirabe/src/util/package_info.rs b/crates/shirabe/src/util/package_info.rs
index 6660404..df34951 100644
--- a/crates/shirabe/src/util/package_info.rs
+++ b/crates/shirabe/src/util/package_info.rs
@@ -1,13 +1,12 @@
//! ref: composer/src/Composer/Util/PackageInfo.php
-use crate::package::CompletePackageInterface;
-use crate::package::PackageInterface;
+use crate::package::PackageInterfaceHandle;
pub struct PackageInfo;
impl PackageInfo {
- pub fn get_view_source_url(package: &dyn PackageInterface) -> Option<String> {
- if let Some(complete) = package.as_complete_package_interface() {
+ pub fn get_view_source_url(package: PackageInterfaceHandle) -> Option<String> {
+ if let Some(complete) = package.as_complete() {
let support = complete.get_support();
if let Some(source) = support.get("source") {
if source != "" {
@@ -16,14 +15,14 @@ impl PackageInfo {
}
}
- package.get_source_url().map(|s| s.to_string())
+ package.get_source_url()
}
- pub fn get_view_source_or_homepage_url(package: &dyn PackageInterface) -> Option<String> {
- let url = Self::get_view_source_url(package).or_else(|| {
+ pub fn get_view_source_or_homepage_url(package: PackageInterfaceHandle) -> Option<String> {
+ let url = Self::get_view_source_url(package.clone()).or_else(|| {
package
- .as_complete_package_interface()
- .and_then(|complete| complete.get_homepage().map(|s| s.to_string()))
+ .as_complete()
+ .and_then(|complete| complete.get_homepage())
});
if url.as_deref() == Some("") {