stepflow_data/
lib.rs

1//! Data layer for [StepFlow](https://stepflow.dev)
2//!
3//! [`StateData`] is the main struct used to store data.
4//! # Examples
5//! ```
6//! # use stepflow_data::{StateData, value::EmailValue, var::{VarId, EmailVar}};
7//! // create the var/value combination
8//! let email_var = EmailVar::new(VarId::new(0));
9//! let email_val = EmailValue::try_new("test@stepflow.dev").unwrap();
10//!
11//! // insert it in a StateData
12//! let mut statedata = StateData::new();
13//! statedata.insert(&email_var.boxed(), email_val.boxed());
14//! ```
15
16mod statedata;
17pub use statedata::StateData;
18
19mod statedata_filtered;
20pub use statedata_filtered::StateDataFiltered;
21
22mod error;
23pub use error::{InvalidValue, InvalidVars};
24
25pub mod var;
26
27#[cfg(test)]
28use var::test_var_val;
29
30mod base_value;
31pub use base_value::BaseValue;
32
33pub mod value;