freedom_models/
error.rs

1#[cfg(feature = "serde")]
2use serde::Deserialize;
3
4#[cfg_attr(
5    feature = "serde",
6    derive(Deserialize),
7    serde(rename_all = "camelCase")
8)]
9#[derive(Debug, Clone, PartialEq, Eq)]
10pub enum Error {
11    PaginatedInner,
12    PaginatedListMissing,
13    Link(String),
14}
15
16impl std::fmt::Display for Error {
17    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18        match self {
19            Error::PaginatedInner => {
20                f.write_str("An item within the inner paginated structure failed to deserialize")
21            }
22            Error::PaginatedListMissing => {
23                f.write_str("The inner list of paginated elements is missing")
24            }
25            Error::Link(inner) => write!(f, "The link map failed to deserialize: {inner}"),
26        }
27    }
28}
29
30impl core::error::Error for Error {}