siumai_spec/error/conversions.rs
1//! Type Conversions for LlmError
2//!
3//! This module contains From trait implementations for converting
4//! common error types into LlmError.
5
6use super::types::LlmError;
7
8// From implementations
9impl From<serde_json::Error> for LlmError {
10 fn from(err: serde_json::Error) -> Self {
11 Self::JsonError(err.to_string())
12 }
13}
14
15#[cfg(test)]
16mod tests {
17 use super::*;
18
19 #[test]
20 fn test_from_serde_json_error() {
21 let json_err = serde_json::from_str::<serde_json::Value>("invalid json").unwrap_err();
22 let llm_err: LlmError = json_err.into();
23 assert!(matches!(llm_err, LlmError::JsonError(_)));
24 }
25}