use super::*;
type_to_box_value!(BigDecimal, BigDecimal, Decimal(None));
impl NumericValue for BigDecimal {}
impl NumericValueNullable for Option<BigDecimal> {}
impl Value {
pub fn is_big_decimal(&self) -> bool {
matches!(self, Self::BigDecimal(_))
}
pub fn as_ref_big_decimal(&self) -> Option<&BigDecimal> {
match self {
Self::BigDecimal(v) => v.as_ref().map(|x| x.as_ref()),
_ => panic!("not Value::BigDecimal"),
}
}
pub fn big_decimal_to_f64(&self) -> Option<f64> {
use bigdecimal::ToPrimitive;
self.as_ref_big_decimal().map(|d| d.to_f64().unwrap())
}
}