hcl::template

Struct ForDirective

Source
pub struct ForDirective {
    pub key_var: Option<Identifier>,
    pub value_var: Identifier,
    pub collection_expr: Expression,
    pub template: Template,
    pub for_strip: Strip,
    pub endfor_strip: Strip,
}
Expand description

The template for directive is the template equivalent of the for expression, producing zero or more copies of its sub-template based on the elements of a collection.

Fields§

§key_var: Option<Identifier>

Optional iterator key variable identifier.

§value_var: Identifier

The iterator value variable identifier.

§collection_expr: Expression

The expression that produces the list or object of elements to iterate over.

§template: Template

The template that is included in the result string for each loop iteration.

§for_strip: Strip

The whitespace strip mode to use on the template elements preceeding and following after the for expression.

§endfor_strip: Strip

The whitespace strip mode to use on the template elements preceeding and following after the endfor marker of this directive.

Implementations§

Source§

impl ForDirective

Source

pub fn new<T>( value: Identifier, collection_expr: T, template: Template, ) -> ForDirective
where T: Into<Expression>,

Creates a new ForDirective from the provided iterator value identifier, an expression that produces the list or object of elements to iterate over, and the template the is included in the result string for each loop iteration.

Source

pub fn with_key_var(self, key_var: Identifier) -> ForDirective

Adds the iterator key variable identifier to the for expression and returns the modified ForDirective.

Source

pub fn with_for_strip(self, strip: Strip) -> ForDirective

Sets the whitespace strip mode to use on the template elements preceeding and following after the for expression and returns the modified ForDirective.

Source

pub fn with_endfor_strip(self, strip: Strip) -> ForDirective

Sets the whitespace strip mode to use on the template elements preceeding and following after the endfor marker of this directive and returns the modified ForDirective.

Trait Implementations§

Source§

impl Clone for ForDirective

Source§

fn clone(&self) -> ForDirective

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ForDirective

Source§

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

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

impl Format for ForDirective

Source§

fn format<W>(&self, fmt: &mut Formatter<'_, W>) -> Result<()>
where W: Write,

Formats a HCL structure using a formatter and writes the result to the provided writer. Read more
Source§

fn format_vec<W>(&self, fmt: &mut Formatter<'_, W>) -> Result<Vec<u8>>
where W: Write + AsMut<Vec<u8>>,

Formats a HCL structure using a formatter and returns the result as a Vec<u8>. Read more
Source§

fn format_string<W>(&self, fmt: &mut Formatter<'_, W>) -> Result<String>
where W: Write + AsMut<Vec<u8>>,

Formats a HCL structure using a formatter and returns the result as a String. Read more
Source§

impl From<ForDirective> for Directive

Source§

fn from(directive: ForDirective) -> Self

Converts to this type from the input type.
Source§

impl From<ForDirective> for ForDirective

Source§

fn from(value: ForDirective) -> Self

Converts to this type from the input type.
Source§

impl From<ForDirective> for ForDirective

Source§

fn from(value: ForDirective) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for ForDirective

Source§

fn eq(&self, other: &ForDirective) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ForDirective

Source§

impl StructuralPartialEq for ForDirective

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, dst: *mut u8)

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

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.