1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use thiserror::Error;

#[derive(Debug, Error)]
pub enum DecodeError {
    #[error("Invalid grid size")]
    InvalidGridSize,
    #[error("Invalid version")]
    InvalidVersion,
    #[error("Format data ECC failure")]
    DataEcc,
    #[error("ECC failure")]
    FormatEcc,
    #[error("Unknown data type")]
    UnkownDataType,
    #[error("Data overflow")]
    DataOverflow,
    #[error("Data underflow")]
    DataUnderflow,
}

#[derive(Debug, Error)]
pub enum ExtractError {
    #[error("Out of bounds")]
    OutOfBounds,
}