vegafusion_core/
lib.rs

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
19// Export functions
20pub use planning::projection_pushdown::get_column_usage;
21
22#[cfg(test)]
23mod tests {
24    // use crate::{create_large_shirt, serialize_shirt, deserialize_shirt};
25    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        // Unwrap is safe, since we have reserved sufficient capacity in the vector.
38        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}