openf1 0.1.0

Unofficial Rust client for the OpenF1 API
Documentation
use crate::query::QueryValue;

/// OpenF1 `session_key` or `meeting_key` query value (`1234` or `"latest"`).
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum OpenF1Key {
    Id(i64),
    Latest,
}

impl From<i64> for OpenF1Key {
    fn from(value: i64) -> Self {
        Self::Id(value)
    }
}

impl From<i32> for OpenF1Key {
    fn from(value: i32) -> Self {
        Self::Id(i64::from(value))
    }
}

impl From<OpenF1Key> for QueryValue {
    fn from(value: OpenF1Key) -> Self {
        match value {
            OpenF1Key::Id(id) => QueryValue::Number(id),
            OpenF1Key::Latest => QueryValue::Scalar("latest".to_string()),
        }
    }
}