mirror of
https://github.com/astral-sh/uv.git
synced 2025-10-01 14:31:12 +00:00
Use serde(transparent)
for UrlString
(#6633)
This commit is contained in:
parent
2ec7c69861
commit
ee254a8230
1 changed files with 3 additions and 18 deletions
|
@ -143,32 +143,17 @@ impl Display for FileLocation {
|
||||||
PartialOrd,
|
PartialOrd,
|
||||||
Ord,
|
Ord,
|
||||||
Hash,
|
Hash,
|
||||||
|
Serialize,
|
||||||
|
Deserialize,
|
||||||
rkyv::Archive,
|
rkyv::Archive,
|
||||||
rkyv::Deserialize,
|
rkyv::Deserialize,
|
||||||
rkyv::Serialize,
|
rkyv::Serialize,
|
||||||
)]
|
)]
|
||||||
|
#[serde(transparent)]
|
||||||
#[archive(check_bytes)]
|
#[archive(check_bytes)]
|
||||||
#[archive_attr(derive(Debug))]
|
#[archive_attr(derive(Debug))]
|
||||||
pub struct UrlString(String);
|
pub struct UrlString(String);
|
||||||
|
|
||||||
impl serde::Serialize for UrlString {
|
|
||||||
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
|
||||||
where
|
|
||||||
S: serde::ser::Serializer,
|
|
||||||
{
|
|
||||||
String::serialize(&self.0, serializer)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<'de> serde::de::Deserialize<'de> for UrlString {
|
|
||||||
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
|
|
||||||
where
|
|
||||||
D: serde::de::Deserializer<'de>,
|
|
||||||
{
|
|
||||||
String::deserialize(deserializer).map(UrlString)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl UrlString {
|
impl UrlString {
|
||||||
/// Converts a [`UrlString`] to a [`Url`].
|
/// Converts a [`UrlString`] to a [`Url`].
|
||||||
pub fn to_url(&self) -> Url {
|
pub fn to_url(&self) -> Url {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue