Skip to main content

Module pipeline

Module pipeline 

Source
Expand description

Pipeline types with typestate pattern Pipeline types with typestate pattern

The typestate pattern ensures pipelines can only transition through valid states: Unvalidated → Validated → Executing → Complete

§Example

use stygian_graph::domain::pipeline::PipelineUnvalidated;
use serde_json::json;

let unvalidated = PipelineUnvalidated::new(json!({"nodes": []}));
let validated = unvalidated.validate()?;
let executing = validated.execute();
let complete = executing.complete(json!({"status": "success"}));

Structs§

PipelineComplete
Pipeline in completed state
PipelineExecuting
Pipeline in executing state
PipelineUnvalidated
Pipeline in unvalidated state
PipelineValidated
Pipeline in validated state