Skip to main content

EnvelopeOptions

Struct EnvelopeOptions 

Source
pub struct EnvelopeOptions { /* private fields */ }
Expand description

How Mapper::to_edifact_interchange_with builds the interchange envelope.

The default is to regenerate: emit a UNA service string advice and stamp the UNB date and time from the clock. That is right for a re-send, and it is what Mapper::to_edifact_interchange does.

It is wrong for a caller comparing a render against its input, because the two differences are not about the message (issue #161). Such a caller has the original — the forward direction hands it back as Interchangedaten — and can ask for it here.

ⓘ
let options = EnvelopeOptions::default()
    .emit_una(false)
    .datum_zeit_from(&interchange.interchangedaten);

§What this cannot reproduce

Non-default delimiters. The whole render — envelope and body alike — uses EdifactDelimiters::default, so an input whose UNA declared other delimiters cannot be reproduced, and emit_una(true) always advertises the defaults. Suppressing the UNA is honest about that; claiming delimiters the body does not honour would not be.

Implementations§

Source§

impl EnvelopeOptions

Source

pub fn emit_una(self, emit: bool) -> Self

Whether to emit the UNA service string advice. Default true.

An input that carried no UNA gains one unless this is false.

Source

pub fn datum_zeit( self, datum: impl Into<String>, zeit: impl Into<String>, ) -> Self

Interchange date (yymmdd) and time (hhmm) for UNB, instead of the clock.

Both go into the header verbatim. A value that is not the right number of digits is refused when the interchange is rendered — with MapperError::MalformedEnvelopeDateTime, not silently — because UNB is the segment whose defects surface at the receiving gateway rather than anywhere the sender looks.

Source

pub fn datum_zeit_from(self, daten: &Interchangedaten) -> Self

Take the UNB date and time from the Interchangedaten the forward direction produced. Fields it does not carry are left to the clock.

Trait Implementations§

Source§

impl Clone for EnvelopeOptions

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EnvelopeOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for EnvelopeOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more