error.rs (2212B)
1 #[cfg(doc)] 2 use super::{ 3 AllowedCredentials, CredentialMediationRequirement, CredentialSpecificExtension, 4 DiscoverableCredentialRequestOptions, Extension, NonDiscoverableCredentialRequestOptions, 5 PublicKeyCredentialRequestOptions, UserVerificationRequirement, 6 }; 7 use core::{ 8 error::Error, 9 fmt::{self, Display, Formatter}, 10 }; 11 #[cfg(doc)] 12 use std::time::{Instant, SystemTime}; 13 /// Error returned by [`DiscoverableCredentialRequestOptions::start_ceremony`]. 14 /// 15 /// This happens when [`PublicKeyCredentialRequestOptions::timeout`] could not be added to [`Instant::now`] or 16 /// [`SystemTime::now`]. 17 #[derive(Clone, Copy, Debug, Eq, PartialEq)] 18 pub struct InvalidTimeout; 19 impl Display for InvalidTimeout { 20 #[inline] 21 fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { 22 f.write_str("the timeout could not be added to the current Instant") 23 } 24 } 25 impl Error for InvalidTimeout {} 26 /// Error returned by [`NonDiscoverableCredentialRequestOptions::start_ceremony`]. 27 #[derive(Clone, Copy, Debug, Eq, PartialEq)] 28 pub enum NonDiscoverableCredentialRequestOptionsErr { 29 /// Variant when [`NonDiscoverableCredentialRequestOptions::allow_credentials`] is 30 /// empty. 31 EmptyAllowedCredentials, 32 /// Variant when [`NonDiscoverableCredentialRequestOptions::mediation`] is 33 /// [`CredentialMediationRequirement::Conditional`]. 34 ConditionalMediationRequested, 35 /// Variant when [`PublicKeyCredentialRequestOptions::timeout`] could not be added to [`Instant::now`] or 36 /// [`SystemTime::now`]. 37 InvalidTimeout, 38 } 39 impl Display for NonDiscoverableCredentialRequestOptionsErr { 40 #[inline] 41 fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { 42 f.write_str(match *self { 43 Self::EmptyAllowedCredentials => { 44 "non-discoverable requests require a non-empty collection of allowed credentials" 45 } 46 Self::ConditionalMediationRequested => { 47 "non-discoverable requests are not allowed to use conditional mediation" 48 } 49 Self::InvalidTimeout => "the timeout could not be added to the current Instant", 50 }) 51 } 52 } 53 impl Error for NonDiscoverableCredentialRequestOptionsErr {}