aws-sdk-quicksight 1.134.0

AWS SDK for Amazon QuickSight
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub fn ser_visual(
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    input: &crate::types::Visual,
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    if let Some(var_1) = &input.table_visual {
        #[allow(unused_mut)]
        let mut object_2 = object.key("TableVisual").start_object();
        crate::protocol_serde::shape_table_visual::ser_table_visual(&mut object_2, var_1)?;
        object_2.finish();
    }
    if let Some(var_3) = &input.pivot_table_visual {
        #[allow(unused_mut)]
        let mut object_4 = object.key("PivotTableVisual").start_object();
        crate::protocol_serde::shape_pivot_table_visual::ser_pivot_table_visual(&mut object_4, var_3)?;
        object_4.finish();
    }
    if let Some(var_5) = &input.bar_chart_visual {
        #[allow(unused_mut)]
        let mut object_6 = object.key("BarChartVisual").start_object();
        crate::protocol_serde::shape_bar_chart_visual::ser_bar_chart_visual(&mut object_6, var_5)?;
        object_6.finish();
    }
    if let Some(var_7) = &input.kpi_visual {
        #[allow(unused_mut)]
        let mut object_8 = object.key("KPIVisual").start_object();
        crate::protocol_serde::shape_kpi_visual::ser_kpi_visual(&mut object_8, var_7)?;
        object_8.finish();
    }
    if let Some(var_9) = &input.pie_chart_visual {
        #[allow(unused_mut)]
        let mut object_10 = object.key("PieChartVisual").start_object();
        crate::protocol_serde::shape_pie_chart_visual::ser_pie_chart_visual(&mut object_10, var_9)?;
        object_10.finish();
    }
    if let Some(var_11) = &input.gauge_chart_visual {
        #[allow(unused_mut)]
        let mut object_12 = object.key("GaugeChartVisual").start_object();
        crate::protocol_serde::shape_gauge_chart_visual::ser_gauge_chart_visual(&mut object_12, var_11)?;
        object_12.finish();
    }
    if let Some(var_13) = &input.line_chart_visual {
        #[allow(unused_mut)]
        let mut object_14 = object.key("LineChartVisual").start_object();
        crate::protocol_serde::shape_line_chart_visual::ser_line_chart_visual(&mut object_14, var_13)?;
        object_14.finish();
    }
    if let Some(var_15) = &input.heat_map_visual {
        #[allow(unused_mut)]
        let mut object_16 = object.key("HeatMapVisual").start_object();
        crate::protocol_serde::shape_heat_map_visual::ser_heat_map_visual(&mut object_16, var_15)?;
        object_16.finish();
    }
    if let Some(var_17) = &input.tree_map_visual {
        #[allow(unused_mut)]
        let mut object_18 = object.key("TreeMapVisual").start_object();
        crate::protocol_serde::shape_tree_map_visual::ser_tree_map_visual(&mut object_18, var_17)?;
        object_18.finish();
    }
    if let Some(var_19) = &input.geospatial_map_visual {
        #[allow(unused_mut)]
        let mut object_20 = object.key("GeospatialMapVisual").start_object();
        crate::protocol_serde::shape_geospatial_map_visual::ser_geospatial_map_visual(&mut object_20, var_19)?;
        object_20.finish();
    }
    if let Some(var_21) = &input.filled_map_visual {
        #[allow(unused_mut)]
        let mut object_22 = object.key("FilledMapVisual").start_object();
        crate::protocol_serde::shape_filled_map_visual::ser_filled_map_visual(&mut object_22, var_21)?;
        object_22.finish();
    }
    if let Some(var_23) = &input.layer_map_visual {
        #[allow(unused_mut)]
        let mut object_24 = object.key("LayerMapVisual").start_object();
        crate::protocol_serde::shape_layer_map_visual::ser_layer_map_visual(&mut object_24, var_23)?;
        object_24.finish();
    }
    if let Some(var_25) = &input.funnel_chart_visual {
        #[allow(unused_mut)]
        let mut object_26 = object.key("FunnelChartVisual").start_object();
        crate::protocol_serde::shape_funnel_chart_visual::ser_funnel_chart_visual(&mut object_26, var_25)?;
        object_26.finish();
    }
    if let Some(var_27) = &input.scatter_plot_visual {
        #[allow(unused_mut)]
        let mut object_28 = object.key("ScatterPlotVisual").start_object();
        crate::protocol_serde::shape_scatter_plot_visual::ser_scatter_plot_visual(&mut object_28, var_27)?;
        object_28.finish();
    }
    if let Some(var_29) = &input.combo_chart_visual {
        #[allow(unused_mut)]
        let mut object_30 = object.key("ComboChartVisual").start_object();
        crate::protocol_serde::shape_combo_chart_visual::ser_combo_chart_visual(&mut object_30, var_29)?;
        object_30.finish();
    }
    if let Some(var_31) = &input.box_plot_visual {
        #[allow(unused_mut)]
        let mut object_32 = object.key("BoxPlotVisual").start_object();
        crate::protocol_serde::shape_box_plot_visual::ser_box_plot_visual(&mut object_32, var_31)?;
        object_32.finish();
    }
    if let Some(var_33) = &input.waterfall_visual {
        #[allow(unused_mut)]
        let mut object_34 = object.key("WaterfallVisual").start_object();
        crate::protocol_serde::shape_waterfall_visual::ser_waterfall_visual(&mut object_34, var_33)?;
        object_34.finish();
    }
    if let Some(var_35) = &input.histogram_visual {
        #[allow(unused_mut)]
        let mut object_36 = object.key("HistogramVisual").start_object();
        crate::protocol_serde::shape_histogram_visual::ser_histogram_visual(&mut object_36, var_35)?;
        object_36.finish();
    }
    if let Some(var_37) = &input.word_cloud_visual {
        #[allow(unused_mut)]
        let mut object_38 = object.key("WordCloudVisual").start_object();
        crate::protocol_serde::shape_word_cloud_visual::ser_word_cloud_visual(&mut object_38, var_37)?;
        object_38.finish();
    }
    if let Some(var_39) = &input.insight_visual {
        #[allow(unused_mut)]
        let mut object_40 = object.key("InsightVisual").start_object();
        crate::protocol_serde::shape_insight_visual::ser_insight_visual(&mut object_40, var_39)?;
        object_40.finish();
    }
    if let Some(var_41) = &input.sankey_diagram_visual {
        #[allow(unused_mut)]
        let mut object_42 = object.key("SankeyDiagramVisual").start_object();
        crate::protocol_serde::shape_sankey_diagram_visual::ser_sankey_diagram_visual(&mut object_42, var_41)?;
        object_42.finish();
    }
    if let Some(var_43) = &input.custom_content_visual {
        #[allow(unused_mut)]
        let mut object_44 = object.key("CustomContentVisual").start_object();
        crate::protocol_serde::shape_custom_content_visual::ser_custom_content_visual(&mut object_44, var_43)?;
        object_44.finish();
    }
    if let Some(var_45) = &input.empty_visual {
        #[allow(unused_mut)]
        let mut object_46 = object.key("EmptyVisual").start_object();
        crate::protocol_serde::shape_empty_visual::ser_empty_visual(&mut object_46, var_45)?;
        object_46.finish();
    }
    if let Some(var_47) = &input.radar_chart_visual {
        #[allow(unused_mut)]
        let mut object_48 = object.key("RadarChartVisual").start_object();
        crate::protocol_serde::shape_radar_chart_visual::ser_radar_chart_visual(&mut object_48, var_47)?;
        object_48.finish();
    }
    if let Some(var_49) = &input.plugin_visual {
        #[allow(unused_mut)]
        let mut object_50 = object.key("PluginVisual").start_object();
        crate::protocol_serde::shape_plugin_visual::ser_plugin_visual(&mut object_50, var_49)?;
        object_50.finish();
    }
    Ok(())
}

pub(crate) fn de_visual<'a, I>(
    tokens: &mut ::std::iter::Peekable<I>,
    _value: &'a [u8],
) -> ::std::result::Result<Option<crate::types::Visual>, ::aws_smithy_json::deserialize::error::DeserializeError>
where
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
{
    match tokens.next().transpose()? {
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
            #[allow(unused_mut)]
            let mut builder = crate::types::builders::VisualBuilder::default();
            loop {
                match tokens.next().transpose()? {
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
                        "TableVisual" => {
                            builder = builder.set_table_visual(crate::protocol_serde::shape_table_visual::de_table_visual(tokens, _value)?);
                        }
                        "PivotTableVisual" => {
                            builder = builder
                                .set_pivot_table_visual(crate::protocol_serde::shape_pivot_table_visual::de_pivot_table_visual(tokens, _value)?);
                        }
                        "BarChartVisual" => {
                            builder =
                                builder.set_bar_chart_visual(crate::protocol_serde::shape_bar_chart_visual::de_bar_chart_visual(tokens, _value)?);
                        }
                        "KPIVisual" => {
                            builder = builder.set_kpi_visual(crate::protocol_serde::shape_kpi_visual::de_kpi_visual(tokens, _value)?);
                        }
                        "PieChartVisual" => {
                            builder =
                                builder.set_pie_chart_visual(crate::protocol_serde::shape_pie_chart_visual::de_pie_chart_visual(tokens, _value)?);
                        }
                        "GaugeChartVisual" => {
                            builder = builder
                                .set_gauge_chart_visual(crate::protocol_serde::shape_gauge_chart_visual::de_gauge_chart_visual(tokens, _value)?);
                        }
                        "LineChartVisual" => {
                            builder =
                                builder.set_line_chart_visual(crate::protocol_serde::shape_line_chart_visual::de_line_chart_visual(tokens, _value)?);
                        }
                        "HeatMapVisual" => {
                            builder = builder.set_heat_map_visual(crate::protocol_serde::shape_heat_map_visual::de_heat_map_visual(tokens, _value)?);
                        }
                        "TreeMapVisual" => {
                            builder = builder.set_tree_map_visual(crate::protocol_serde::shape_tree_map_visual::de_tree_map_visual(tokens, _value)?);
                        }
                        "GeospatialMapVisual" => {
                            builder = builder.set_geospatial_map_visual(
                                crate::protocol_serde::shape_geospatial_map_visual::de_geospatial_map_visual(tokens, _value)?,
                            );
                        }
                        "FilledMapVisual" => {
                            builder =
                                builder.set_filled_map_visual(crate::protocol_serde::shape_filled_map_visual::de_filled_map_visual(tokens, _value)?);
                        }
                        "LayerMapVisual" => {
                            builder =
                                builder.set_layer_map_visual(crate::protocol_serde::shape_layer_map_visual::de_layer_map_visual(tokens, _value)?);
                        }
                        "FunnelChartVisual" => {
                            builder = builder
                                .set_funnel_chart_visual(crate::protocol_serde::shape_funnel_chart_visual::de_funnel_chart_visual(tokens, _value)?);
                        }
                        "ScatterPlotVisual" => {
                            builder = builder
                                .set_scatter_plot_visual(crate::protocol_serde::shape_scatter_plot_visual::de_scatter_plot_visual(tokens, _value)?);
                        }
                        "ComboChartVisual" => {
                            builder = builder
                                .set_combo_chart_visual(crate::protocol_serde::shape_combo_chart_visual::de_combo_chart_visual(tokens, _value)?);
                        }
                        "BoxPlotVisual" => {
                            builder = builder.set_box_plot_visual(crate::protocol_serde::shape_box_plot_visual::de_box_plot_visual(tokens, _value)?);
                        }
                        "WaterfallVisual" => {
                            builder =
                                builder.set_waterfall_visual(crate::protocol_serde::shape_waterfall_visual::de_waterfall_visual(tokens, _value)?);
                        }
                        "HistogramVisual" => {
                            builder =
                                builder.set_histogram_visual(crate::protocol_serde::shape_histogram_visual::de_histogram_visual(tokens, _value)?);
                        }
                        "WordCloudVisual" => {
                            builder =
                                builder.set_word_cloud_visual(crate::protocol_serde::shape_word_cloud_visual::de_word_cloud_visual(tokens, _value)?);
                        }
                        "InsightVisual" => {
                            builder = builder.set_insight_visual(crate::protocol_serde::shape_insight_visual::de_insight_visual(tokens, _value)?);
                        }
                        "SankeyDiagramVisual" => {
                            builder = builder.set_sankey_diagram_visual(
                                crate::protocol_serde::shape_sankey_diagram_visual::de_sankey_diagram_visual(tokens, _value)?,
                            );
                        }
                        "CustomContentVisual" => {
                            builder = builder.set_custom_content_visual(
                                crate::protocol_serde::shape_custom_content_visual::de_custom_content_visual(tokens, _value)?,
                            );
                        }
                        "EmptyVisual" => {
                            builder = builder.set_empty_visual(crate::protocol_serde::shape_empty_visual::de_empty_visual(tokens, _value)?);
                        }
                        "RadarChartVisual" => {
                            builder = builder
                                .set_radar_chart_visual(crate::protocol_serde::shape_radar_chart_visual::de_radar_chart_visual(tokens, _value)?);
                        }
                        "PluginVisual" => {
                            builder = builder.set_plugin_visual(crate::protocol_serde::shape_plugin_visual::de_plugin_visual(tokens, _value)?);
                        }
                        _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
                    },
                    other => {
                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
                            "expected object key or end object, found: {other:?}"
                        )))
                    }
                }
            }
            Ok(Some(builder.build()))
        }
        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
            "expected start object or null",
        )),
    }
}