identity_credential/sd_jwt_vc/
resolver.rs1use async_trait::async_trait;
5use thiserror::Error;
6
7pub(crate) type Result<T> = std::result::Result<T, Error>;
8
9#[derive(Debug, Error)]
11pub enum Error {
12 #[error("The requested item \"{0}\" was not found.")]
14 NotFound(String),
15 #[error("Failed to parse the provided input into a resolvable type: {0}")]
17 ParsingFailure(#[source] anyhow::Error),
18 #[error(transparent)]
20 Generic(#[from] anyhow::Error),
21}
22
23#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
25#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
26pub trait Resolver<I: Sync, T> {
27 async fn resolve(&self, input: &I) -> Result<T>;
29}