Simplify encoding snowflakes
This commit is contained in:
parent
dcbad0a739
commit
a57e15c9f3
1 changed files with 2 additions and 7 deletions
|
|
@ -300,13 +300,8 @@ impl<'de> de::Visitor<'de> for SnowflakeVisitor {
|
||||||
if v.len() != 13 {
|
if v.len() != 13 {
|
||||||
return Err(E::invalid_length(v.len(), &self));
|
return Err(E::invalid_length(v.len(), &self));
|
||||||
}
|
}
|
||||||
let mut n = 0;
|
let n = u64::from_str_radix(v, 36)
|
||||||
for c in v.chars() {
|
.map_err(|_| E::invalid_value(de::Unexpected::Str(v), &self))?;
|
||||||
let digit = c
|
|
||||||
.to_digit(36)
|
|
||||||
.ok_or_else(|| E::invalid_value(de::Unexpected::Str(v), &self))?;
|
|
||||||
n = n * 36 + digit as u64;
|
|
||||||
}
|
|
||||||
Ok(Snowflake(n))
|
Ok(Snowflake(n))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue