pub struct NodeRegistry { /* private fields */ }Expand description
Registry of step-node factories. Ingress types are tracked by name only — the runner owns their execution.
Implementations§
Source§impl NodeRegistry
impl NodeRegistry
Sourcepub fn with_builtins() -> Self
pub fn with_builtins() -> Self
Registry pre-loaded with the generic (non-business) node types.
Sourcepub fn register_step(
&mut self,
node_type: impl Into<String>,
factory: StepFactory,
)
pub fn register_step( &mut self, node_type: impl Into<String>, factory: StepFactory, )
Register a step-node factory under node_type.
Sourcepub fn register_ingress(&mut self, node_type: impl Into<String>)
pub fn register_ingress(&mut self, node_type: impl Into<String>)
Mark a node type as an ingress source.
Sourcepub fn register_fan_out(&mut self, node_type: impl Into<String>)
pub fn register_fan_out(&mut self, node_type: impl Into<String>)
Mark a node type as fan-out-capable (its process may return FanOut).
The validator (R4’) bans these upstream of execute.*.
pub fn is_fan_out_capable(&self, node_type: &str) -> bool
Sourcepub fn register_side_effect_guard(&mut self, node_type: impl Into<String>)
pub fn register_side_effect_guard(&mut self, node_type: impl Into<String>)
Declare a product node as an authorization guard for execute.* side effects.
pub fn is_side_effect_guard(&self, node_type: &str) -> bool
pub fn is_ingress(&self, node_type: &str) -> bool
pub fn is_step(&self, node_type: &str) -> bool
Sourcepub fn build_step(
&self,
node_type: &str,
config: &Value,
) -> Result<Box<dyn StepNode>, NodeError>
pub fn build_step( &self, node_type: &str, config: &Value, ) -> Result<Box<dyn StepNode>, NodeError>
Build a step node instance from a spec node’s type + config.
pub fn known_step_types(&self) -> impl Iterator<Item = &str>
pub fn register_schema( &mut self, node_type: impl Into<String>, schema: NodeSchema, )
pub fn schema(&self, node_type: &str) -> Option<&NodeSchema>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for NodeRegistry
impl RefUnwindSafe for NodeRegistry
impl Send for NodeRegistry
impl Sync for NodeRegistry
impl Unpin for NodeRegistry
impl UnsafeUnpin for NodeRegistry
impl UnwindSafe for NodeRegistry
Blanket Implementations§
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