reka 0.1.0

Async Rust SDK for the Reka API.
Documentation
use std::collections::BTreeMap;

use serde::{Deserialize, Serialize};
use serde_json::Value;

/// Health response returned by `client.vision().health()`.
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub struct VisionHealth {
    #[serde(default)]
    pub status: Option<String>,
    #[serde(default)]
    pub message: Option<String>,
    #[serde(flatten)]
    pub extra: BTreeMap<String, Value>,
}

#[cfg(test)]
mod tests {
    use serde_json::json;

    use super::VisionHealth;

    #[test]
    fn vision_health_deserializes_known_and_unknown_fields() {
        let health: VisionHealth = serde_json::from_value(json!({
            "status": "ok",
            "uptime_seconds": 42
        }))
        .expect("vision health should deserialize");

        assert_eq!(health.status.as_deref(), Some("ok"));
        assert_eq!(health.extra["uptime_seconds"], 42);
    }
}