Switch composer
Fluent Switch builder for Composer.
This module defines SwitchComposer, a small builder used by Composer to add
multi-branch conditional steps fluently.
Note
This builder is not meant to be instantiated directly by users. Use
Composer.switch(...) to obtain an instance and add cases/default before calling
.end().
References
NONE
SwitchComposer(parent, condition, output_state=None, input_map=None, retry_config=None, error_handler=None, cache_store=None, cache_config=None, name=None)
Fluent builder for a switch conditional.
Usage
composer.switch(cond).case("A", step_a).case("B", step_b).end()
Optionally call .default(...) to set a fallback branch.
Initialize the SwitchComposer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
parent
|
Composer
|
The parent composer instance. |
required |
condition
|
Component | Callable[[dict[str, Any]], str]
|
The condition to evaluate. |
required |
output_state
|
str | None
|
Optional state key to store condition result. Defaults to None. |
None
|
input_map
|
InputMapSpec | None
|
Unified input mapping for the condition. Defaults to None. |
None
|
retry_config
|
RetryConfig | None
|
Retry configuration. Defaults to None. |
None
|
error_handler
|
BaseStepErrorHandler | None
|
Error handler. Defaults to None. |
None
|
cache_store
|
BaseCache | None
|
Optional cache store. Defaults to None. |
None
|
cache_config
|
dict[str, Any] | None
|
Optional cache config. Defaults to None. |
None
|
name
|
str | None
|
Optional name for the resulting step. Defaults to None, in which case a name will be auto-generated with the prefix "Switch_". |
None
|
case(key, branch)
Add a case branch.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Case key to match against condition result. |
required |
branch
|
BasePipelineStep | list[BasePipelineStep]
|
Step(s) to execute for this case. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Self |
Self
|
The builder instance for chaining. |
default(branch)
Set the default branch for unmatched cases.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
branch
|
BasePipelineStep | list[BasePipelineStep]
|
Default fallback branch. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Self |
Self
|
The builder instance for chaining. |
end()
Finalize and append the switch conditional to the parent composer.
Returns:
| Name | Type | Description |
|---|---|---|
Composer |
Composer
|
The parent composer for continued chaining. |