pub struct EdgeDefinition {
pub from: String,
pub to: String,
pub condition: Option<String>,
pub loop_back: bool,
pub description: Option<String>,
}Expand description
An edge definition connecting nodes in a flow.
Edges can be specified in several formats:
§Simple format (default ports)
edges:
- from: node_a
to: node_b§With explicit ports
edges:
- from: switch_node.true
to: handler_node.in
- from: switch_node.false
to: error_handler.in§With conditions
edges:
- from: node_a.out
to: node_b.in
condition: "${node_a.status} == 'success'"Fields§
§from: StringSource node and optional port (format: “node_id” or “node_id.port”).
to: StringTarget node and optional port (format: “node_id” or “node_id.port”).
condition: Option<String>Optional condition for this edge (selector expression).
loop_back: boolWhether this edge represents a loop back-edge.
description: Option<String>Optional description.
Implementations§
Source§impl EdgeDefinition
impl EdgeDefinition
Sourcepub fn new(from: impl Into<String>, to: impl Into<String>) -> Self
pub fn new(from: impl Into<String>, to: impl Into<String>) -> Self
Create a new edge definition.
Sourcepub fn with_condition(self, condition: impl Into<String>) -> Self
pub fn with_condition(self, condition: impl Into<String>) -> Self
Set a condition.
Sourcepub fn as_loop_back(self) -> Self
pub fn as_loop_back(self) -> Self
Mark as a loop back-edge.
Sourcepub fn with_description(self, desc: impl Into<String>) -> Self
pub fn with_description(self, desc: impl Into<String>) -> Self
Set description.
Sourcepub fn parse_from(&self) -> (&str, &str)
pub fn parse_from(&self) -> (&str, &str)
Parse the source into (node_id, port).
Returns (node_id, port) where port defaults to “out” if not specified.
Trait Implementations§
Source§impl Clone for EdgeDefinition
impl Clone for EdgeDefinition
Source§fn clone(&self) -> EdgeDefinition
fn clone(&self) -> EdgeDefinition
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EdgeDefinition
impl Debug for EdgeDefinition
Source§impl<'de> Deserialize<'de> for EdgeDefinition
impl<'de> Deserialize<'de> for EdgeDefinition
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for EdgeDefinition
impl RefUnwindSafe for EdgeDefinition
impl Send for EdgeDefinition
impl Sync for EdgeDefinition
impl Unpin for EdgeDefinition
impl UnwindSafe for EdgeDefinition
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.