use crate::storage::DecodeError;
use thiserror::Error;
#[cfg(feature = "native")]
mod native;
#[cfg(feature = "wasm-js")]
mod wasm_js;
#[cfg(feature = "native")]
pub use native::{NativeAuthClient, NativeLoginError};
#[cfg(feature = "wasm-js")]
pub use wasm_js::AuthClient;
#[derive(Error, Debug)]
pub enum AuthClientError {
#[error("Storage error: {0}")]
Storage(#[from] crate::storage::StorageError),
#[error("Delegation error: {0}")]
Delegation(#[from] ic_agent::identity::DelegationError),
#[cfg(feature = "pem")]
#[error("PEM error: {0}")]
Pem(#[from] ic_agent::identity::PemError),
}
impl From<DecodeError> for AuthClientError {
fn from(err: DecodeError) -> Self {
AuthClientError::Storage(err.into())
}
}