use simd_json::{derived::ValueTryIntoString, owned};
use crate::{
entities::issue::issue_operation::IssueOperationData,
replica::entity::operation::operation_data::get,
};
struct SetTitle {
title: String,
was: String,
}
pub(crate) fn set_title(
mut value: owned::Object,
) -> Result<IssueOperationData, super::decode::Error> {
let base: SetTitle = SetTitle {
title: get! {value, "title", try_into_string, super::decode::Error},
was: get! {value, "was", try_into_string, super::decode::Error},
};
Ok(IssueOperationData::SetTitle {
title: base.title,
was: base.was,
})
}
pub(crate) fn set_title_value<'a>(title: &'a str, was: &'a str) -> simd_json::borrowed::Object<'a> {
let mut object = simd_json::borrowed::Object::new();
unsafe {
object.insert_nocheck("title".into(), title.into());
object.insert_nocheck("was".into(), was.into());
}
object
}