pub struct DataContext<'a> { /* private fields */ }Expand description
A scoped window into the DataModel used during rendering.
Handles:
- Absolute paths (starting with
/) - Relative paths (no leading
/, resolved againstbase_path) - Dynamic value resolution (literals, bindings, function calls)
Implementations§
Source§impl<'a> DataContext<'a>
impl<'a> DataContext<'a>
Sourcepub fn new(
data_model: &'a DataModel,
functions: &'a HashMap<String, Box<dyn FunctionImplementation>>,
) -> Self
pub fn new( data_model: &'a DataModel, functions: &'a HashMap<String, Box<dyn FunctionImplementation>>, ) -> Self
Create a new DataContext at the root scope.
Sourcepub fn nested(&self, relative_path: &str) -> DataContext<'a>
pub fn nested(&self, relative_path: &str) -> DataContext<'a>
Create a nested context for template iteration.
Sourcepub fn resolve_pointer(&self, path: &str) -> String
pub fn resolve_pointer(&self, path: &str) -> String
Resolve a possibly-relative pointer to an absolute JSON Pointer.
Sourcepub fn resolve_dynamic_string(&self, ds: &DynamicString) -> String
pub fn resolve_dynamic_string(&self, ds: &DynamicString) -> String
Resolve a DynamicString to its current string value.
Sourcepub fn resolve_dynamic_number(&self, dn: &DynamicNumber) -> f64
pub fn resolve_dynamic_number(&self, dn: &DynamicNumber) -> f64
Resolve a DynamicNumber.
Sourcepub fn resolve_dynamic_boolean(&self, db: &DynamicBoolean) -> bool
pub fn resolve_dynamic_boolean(&self, db: &DynamicBoolean) -> bool
Resolve a DynamicBoolean.
Sourcepub fn resolve_dynamic_boolean_condition(
&self,
db: &DynamicBooleanCondition,
) -> bool
pub fn resolve_dynamic_boolean_condition( &self, db: &DynamicBooleanCondition, ) -> bool
Resolve a DynamicBooleanCondition (same logic as DynamicBoolean).
Sourcepub fn resolve_dynamic_value(&self, dv: &DynamicValue) -> Value
pub fn resolve_dynamic_value(&self, dv: &DynamicValue) -> Value
Resolve a DynamicValue to a serde_json::Value.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for DataContext<'a>
impl<'a> !UnwindSafe for DataContext<'a>
impl<'a> Freeze for DataContext<'a>
impl<'a> Send for DataContext<'a>
impl<'a> Sync for DataContext<'a>
impl<'a> Unpin for DataContext<'a>
impl<'a> UnsafeUnpin for DataContext<'a>
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
Mutably borrows from an owned value. Read more