vegafusion_core/transform/
formula.rs1use crate::error::Result;
2use crate::expression::parser::parse;
3use crate::proto::gen::transforms::Formula;
4use crate::spec::transform::formula::FormulaTransformSpec;
5use crate::transform::TransformDependencies;
6
7use crate::task_graph::task::InputVariable;
8
9impl Formula {
10 pub fn try_new(spec: &FormulaTransformSpec) -> Result<Self> {
11 let expr = parse(&spec.expr)?;
12 Ok(Self {
13 expr: Some(expr),
14 r#as: spec.as_.clone(),
15 })
16 }
17}
18
19impl TransformDependencies for Formula {
20 fn input_vars(&self) -> Vec<InputVariable> {
21 self.expr.as_ref().unwrap().input_vars()
22 }
23}