openapi-to-rust 0.1.13

Generate strongly-typed Rust structs, HTTP clients, and SSE streaming clients from OpenAPI 3.1 specifications
Documentation
---
source: src/test_helpers.rs
expression: "&generated_code"
---
//! Generated types from OpenAPI specification
//!
//! This file contains all the generated types for the API.
//! Do not edit manually - regenerate using the appropriate script.
#![allow(clippy::large_enum_variant)]
#![allow(clippy::format_in_format_args)]
#![allow(clippy::let_unit_value)]
#![allow(unreachable_patterns)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct Request {
    #[serde(skip_serializing_if = "Option::is_none")]
    pub model: Option<Model>,
}
///The model that will complete your prompt.
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Model {
    Claude35SonnetLatest,
    Claude35HaikuLatest,
    /// Custom or unknown model identifier
    Custom(String),
}
impl<'de> serde::Deserialize<'de> for Model {
    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        let value = String::deserialize(deserializer)?;
        match value.as_str() {
            "claude-3-5-sonnet-latest" => Ok(Model::Claude35SonnetLatest),
            "claude-3-5-haiku-latest" => Ok(Model::Claude35HaikuLatest),
            _ => Ok(Model::Custom(value)),
        }
    }
}
impl serde::Serialize for Model {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: serde::Serializer,
    {
        let value = match self {
            Model::Claude35SonnetLatest => "claude-3-5-sonnet-latest",
            Model::Claude35HaikuLatest => "claude-3-5-haiku-latest",
            Model::Custom(s) => s.as_str(),
        };
        serializer.serialize_str(value)
    }
}