use simd_json::{derived::ValueTryIntoString, owned};
use crate::{
entities::identity::identity_operation::IdentityOperationData,
replica::entity::operation::operation_data::get,
};
struct SetEmail {
email: String,
}
pub(crate) fn set_email(
mut value: owned::Object,
) -> Result<IdentityOperationData, super::decode::Error> {
let base: SetEmail = SetEmail {
email: get! {value, "email", try_into_string, super::decode::Error},
};
Ok(IdentityOperationData::SetEmail { email: base.email })
}
pub(crate) fn set_email_value(email: &str) -> simd_json::borrowed::Object<'_> {
let mut object = simd_json::borrowed::Object::new();
unsafe {
object.insert_nocheck("email".into(), email.into());
}
object
}