utility_macros_internals/error.rs
1use std::result::Result as StdResult;
2use thiserror::Error as ThisError;
3
4/// An error type for utility-macros
5#[derive(ThisError, Debug)]
6pub enum Error {
7 /// A required field is None when calling `Partial::type_()` or `HasRequired::required()``
8 #[error("Required field `{0}` is missing")]
9 MissingField(&'static str),
10 /// A duplicate key is found when calling `Record::from_entries()`
11 #[error("Duplicate key `{0}`")]
12 DuplicateKey(&'static str),
13 /// A key is missing when calling `Record::from_entries()`
14 #[error("Missing key `{0}`")]
15 MissingKey(&'static str),
16 /// Invalid variant when calling `StringUnion::try_from_str()`
17 #[error("Invalid variant `{0}`")]
18 InvalidVariant(String),
19}
20
21/// A type alias for `std::result::Result<T, Error>`
22pub type Result<T> = StdResult<T, Error>;