Convert a `serde_json::Value` to an `evalexpr::Value`.
(v: &JsonValue)
| 330 | |
| 331 | /// Convert a `serde_json::Value` to an `evalexpr::Value`. |
| 332 | fn json_value_to_eval(v: &JsonValue) -> evalexpr::Value { |
| 333 | use evalexpr::Value as EV; |
| 334 | match v { |
| 335 | JsonValue::String(s) => EV::String(s.clone()), |
| 336 | JsonValue::Bool(b) => EV::Boolean(*b), |
| 337 | JsonValue::Number(n) => { |
| 338 | if let Some(i) = n.as_i64() { |
| 339 | EV::Int(i) |
| 340 | } else if let Some(f) = n.as_f64() { |
| 341 | EV::Float(f) |
| 342 | } else { |
| 343 | EV::String(n.to_string()) |
| 344 | } |
| 345 | } |
| 346 | JsonValue::Null => EV::Empty, |
| 347 | other => EV::String(other.to_string()), |
| 348 | } |
| 349 | } |
| 350 | |
| 351 | /// Maximum wall-clock time allowed for a single `evalexpr` evaluation. |
| 352 | /// |
no test coverage detected