use thiserror::Error;
pub type CrdtResult<T> = Result<T, CrdtError>;
#[derive(Debug, Error)]
pub enum CrdtError {
#[error("decode update: {0}")]
DecodeUpdate(String),
#[error("apply update: {0}")]
ApplyUpdate(String),
#[error("decode state vector: {0}")]
DecodeStateVector(String),
#[error("value codec for field `{field}`: {source}")]
ValueCodec {
field: String,
source: serde_json::Error,
},
#[error("store: {0}")]
Store(#[from] spacedb_store::StoreError),
}