pub fn ser_event(
object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
input: &crate::types::Event,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
if let Some(var_1) = &input.app_package_name {
object.key("AppPackageName").string(var_1.as_str());
}
if let Some(var_2) = &input.app_title {
object.key("AppTitle").string(var_2.as_str());
}
if let Some(var_3) = &input.app_version_code {
object.key("AppVersionCode").string(var_3.as_str());
}
if let Some(var_4) = &input.attributes {
#[allow(unused_mut)]
let mut object_5 = object.key("Attributes").start_object();
for (key_6, value_7) in var_4 {
{
object_5.key(key_6.as_str()).string(value_7.as_str());
}
}
object_5.finish();
}
if let Some(var_8) = &input.client_sdk_version {
object.key("ClientSdkVersion").string(var_8.as_str());
}
if let Some(var_9) = &input.event_type {
object.key("EventType").string(var_9.as_str());
}
if let Some(var_10) = &input.metrics {
#[allow(unused_mut)]
let mut object_11 = object.key("Metrics").start_object();
for (key_12, value_13) in var_10 {
{
object_11.key(key_12.as_str()).number(
#[allow(clippy::useless_conversion)]
::aws_smithy_types::Number::Float((*value_13).into()),
);
}
}
object_11.finish();
}
if let Some(var_14) = &input.sdk_name {
object.key("SdkName").string(var_14.as_str());
}
if let Some(var_15) = &input.session {
#[allow(unused_mut)]
let mut object_16 = object.key("Session").start_object();
crate::protocol_serde::shape_session::ser_session(&mut object_16, var_15)?;
object_16.finish();
}
if let Some(var_17) = &input.timestamp {
object.key("Timestamp").string(var_17.as_str());
}
Ok(())
}