flow.case

The case component is a more advanced branching component that allows you
to match against multiple match values (this is similar to a switch
statement in Javascript/Java/C/C++).

- value: (@ user.gender )
  case:
    male:
      jump: male
    female:
      jump: female
   default:
      jump: other

Note, the values are matched literally, so in the case above the text
stored in (@ user.gender ) must exactly match either male or female
to be a valid match.

If you would like to match against multiple patterns, then check out the
flow.match
component.

If you would like to match against multiple template evaluation criteria,
then check out the flow.cond
component.

Element details

type: meya.flow.component.case
class: CaseComponent
path: /meya/flow/component/case.py
signature: case

Fields

fielddescription               requiredsignaturedefaulttype
specOverride the original spec for this element.nullSpec
contextSend context data with this component's event.{}
dict
sensitiveMark this component's event as sensitive. This will encrypt the event if the Sensitive Data integration has been enabled.falsebool
triggersActivate these dynamic triggers when the component runs. Check the component triggers guide for more info.[]list
valueSets the value that needs to be matched against the multiple match values. If value is not defined, then the component will try use the value set in (@ flow.result ), if no value could be found then an error is raised.nulltyping.Any
ignorecaseIgnore the case of the value field.nullbool
caseContains a set of match values and actions that will be matched against the value defined in the value field. The action is a component reference that is called when value matches the match value.dict
defaultThis is the default action should (@ flow.result ) not match any of the match values.ActionComponentSpec

Usage reference

Basic

triggers:
  - keyword: meya.flow.component.case
steps:
  - case:
      ANY: COMPONENT
    default: COMPONENT

Full

triggers:
  - keyword: meya.flow.component.case
steps:
  - spec:
      type: STRING
      data:
        STRING: ANY
      timeout: 123
      trigger_when: ANY
    context:
      STRING: ANY
    sensitive: false
    triggers:
      - type: STRING
        data:
          STRING: ANY
        timeout: 123
        trigger_when: ANY
    value: ANY
    ignorecase: false
    case:
      ANY: COMPONENT
    default: COMPONENT