in provider/src/conversion_traits.rs [203:230]
fn convert(self) -> ConfidenceValue {
match self {
EvaluationContextFieldValue::Bool(value) => {
ConfidenceValue::Bool(value)
}
EvaluationContextFieldValue::Int(value) => {
ConfidenceValue::Int(value)
}
EvaluationContextFieldValue::Float(value) => {
ConfidenceValue::Float(value)
}
EvaluationContextFieldValue::String(value) => {
ConfidenceValue::String(value)
}
EvaluationContextFieldValue::DateTime(value) => {
ConfidenceValue::String(value.to_string())
}
EvaluationContextFieldValue::Struct(value) => {
let of_struct_value = value.clone().downcast::<StructValue>().unwrap();
let fields: HashMap<String, ConfidenceValue> = (*of_struct_value)
.fields
.iter()
.map(|(key, value)| (key.clone(), value.clone().convert())).collect();
let struct_value = ConfidenceStructValue { fields };
ConfidenceValue::Struct(struct_value)
}
}
}