pub struct RenderContext<'reg, 'rc> { /* private fields */ }
Expand description

The context of a render call

This context stores information of a render and a writer where generated content is written to.

Implementations§

source§

impl<'reg: 'rc, 'rc> RenderContext<'reg, 'rc>

source

pub fn new(root_template: Option<&'reg String>) -> RenderContext<'reg, 'rc>

Create a render context

source

pub fn push_block(&mut self, block: BlockContext<'reg>)

Push a block context into render context stack. This is typically called when you entering a block scope.

source

pub fn pop_block(&mut self)

Pop and drop current block context. This is typically called when leaving a block scope.

source

pub fn block(&self) -> Option<&BlockContext<'reg>>

Borrow a reference to current block context

source

pub fn block_mut(&mut self) -> Option<&mut BlockContext<'reg>>

Borrow a mutable reference to current block context in order to modify some data.

source

pub fn context(&self) -> Option<Rc<Context>>

Get the modified context data if any

source

pub fn set_context(&mut self, ctx: Context)

Set new context data into the render process. This is typically called in decorators where user can modify the data they were rendering.

source

pub fn evaluate( &self, context: &'rc Context, relative_path: &str ) -> Result<ScopedJson<'reg, 'rc>, RenderError>

Evaluate a Json path in current scope.

Typically you don’t need to evaluate it by yourself. The Helper and Decorator API will provide your evaluated value of their parameters and hash data.

source

pub fn get_partial(&self, name: &str) -> Option<&Template>

Get registered partial in this render context

source

pub fn set_partial(&mut self, name: String, partial: &'reg Template)

Register a partial for this context

source

pub fn remove_partial(&mut self, name: &str)

Remove a registered partial

source

pub fn is_current_template(&self, p: &str) -> bool

Test if given template name is current template.

source

pub fn register_local_helper( &mut self, name: &str, def: Box<dyn HelperDef + Send + Sync + 'rc> )

Register a helper in this render context. This is a feature provided by Decorator where you can create temporary helpers.

source

pub fn unregister_local_helper(&mut self, name: &str)

Remove a helper from render context

source

pub fn get_local_helper( &self, name: &str ) -> Option<Rc<dyn HelperDef + Send + Sync + 'rc>>

Attempt to get a helper from current render context.

source

pub fn get_current_template_name(&self) -> Option<&'reg String>

Returns the current template name. Note that the name can be vary from root template when you are rendering from partials.

source

pub fn set_current_template_name(&mut self, name: Option<&'reg String>)

Set the current template name.

source

pub fn get_root_template_name(&self) -> Option<&'reg String>

Get root template name if any. This is the template name that you call render from Handlebars.

source

pub fn is_disable_escape(&self) -> bool

Get the escape toggle

source

pub fn set_disable_escape(&mut self, disable: bool)

Set the escape toggle. When toggle is on, escape_fn will be called when rendering.

Trait Implementations§

source§

impl<'reg, 'rc> Clone for RenderContext<'reg, 'rc>

source§

fn clone(&self) -> RenderContext<'reg, 'rc>

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<'reg, 'rc> Debug for RenderContext<'reg, 'rc>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'reg, 'rc> !RefUnwindSafe for RenderContext<'reg, 'rc>

§

impl<'reg, 'rc> !Send for RenderContext<'reg, 'rc>

§

impl<'reg, 'rc> !Sync for RenderContext<'reg, 'rc>

§

impl<'reg, 'rc> Unpin for RenderContext<'reg, 'rc>

§

impl<'reg, 'rc> !UnwindSafe for RenderContext<'reg, 'rc>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.