Struct trillium_tera::Context
source · pub struct Context { /* private fields */ }
Expand description
The struct that holds the context of a template rendering.
Light wrapper around a BTreeMap
for easier insertions of Serializable
values
Implementations§
source§impl Context
impl Context
sourcepub fn insert<T, S>(&mut self, key: S, val: &T)
pub fn insert<T, S>(&mut self, key: S, val: &T)
Converts the val
parameter to Value
and insert it into the context.
Panics if the serialization fails.
let mut context = tera::Context::new();
context.insert("number_users", &42);
sourcepub fn try_insert<T, S>(&mut self, key: S, val: &T) -> Result<(), Error>
pub fn try_insert<T, S>(&mut self, key: S, val: &T) -> Result<(), Error>
Converts the val
parameter to Value
and insert it into the context.
Returns an error if the serialization fails.
let mut context = Context::new();
// user is an instance of a struct implementing `Serialize`
if let Err(_) = context.try_insert("number_users", &user) {
// Serialization failed
}
sourcepub fn extend(&mut self, source: Context)
pub fn extend(&mut self, source: Context)
Appends the data of the source
parameter to self
, overwriting existing keys.
The source context will be dropped.
let mut target = Context::new();
target.insert("a", &1);
target.insert("b", &2);
let mut source = Context::new();
source.insert("b", &3);
source.insert("d", &4);
target.extend(source);
sourcepub fn into_json(self) -> Value
pub fn into_json(self) -> Value
Converts the context to a serde_json::Value
consuming the context.
sourcepub fn from_value(obj: Value) -> Result<Context, Error>
pub fn from_value(obj: Value) -> Result<Context, Error>
Takes a serde-json Value
and convert it into a Context
with no overhead/cloning.
sourcepub fn from_serialize(value: impl Serialize) -> Result<Context, Error>
pub fn from_serialize(value: impl Serialize) -> Result<Context, Error>
Takes something that impl Serialize and create a context with it. Meant to be used if you have a hashmap or a struct and don’t want to insert values one by one in the context.
sourcepub fn remove(&mut self, index: &str) -> Option<Value>
pub fn remove(&mut self, index: &str) -> Option<Value>
Remove a key from the context, returning the value at the key if the key was previously inserted into the context.
sourcepub fn contains_key(&self, index: &str) -> bool
pub fn contains_key(&self, index: &str) -> bool
Checks if a value exists at a specific index.
Trait Implementations§
source§impl PartialEq for Context
impl PartialEq for Context
impl StructuralPartialEq for Context
Auto Trait Implementations§
impl Freeze for Context
impl RefUnwindSafe for Context
impl Send for Context
impl Sync for Context
impl Unpin for Context
impl UnwindSafe for Context
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)