1#[macro_use]
2extern crate lazy_static;
3extern crate core;
4
5pub mod chart_state;
6pub mod data;
7pub mod expression;
8pub mod planning;
9pub mod proto;
10pub mod runtime;
11pub mod spec;
12pub mod task_graph;
13pub mod transform;
14pub mod variable;
15
16pub use vegafusion_common::arrow;
17pub use vegafusion_common::error;
18
19pub use planning::projection_pushdown::get_column_usage;
21
22#[cfg(test)]
23mod tests {
24 use crate::proto::gen::expression;
26 use prost::Message;
27 use std::io::Cursor;
28
29 #[test]
30 fn try_it() {
31 let lit = expression::Literal {
32 raw: "23.5000".to_string(),
33 value: Some(expression::literal::Value::Number(23.5)),
34 };
35
36 let mut buf = Vec::with_capacity(lit.encoded_len());
37 lit.encode(&mut buf).unwrap();
39
40 println!("literal: {lit:?}");
41 println!("encoded: {buf:?}");
42
43 let decoded = expression::Literal::decode(&mut Cursor::new(&buf));
44 println!("decoded: {decoded:?}");
45 }
46}