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