MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / eval_function

Function eval_function

nodedb-query/src/functions/mod.rs:22–52  ·  view source on GitHub ↗

Evaluate a scalar function call.

(name: &str, args: &[Value])

Source from the content-addressed store, hash-verified

20
21/// Evaluate a scalar function call.
22pub fn eval_function(name: &str, args: &[Value]) -> Value {
23 if let Some(v) = string::try_eval(name, args) {
24 return v;
25 }
26 if let Some(v) = math::try_eval(name, args) {
27 return v;
28 }
29 if let Some(v) = conditional::try_eval(name, args) {
30 return v;
31 }
32 if let Some(v) = id::try_eval(name, args) {
33 return v;
34 }
35 if let Some(v) = datetime::try_eval(name, args) {
36 return v;
37 }
38 if let Some(v) = json::try_eval(name, args) {
39 return v;
40 }
41 if let Some(v) = types::try_eval(name, args) {
42 return v;
43 }
44 if let Some(v) = array::try_eval(name, args) {
45 return v;
46 }
47 if let Some(v) = fts::try_eval_fts(name, args) {
48 return v;
49 }
50 // Geo / Spatial functions — delegated to geo_functions module.
51 crate::geo_functions::eval_geo_function(name, args).unwrap_or(Value::Null)
52}
53
54#[cfg(test)]
55mod tests {

Callers 4

fold_function_callFunction · 0.85
eval_scopeMethod · 0.85
eval_fnFunction · 0.85
try_eval_scalar_functionFunction · 0.85

Calls 3

try_eval_ftsFunction · 0.85
eval_geo_functionFunction · 0.85
try_evalFunction · 0.70

Tested by

no test coverage detected