pub struct AutoReloader { /* private fields */ }
Expand description

An auto reloader for MiniJinja Environments.

Implementations§

source§

impl AutoReloader

source

pub fn new<F>(f: F) -> AutoReloader
where F: Fn(Notifier) -> Result<Environment<'static>, Error> + Send + Sync + 'static,

Creates a new auto reloader.

The given closure is invoked to create a new environment whenever the auto-reloader detects that it should reload. It is passed a Notifier which can be used to signal back to the auto-reloader when the environment should be re-created.

source

pub fn notifier(&self) -> Notifier

Returns a handle to the notifier.

This handle can be cloned and used for instance to trigger reloads from a background thread.

source

pub fn acquire_env(&self) -> Result<EnvironmentGuard<'_>, Error>

Acquires a new environment, potentially reloading it if needed.

The acquired environment is protected by a guard. Until the guard is dropped the environment won’t be reloaded. Crucially the environment returned is also behind a shared reference which means that it won’t be possible to mutate it.

If the creator function passed to the constructor fails, the error is returned from this method.

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> 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, U> TryFrom<U> for T
where 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 T
where 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.