Skip to main content

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}