Rion

Struct Rion 

Source
pub struct Rion<'template> { /* private fields */ }
Expand description

The Rion struct is the entry point for the Rion library. It contains the template and formatter registries and provides functions to render templates as well as to register templates and formatters.

Implementations§

Source§

impl<'template> Rion<'template>

Source

pub fn new() -> Rion<'template>

Create a new Rion registry. The returned registry contains no templates, and has format_unescaped registered as a formatter named “unescaped”.

Source

pub fn resolve_var_str<C>(template: &str, context: &C) -> Result<String>
where C: Serialize,

Resolves variables with just context and template

Source

pub fn resolve_var<C>(template: &str, context: &C) -> Result<Value>
where C: Serialize,

Resolves variables with just context and template

Source

pub fn resolve_varaibles<C>(&self, template: &str, context: &C) -> Result<Value>
where C: Serialize,

Resolves variables with just context and template

Source

pub fn resolve_varaibles_str<C>( &self, template: &str, context: &C, ) -> Result<String>
where C: Serialize,

Resolves variables with just context and template

Source

pub fn add_template( &mut self, name: &'template str, text: &'template str, ) -> Result<()>

Parse and compile the given template, then register it under the given name.

Source

pub fn set_default_formatter<F>(&mut self, formatter: &'template F)
where F: 'static + Fn(&Value, &mut String) -> Result<()>,

Changes the default formatter from format to formatter. Usefull in combination with format_unescaped to deactivate HTML-escaping

Source

pub fn add_formatter<F>(&mut self, name: &'template str, formatter: F)
where F: 'static + Fn(&Value, &mut String) -> Result<()>,

Register the given formatter function under the given name.

Source

pub fn render<C>(&self, template: &str, context: &C) -> Result<String>
where C: Serialize,

Render the template with the given name using the given context object. The context object must implement serde::Serialize as it will be converted to serde_json::Value.

Trait Implementations§

Source§

impl<'template> Default for Rion<'template>

Source§

fn default() -> Rion<'template>

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

Auto Trait Implementations§

§

impl<'template> Freeze for Rion<'template>

§

impl<'template> !RefUnwindSafe for Rion<'template>

§

impl<'template> !Send for Rion<'template>

§

impl<'template> !Sync for Rion<'template>

§

impl<'template> Unpin for Rion<'template>

§

impl<'template> !UnwindSafe for Rion<'template>

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> Chain<T> for T

Source§

fn len(&self) -> usize

The number of items that this chain link consists of.
Source§

fn append_to(self, v: &mut Vec<T>)

Append the elements in this link to the chain.
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. 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.