1pub type Result<T> = ::core::result::Result<T, Error>;
6
7#[derive(Debug, thiserror::Error, strum::IntoStaticStr, PartialEq)]
8#[non_exhaustive]
9pub enum Error {
10 #[error("invalid input: {0}")]
11 InvalidDisclosure(String),
12
13 #[error("invalid hasher: {0}")]
14 InvalidHasher(String),
15
16 #[error("data type is not expected: {0}")]
17 DataTypeMismatch(String),
18
19 #[error("claim {0} of disclosure already exists")]
20 ClaimCollisionError(String),
21
22 #[error("digest {0} appears multiple times")]
23 DuplicateDigestError(String),
24
25 #[error("array disclosure object contains keys other than `...`")]
26 InvalidArrayDisclosureObject,
27
28 #[error("invalid path: {0}")]
29 InvalidPath(String),
30
31 #[error("invalid input")]
32 DeserializationError(String),
33
34 #[error("{0}")]
35 Unspecified(String),
36
37 #[error("salt size must be greater than or equal to 16")]
38 InvalidSaltSize,
39
40 #[error("the validation ended with {0} unused disclosure(s)")]
41 UnusedDisclosures(usize),
42
43 #[error("JWS creation failure: {0}")]
44 JwsSignerFailure(String),
45
46 #[error("Missing required KB-JWT")]
47 MissingKeyBindingJwt,
48}