sos_preferences/
error.rs

1use thiserror::Error;
2
3/// Errors generated by the library.
4#[derive(Debug, Error)]
5pub enum Error {
6    /// Error generated when a preference is not a number.
7    #[error("expecting integer preference for '{0}'")]
8    PreferenceTypeNumber(String),
9
10    /// Error generated when a preference is not a boolean.
11    #[error("expecting boolean preference for '{0}'")]
12    PreferenceTypeBool(String),
13
14    /// Error generated when a preference is not a string.
15    #[error("expecting string preference for '{0}'")]
16    PreferenceTypeString(String),
17
18    /// Error generated when a preference is not a string list.
19    #[error("expecting string list preference for '{0}'")]
20    PreferenceTypeStringList(String),
21
22    /// Error generated when a preference is not a JSON value.
23    #[error("expecting JSON value preference for '{0}'")]
24    PreferenceTypeJsonValue(String),
25
26    /// Errors generated by the core library.
27    #[error(transparent)]
28    Core(#[from] sos_core::Error),
29}