1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
use derive_more::Constructor;
use std::convert::TryFrom;
use crate::error::Error;
#[derive(Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Default, Debug, Hash, Constructor)]
pub struct Murmur3Token {
pub value: i64,
}
impl TryFrom<String> for Murmur3Token {
type Error = Error;
fn try_from(value: String) -> Result<Self, Self::Error> {
value
.parse()
.map_err(|error| format!("Error parsing token: {}", error).into())
.map(Murmur3Token::new)
}
}
impl From<i64> for Murmur3Token {
fn from(value: i64) -> Self {
Murmur3Token::new(value)
}
}