vrl/compiler/expression/
noop.rs

1use std::fmt;
2
3use crate::value::Value;
4
5use crate::compiler::state::{TypeInfo, TypeState};
6use crate::compiler::{Context, Expression, TypeDef, expression::Resolved};
7
8#[derive(Debug, Clone, Copy, PartialEq, Eq)]
9pub struct Noop;
10
11impl Expression for Noop {
12    fn resolve(&self, _: &mut Context) -> Resolved {
13        Ok(Value::Null)
14    }
15
16    fn type_info(&self, state: &TypeState) -> TypeInfo {
17        TypeInfo::new(state, TypeDef::null())
18    }
19}
20
21impl fmt::Display for Noop {
22    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
23        f.write_str("null")
24    }
25}