Skip to main content

fast_mvt/
error.rs

1pub type MvtResult<T> = Result<T, MvtError>;
2
3#[derive(Debug, thiserror::Error)]
4#[non_exhaustive]
5pub enum MvtError {
6    #[error("protobuf decode error: {0}")]
7    Decode(#[from] buffa::DecodeError),
8
9    #[error("protobuf encode error: {0}")]
10    Encode(#[from] buffa::EncodeError),
11
12    #[error("{0}")]
13    Io(#[from] std::io::Error),
14
15    #[error("duplicate layer name: {0}")]
16    DuplicateLayer(String),
17
18    #[error("missing required layer name")]
19    MissingLayerName,
20
21    #[error("invalid extent 0")]
22    InvalidExtent,
23
24    #[error("unsupported layer version {version} for layer {layer}")]
25    UnsupportedVersion { layer: String, version: u32 },
26
27    #[error("invalid feature tags length: {0}")]
28    InvalidTagsLength(usize),
29
30    #[error("invalid key index {0}")]
31    InvalidKeyIndex(u32),
32
33    #[error("invalid value index {0}")]
34    InvalidValueIndex(u32),
35
36    #[error("invalid geometry command stream")]
37    InvalidGeometry,
38
39    #[error("unsupported geometry type: {0}")]
40    UnsupportedGeometry(&'static str),
41
42    #[error("command count exceeds supported range: {0}")]
43    CommandCount(u32),
44
45    #[error("tile index exceeds supported range: {0}")]
46    IndexOverflow(usize),
47}