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