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>;