(data: &str)
| 339 | } |
| 340 | |
| 341 | fn parse_google_sse(data: &str) -> Option<StreamEvent> { |
| 342 | if data.is_empty() { |
| 343 | return None; |
| 344 | } |
| 345 | |
| 346 | let response: GoogleResponse = serde_json::from_str(data).ok()?; |
| 347 | |
| 348 | let text = response |
| 349 | .candidates |
| 350 | .first()? |
| 351 | .content |
| 352 | .parts |
| 353 | .first()? |
| 354 | .text |
| 355 | .clone()?; |
| 356 | |
| 357 | Some(StreamEvent::TextDelta(text)) |
| 358 | } |
no test coverage detected