fn convert()

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)
            }
        }
    }