#[non_exhaustive]pub enum Party {
Uri(Uri),
Object {
id: Uri,
properties: IndexMap<String, Value>,
},
}Available on crate feature
vc only.Expand description
The issuer of a credential or the holder of a presentation: a URI, or an object whose id
is that URI and that carries further properties, a name say.
§Examples
use identity_kit::vc::Party;
use serde_json::json;
let issuer: Party = serde_json::from_value(json!("https://example.edu/issuers/565049"))?;
assert_eq!(issuer.id().as_str(), "https://example.edu/issuers/565049");
let issuer: Party = serde_json::from_value(json!({
"id": "https://example.edu/issuers/565049",
"name": "Example University"
}))?;
assert_eq!(issuer.id().as_str(), "https://example.edu/issuers/565049");
assert_eq!(issuer.properties().and_then(|p| p.get("name")), Some(&json!("Example University")));Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Party
impl<'de> Deserialize<'de> for Party
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Party
impl StructuralPartialEq for Party
Auto Trait Implementations§
impl Freeze for Party
impl RefUnwindSafe for Party
impl Send for Party
impl Sync for Party
impl Unpin for Party
impl UnsafeUnpin for Party
impl UnwindSafe for Party
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.