From 9481ae0524ccb4e2545288dbedc4c7d5bdeab147 Mon Sep 17 00:00:00 2001 From: "artem.ivanov" Date: Wed, 7 Feb 2024 11:42:00 +0300 Subject: [PATCH] fix: building of W3C credential values passed through the FFI (#323) Signed-off-by: artem.ivanov --- src/services/w3c/types.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/services/w3c/types.rs b/src/services/w3c/types.rs index 2da81ef9..10c3b5e7 100644 --- a/src/services/w3c/types.rs +++ b/src/services/w3c/types.rs @@ -6,9 +6,14 @@ pub struct MakeCredentialAttributes(pub(crate) CredentialSubject); impl MakeCredentialAttributes { pub fn add(&mut self, name: impl Into, raw: impl Into) { - self.0 - .0 - .insert(name.into(), CredentialAttributeValue::String(raw.into())); + let string_value = raw.into(); + let value = if let Ok(number) = string_value.parse::() { + CredentialAttributeValue::Number(number) + } else { + CredentialAttributeValue::String(string_value) + }; + + self.0 .0.insert(name.into(), value); } }