node_flow/flows/mod.rs
1//! This module contains all the different types of flows.
2//!
3//! For details on specific behavior, see the documentation of each flow.
4
5mod chain_debug;
6mod chain_describe;
7mod generic_defs;
8
9/// This module contains everything needed for constructing [`SequentialFlow`].
10///
11/// For detailed behavior and examples, see the documentation of [`SequentialFlow`] and [`Builder`](sequential_flow::Builder).
12pub mod sequential_flow;
13pub use sequential_flow::SequentialFlow;
14
15/// This module contains everything needed for constructing [`OneOfSequentialFlow`].
16///
17/// For detailed behavior and examples, see the documentation of [`OneOfSequentialFlow`] and [`Builder`](one_of_sequential_flow::Builder).
18pub mod one_of_sequential_flow;
19pub use one_of_sequential_flow::OneOfSequentialFlow;
20
21/// This module contains everything needed for constructing [`OneOfParallelFlow`].
22///
23/// For detailed behavior and examples, see the documentation of [`OneOfParallelFlow`] and [`Builder`](one_of_parallel_flow::Builder).
24pub mod one_of_parallel_flow;
25pub use one_of_parallel_flow::OneOfParallelFlow;
26
27/// This module contains everything needed for constructing [`ParallelFlow`].
28///
29/// For detailed behavior and examples, see the documentation of [`ParallelFlow`], [`Builder`](parallel_flow::Builder) and [`Joiner`](parallel_flow::Joiner).
30pub mod parallel_flow;
31pub use parallel_flow::ParallelFlow;
32
33/// This module contains everything needed for constructing [`FnFlow`].
34///
35/// For detailed behavior and examples, see the documentation of [`FnFlow`] and [`Runner`](fn_flow::Runner).
36pub mod fn_flow;
37pub use fn_flow::FnFlow;
38
39/// This module contains everything needed for constructing [`Detached`].
40///
41/// For detailed behavior and examples, see the documentation of [`Detached`].
42pub mod detached;
43pub use detached::Detached;
44
45use crate::node::NodeOutput;
46type NodeIOE<Input, Output, Error> = (Input, NodeOutput<Output>, Error);
47type ChainLink<Head, Tail> = (Head, Tail);
48type NodeResult<Output, Error> = Result<NodeOutput<Output>, Error>;
49
50#[cfg(test)]
51#[doc(hidden)]
52pub mod tests;