fn from()

in sdk/core/azure_core_amqp/src/messaging.rs [708:803]


    fn from(list: AmqpList) -> Self {
        let mut message_properties = AmqpMessageProperties::default();
        let field_count = list.len();
        if field_count >= 1 {
            match &list.0[0] {
                AmqpValue::ULong(message_id) => {
                    message_properties.message_id = Some(AmqpMessageId::Ulong(*message_id));
                }
                AmqpValue::Uuid(message_id) => {
                    message_properties.message_id = Some(AmqpMessageId::Uuid(*message_id));
                }
                AmqpValue::Binary(message_id) => {
                    message_properties.message_id = Some(AmqpMessageId::Binary(message_id.clone()));
                }
                AmqpValue::String(message_id) => {
                    message_properties.message_id = Some(AmqpMessageId::String(message_id.clone()));
                }
                _ => {}
            }
        }
        if field_count >= 2 {
            if let AmqpValue::Binary(user_id) = &list.0[1] {
                message_properties.user_id = Some(user_id.clone());
            }
        }
        if field_count >= 3 {
            if let AmqpValue::String(to) = &list.0[2] {
                message_properties.to = Some(to.clone());
            }
        }
        if field_count >= 4 {
            if let AmqpValue::String(subject) = &list.0[3] {
                message_properties.subject = Some(subject.clone());
            }
        }
        if field_count >= 5 {
            if let AmqpValue::String(reply_to) = &list.0[4] {
                message_properties.reply_to = Some(reply_to.clone());
            }
        }
        if field_count >= 6 {
            match &list.0[5] {
                AmqpValue::ULong(correlation_id) => {
                    message_properties.correlation_id = Some(AmqpMessageId::Ulong(*correlation_id));
                }
                AmqpValue::Uuid(correlation_id) => {
                    message_properties.correlation_id = Some(AmqpMessageId::Uuid(*correlation_id));
                }
                AmqpValue::Binary(correlation_id) => {
                    message_properties.correlation_id =
                        Some(AmqpMessageId::Binary(correlation_id.clone()));
                }
                AmqpValue::String(correlation_id) => {
                    message_properties.correlation_id =
                        Some(AmqpMessageId::String(correlation_id.clone()));
                }
                _ => {}
            }
        }
        if field_count >= 7 {
            if let AmqpValue::Symbol(content_type) = &list.0[6] {
                message_properties.content_type = Some(content_type.clone());
            }
        }
        if field_count >= 8 {
            if let AmqpValue::Symbol(content_encoding) = &list.0[7] {
                message_properties.content_encoding = Some(content_encoding.clone());
            }
        }
        if field_count >= 9 {
            if let AmqpValue::TimeStamp(absolute_expiry_time) = &list.0[8] {
                message_properties.absolute_expiry_time = Some(absolute_expiry_time.clone());
            }
        }
        if field_count >= 10 {
            if let AmqpValue::TimeStamp(creation_time) = &list.0[9] {
                message_properties.creation_time = Some(creation_time.clone());
            }
        }
        if field_count >= 11 {
            if let AmqpValue::String(group_id) = &list.0[10] {
                message_properties.group_id = Some(group_id.clone());
            }
        }
        if field_count >= 12 {
            if let AmqpValue::UInt(group_sequence) = &list.0[11] {
                message_properties.group_sequence = Some(*group_sequence);
            }
        }
        if field_count >= 13 {
            if let AmqpValue::String(reply_to_group_id) = &list.0[12] {
                message_properties.reply_to_group_id = Some(reply_to_group_id.clone());
            }
        }
        message_properties
    }