MCPcopy Create free account
hub / github.com/GraphLite-AI/GraphLite / evaluate_literal

Method evaluate_literal

graphlite/src/exec/executor.rs:5148–5169  ·  view source on GitHub ↗

Evaluate a literal value

(&self, literal: &crate::ast::Literal)

Source from the content-addressed store, hash-verified

5146
5147 /// Evaluate a literal value
5148 fn evaluate_literal(&self, literal: &crate::ast::Literal) -> Result<Value, ExecutionError> {
5149 match literal {
5150 crate::ast::Literal::String(s) => Ok(Value::String(s.clone())),
5151 crate::ast::Literal::Integer(i) => Ok(Value::Number(*i as f64)),
5152 crate::ast::Literal::Float(f) => Ok(Value::Number(*f)),
5153 crate::ast::Literal::Boolean(b) => Ok(Value::Boolean(*b)),
5154 crate::ast::Literal::Null => Ok(Value::Null),
5155 crate::ast::Literal::DateTime(dt) => Ok(Value::String(dt.clone())),
5156 crate::ast::Literal::Duration(dur) => Ok(Value::String(dur.clone())),
5157 crate::ast::Literal::TimeWindow(tw) => Ok(Value::String(tw.clone())),
5158 crate::ast::Literal::Vector(vec) => {
5159 Ok(Value::Vector(vec.iter().map(|&f| f as f32).collect()))
5160 }
5161 crate::ast::Literal::List(list) => {
5162 let converted: Vec<Value> = list
5163 .iter()
5164 .map(|lit| self.evaluate_literal(lit))
5165 .collect::<Result<Vec<_>, _>>()?;
5166 Ok(Value::List(converted))
5167 }
5168 }
5169 }
5170
5171 /// Evaluate a binary operation
5172 fn evaluate_binary_op(

Callers 2

evaluate_expressionMethod · 0.80

Calls 2

cloneMethod · 0.80
iterMethod · 0.45

Tested by

no test coverage detected