31 lines
657 B
Rust
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 {}
|