feat: custom debug impl for identifier
This commit is contained in:
parent
e96d357e6f
commit
63187649d8
1 changed files with 21 additions and 1 deletions
|
@ -1,7 +1,9 @@
|
||||||
use std::error::Error;
|
use std::error::Error;
|
||||||
|
use std::fmt::Formatter;
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
|
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
|
use serde::Serializer;
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub enum PackageIdentifierError {
|
pub enum PackageIdentifierError {
|
||||||
|
@ -22,13 +24,31 @@ impl std::fmt::Display for PackageIdentifierError {
|
||||||
|
|
||||||
impl Error for PackageIdentifierError {}
|
impl Error for PackageIdentifierError {}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Clone)]
|
||||||
pub enum PackageIdentifier {
|
pub enum PackageIdentifier {
|
||||||
PackageLocator(PackageLocator),
|
PackageLocator(PackageLocator),
|
||||||
URI(String),
|
URI(String),
|
||||||
Path(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 {
|
impl std::fmt::Display for PackageIdentifier {
|
||||||
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
|
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
|
||||||
match self {
|
match self {
|
||||||
|
|
Loading…
Reference in a new issue