Ret CompactString in Fetcher::source_name

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
Jiahao XU 2022-08-02 22:42:05 +10:00
parent f72eafb049
commit 60d17c7e56
No known key found for this signature in database
GPG key ID: 591C0B03040416D6
3 changed files with 11 additions and 8 deletions

View file

@ -1,6 +1,7 @@
use std::path::Path; use std::path::Path;
use std::sync::Arc; use std::sync::Arc;
use compact_str::CompactString;
pub use gh_crate_meta::*; pub use gh_crate_meta::*;
pub use log::debug; pub use log::debug;
pub use quickinstall::*; pub use quickinstall::*;
@ -35,7 +36,7 @@ pub trait Fetcher: Send + Sync {
fn pkg_fmt(&self) -> PkgFmt; fn pkg_fmt(&self) -> PkgFmt;
/// A short human-readable name or descriptor for the package source /// A short human-readable name or descriptor for the package source
fn source_name(&self) -> String; fn source_name(&self) -> CompactString;
/// Should return true if the remote is from a third-party source /// Should return true if the remote is from a third-party source
fn is_third_party(&self) -> bool; fn is_third_party(&self) -> bool;

View file

@ -1,6 +1,7 @@
use std::path::Path; use std::path::Path;
use std::sync::Arc; use std::sync::Arc;
use compact_str::{CompactString, ToCompactString};
use log::{debug, info, warn}; use log::{debug, info, warn};
use once_cell::sync::OnceCell; use once_cell::sync::OnceCell;
use reqwest::Client; use reqwest::Client;
@ -79,19 +80,19 @@ impl super::Fetcher for GhCrateMeta {
self.data.meta.pkg_fmt self.data.meta.pkg_fmt
} }
fn source_name(&self) -> String { fn source_name(&self) -> CompactString {
self.url self.url
.get() .get()
.map(|url| { .map(|url| {
if let Some(domain) = url.domain() { if let Some(domain) = url.domain() {
domain.to_string() domain.to_compact_string()
} else if let Some(host) = url.host_str() { } else if let Some(host) = url.host_str() {
host.to_string() host.to_compact_string()
} else { } else {
url.to_string() url.to_compact_string()
} }
}) })
.unwrap_or_else(|| "invalid url".to_string()) .unwrap_or_else(|| "invalid url".into())
} }
fn is_third_party(&self) -> bool { fn is_third_party(&self) -> bool {

View file

@ -1,6 +1,7 @@
use std::path::Path; use std::path::Path;
use std::sync::Arc; use std::sync::Arc;
use compact_str::CompactString;
use log::{debug, info}; use log::{debug, info};
use reqwest::Client; use reqwest::Client;
use reqwest::Method; use reqwest::Method;
@ -49,8 +50,8 @@ impl super::Fetcher for QuickInstall {
PkgFmt::Tgz PkgFmt::Tgz
} }
fn source_name(&self) -> String { fn source_name(&self) -> CompactString {
String::from("QuickInstall") CompactString::from("QuickInstall")
} }
fn is_third_party(&self) -> bool { fn is_third_party(&self) -> bool {