Trait VariableResolver

Source
pub trait VariableResolver {
    // Required methods
    fn get_variable(
        &self,
        name: &str,
        loop_context: Option<&HashMap<String, Value>>,
    ) -> Result<Value, ParserError>;
    fn insert_variable(
        &mut self,
        name: &str,
        value: Value,
    ) -> Result<(), ParserError>;
    fn update_variable(
        &mut self,
        name: &str,
        value: Value,
    ) -> Result<(), ParserError>;
    fn resolve_scope(&self, name: &str) -> Result<(String, String), ParserError>;
}

Required Methods§

Source

fn get_variable( &self, name: &str, loop_context: Option<&HashMap<String, Value>>, ) -> Result<Value, ParserError>

Gets a variable’s value, potentially checking a loop context first.

Source

fn insert_variable( &mut self, name: &str, value: Value, ) -> Result<(), ParserError>

Inserts a new variable. Loop context is not relevant here.

Source

fn update_variable( &mut self, name: &str, value: Value, ) -> Result<(), ParserError>

Updates an existing variable. Loop context is not relevant here.

Source

fn resolve_scope(&self, name: &str) -> Result<(String, String), ParserError>

Resolves implicit scopes (e.g., entry:foo -> <scope_id>:foo).

Implementors§