automerge/src/error.rs
2019-12-28 13:18:04 +00:00

31 lines
657 B
Rust

use crate::protocol::ObjectID;
use std::error::Error;
use std::fmt;
#[derive(Debug)]
pub enum AutomergeError {
DuplicateObjectError,
MissingObjectError(ObjectID),
InvalidLinkTarget,
NotImplemented(String),
InvalidChange(String),
}
impl fmt::Display for AutomergeError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self)
}
}
impl Error for AutomergeError {}
#[derive(Debug)]
pub struct InvalidElementID(pub String);
impl fmt::Display for InvalidElementID {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self)
}
}
impl Error for InvalidElementID {}