dynamode 0.1.1

A professional, extensible ODM for AWS DynamoDB in Rust
Documentation
use std::error::Error as StdError;
use std::fmt;

#[derive(Debug)]
pub enum DynamodeError {
    Serialization(String),
    Deserialization(String),
    DynamoDb(String),
    NotFound,
    InvalidKey,
    Validation(String),
    Network(String),
}

impl fmt::Display for DynamodeError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        match self {
            DynamodeError::Serialization(msg) => write!(f, "Serialization error: {}", msg),
            DynamodeError::Deserialization(msg) => write!(f, "Deserialization error: {}", msg),
            DynamodeError::DynamoDb(msg) => write!(f, "DynamoDB error: {}", msg),
            DynamodeError::NotFound => write!(f, "Entity not found"),
            DynamodeError::InvalidKey => write!(f, "Invalid key"),
            DynamodeError::Validation(msg) => write!(f, "Validation error: {}", msg),
            DynamodeError::Network(msg) => write!(f, "Network error: {}", msg),
        }
    }
}

impl StdError for DynamodeError {}
pub type Result<T> = std::result::Result<T, DynamodeError>;