1use std::num::TryFromIntError;
4use thiserror::Error;
5
6#[derive(Error, Debug)]
8pub enum UtilesCoreError {
9 #[error("{0}")]
11 AdHoc(String),
12
13 #[error("tile parse error: {0}")]
15 TileParseError(String),
16
17 #[error("parse error: {0}")]
19 ParseError(String),
20
21 #[error("invalid tile: {0}")]
23 InvalidTile(String),
24
25 #[error("invalid quadkey: {0}")]
27 InvalidQuadkey(String),
28
29 #[error("invalid bbox: {0}")]
31 InvalidBbox(String),
32
33 #[error("invalid lnglat: {0}")]
35 InvalidLngLat(String),
36
37 #[error("invalid SRTM string: {0}")]
39 InvalidSrtmString(String),
40
41 #[error("invalid zoom(s): {0}")]
43 InvalidZoom(String),
44
45 #[error("invalid projection: {0}")]
47 InvalidProjection(String),
48
49 #[error("invalid json: {0}")]
51 InvalidJson(String),
52
53 #[error("conversion err: {0}")]
55 LngLat2WebMercator(String),
56
57 #[error("Unimplemented: {0}")]
59 Unimplemented(String),
60
61 #[error("io error: {0}")]
63 SerdeJsonError(#[from] serde_json::Error),
64
65 #[error("try-from-int: {0}")]
67 TryFromIntError(#[from] TryFromIntError),
68}
69
70pub type UtilesCoreResult<T> = Result<T, UtilesCoreError>;