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
28
29
30
31
32
33
34
//#[allow(clippy::cast_sign_loss)]
//#[allow(clippy::cast_precision_loss)]
//#[allow(clippy::cast_possible_truncation)]
//impl ValueConvert for Value {
    //fn as_nanos(&self) -> EvaResult<u64> {
        //match self {
            //Value::U8(v) => Ok(u64::from(*v) * 1_000_000_000_u64),
            //Value::U16(v) => Ok(u64::from(*v) * 1_000_000_000_u64),
            //Value::U32(v) => Ok(u64::from(*v) * 1_000_000_000_u64),
            //Value::U64(v) => Ok(v * 1_000_000_000_u64),
             //TODO check f32 for negative and return errors
            //Value::F32(v) => Ok((f64::from(*v) * 1_000_000_000_f64) as u64),
            //Value::F64(v) => Ok((v * 1_000_000_000_f64) as u64),
            //_ => Err(EvaError::invalid_data("Invalid value")),
             //TODO parse string
        //}
    //}
    //fn as_u64(&self) -> EvaResult<u64> {
        //match self {
            //Value::F32(v) => Ok(*v as u64),
            //Value::F64(v) => Ok(*v as u64),
            //Value::U8(v) => Ok(u64::from(*v)),
            //Value::U16(v) => Ok(u64::from(*v)),
            //Value::U32(v) => Ok(u64::from(*v)),
            //Value::U64(v) => Ok(*v as u64),
            //Value::I8(v) => Ok(*v as u64),
            //Value::I16(v) => Ok(*v as u64),
            //Value::I32(v) => Ok(*v as u64),
            //Value::I64(v) => Ok(*v as u64),
             //TODO parse string
            //_ => Err(EvaError::invalid_data("Invalid value")),
        //}
    //}
//}