feat: custom debug impl for identifier

This commit is contained in:
Strix 2023-10-14 22:39:47 +02:00
parent e96d357e6f
commit 63187649d8
No known key found for this signature in database
GPG key ID: 49B2E37B8915B774

View file

@ -1,7 +1,9 @@
use std::error::Error;
use std::fmt::Formatter;
use std::str::FromStr;
use regex::Regex;
use serde::Serializer;
#[derive(Debug, Clone)]
pub enum PackageIdentifierError {
@ -22,13 +24,31 @@ impl std::fmt::Display for PackageIdentifierError {
impl Error for PackageIdentifierError {}
#[derive(Debug, Clone)]
#[derive(Clone)]
pub enum PackageIdentifier {
PackageLocator(PackageLocator),
URI(String),
Path(String),
}
impl std::fmt::Debug for PackageIdentifier {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
if f.alternate() {
match self {
PackageIdentifier::PackageLocator(pl) => write!(f, "PackageLocator({:#?})", pl),
PackageIdentifier::URI(uri) => write!(f, "URI({:?})", uri),
PackageIdentifier::Path(path) => write!(f, "Path({:?})", path),
}
} else {
match self {
PackageIdentifier::PackageLocator(pl) => write!(f, "PL: {:?}", pl),
PackageIdentifier::URI(uri) => write!(f, "URI: {:?}", uri),
PackageIdentifier::Path(path) => write!(f, "Path: {:?}", path),
}
}
}
}
impl std::fmt::Display for PackageIdentifier {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {