Crate stepflow_serde[][src]

Provides structures for Serde to simplify deserialization of a Session

The main object to use with Serde is SessionSerde.

Examples

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

Structs

SessionSerde
StateDataSerde

Enums

SerdeError