Provides structures for Serde
to simplify deserialization of a Session
The main object to use with Serde
is [SessionSerde
].
Examples
# use stepflow::SessionId;
# use stepflow_serde::SessionSerde;
const JSON: &str = r#"
{
"vars": {
"name": "String",
"email": "Email"
},
"steps": {
"$root": {
"substeps": ["nameStep", "emailStep"],
"outputs": ["name","email"]
},
"nameStep": {
"outputs": ["name"]
},
"emailStep": {
"outputs": ["email"]
}
},
"actions": {
"$all": { "type": "htmlForm" }
}
}"#;
// Parse JSON to a Session
let session_serde: SessionSerde = serde_json::from_str(JSON).unwrap();
let session = session_serde.into_session::<serde_json::Error>(SessionId::new(0), false).unwrap();