stepflow-serde 0.0.5

Stepflow support for Serde
Documentation

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();