Refactors ResponseChunk to use enums

This commit is contained in:
2024-02-07 08:14:43 +00:00
parent 8c42901ddf
commit ee7dcd4df4
2 changed files with 34 additions and 65 deletions

View File

@@ -62,23 +62,19 @@ pub enum Part {
pub type GenerateContentResponse = Vec<ResponseStreamChunk>;
// #[derive(Debug, Serialize, Deserialize)]
// #[serde(rename_all = "camelCase")]
// #[serde(untagged)]
// pub enum ResponseStreamChunkType {
// Ok {
// candidates: Vec<Candidate>,
// usage_metadata: UsageMetadata,
// },
// Error,
// }
#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
#[serde(untagged)]
pub enum ResponseStreamChunk {
Ok(OkResponse),
Error(Error),
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ResponseStreamChunk {
pub candidates: Option<Vec<Candidate>>,
pub usage_metadata: Option<UsageMetadata>,
pub error: Option<Error>,
pub struct OkResponse {
pub candidates: Vec<Candidate>,
pub usage_metadata: UsageMetadata,
}
#[derive(Debug, Serialize, Deserialize)]