1
//! Top-level error types for Conjure-Oxide.
2

            
3
use serde_json::Error as JsonError;
4
use thiserror::Error;
5

            
6
pub type Result<T> = std::result::Result<T, Error>;
7

            
8
#[derive(Debug, Error)]
9
pub enum Error {
10
    #[error("JSON error: {0}")]
11
    JSON(#[from] JsonError),
12

            
13
    #[error("Error parsing model: {0}")]
14
    Parse(String),
15

            
16
    #[error("{0} is not yet implemented.")]
17
    NotImplemented(String),
18

            
19
    #[error(transparent)]
20
    Other(#[from] anyhow::Error),
21
}