#[derive(thiserror::Error, Debug)]
#[non_exhaustive]
pub enum Error {
#[error("io error: {0}")]
Io(#[from] std::io::Error),
#[error("json error: {0}")]
Json(#[from] serde_json::Error),
#[error("missing header")]
MissingHeader,
#[error("unknown asciicast version: {0}")]
UnknownVersion(u8),
#[error("version mismatch: expected v{expected}, found v{found}")]
VersionMismatch {
expected: u8,
found: u8,
},
#[error("malformed event payload: {0}")]
MalformedEvent(String),
}