Skip to main content

AsDataElement

Trait AsDataElement 

Source
pub trait AsDataElement {
    // Required method
    fn as_data_element(&self) -> DataElement<'_>;
}
Expand description

Borrow a value as a DataElement, choosing simple or composite by type.

A single string borrows as DataElement::Simple; an array, slice, or Vec of strings borrows as DataElement::Composite. This is what lets the elements! macro accept both shapes from arbitrary expressions rather than only from literals.

§Example

use edifact_rs::{AsDataElement, DataElement};

let qualifier = String::from("MS");
let party = ["9900112233445", "", "293"];

assert_eq!(qualifier.as_data_element(), DataElement::Simple("MS"));
assert_eq!(
    party.as_data_element(),
    DataElement::Composite(&["9900112233445", "", "293"]),
);

Required Methods§

Source

fn as_data_element(&self) -> DataElement<'_>

Borrow self as a DataElement.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl AsDataElement for &str

Source§

impl AsDataElement for Cow<'_, str>

Source§

impl AsDataElement for String

Source§

impl AsDataElement for Vec<&str>

Source§

impl AsDataElement for [&str]

Source§

impl AsDataElement for str

Source§

impl<const N: usize> AsDataElement for [&str; N]

Implementors§