utiles_core/
errors.rs

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//! utiles-core errors mod

use std::num::TryFromIntError;
use thiserror::Error;

/// Error type for utiles-core
#[derive(Error, Debug)]
pub enum UtilesCoreError {
    /// Error with some string
    #[error("{0}")]
    AdHoc(String),

    /// Error for parsing a tile
    #[error("tile parse error: {0}")]
    TileParseError(String),

    /// Error for general parsing
    #[error("parse error: {0}")]
    ParseError(String),

    /// Error on invalid tile-quadkey
    #[error("invalid tile: {0}")]
    InvalidTile(String),

    /// Error on invalid tile-quadkey
    #[error("invalid quadkey: {0}")]
    InvalidQuadkey(String),

    /// Error for invalid bbox (bounding-box)
    #[error("invalid bbox: {0}")]
    InvalidBbox(String),

    /// Error for invalid `LngLat`
    #[error("invalid lnglat: {0}")]
    InvalidLngLat(String),

    /// Error for invalid SRTM string
    #[error("invalid SRTM string: {0}")]
    InvalidSrtmString(String),

    /// Error for invalid zoom between 0 and 32
    #[error("invalid zoom(s): {0}")]
    InvalidZoom(String),

    /// Error for invalid projection
    #[error("invalid projection: {0}")]
    InvalidProjection(String),

    /// Error for invalid json
    #[error("invalid json: {0}")]
    InvalidJson(String),

    /// Error for when converting from lnglat to web mercator fails
    #[error("conversion err: {0}")]
    LngLat2WebMercator(String),

    /// Error on unimplemented feature
    #[error("Unimplemented: {0}")]
    Unimplemented(String),

    /// Error on serde io error
    #[error("io error: {0}")]
    SerdeJsonError(#[from] serde_json::Error),

    /// Try from int
    #[error("try-from-int: {0}")]
    TryFromIntError(#[from] TryFromIntError),
}

/// Result type for utiles-core; really a type alias for `Result<T, UtilesCoreError>`
pub type UtilesCoreResult<T> = Result<T, UtilesCoreError>;