Appearance
Execute different instructions based on a variable’s value
Properties
switch
objectRequired
An object that accepts the following properties.
switch.variable
stringRequired
Name of the variable whose value needs to be compared.
switch.case
objectRequired
Case_params object of key-mapped values to array of SWML Methods to execute.
switch.default
[]
Array of SWML Methods to execute if no cases match.
case_params
The case_params object serves as a dictionary where each key is a string identifier, and the associated value is an array of SWML Method objects.
case.property_name
[]objectRequired
Name of the variable whose value needs to be compared.
Examples
YAMLJSON
version: 1.0.0
sections:
main:
- switch:
variable: call.type
case:
sip:
- play:
url: "say: You're calling from SIP."
phone:
- play:
url: "say: You're calling from phone."
default:
- play:
url: 'say: Unexpected error'YAMLJSON
version: 1.0.0
sections:
main:
- set:
foo: 5
- execute:
dest: example_fn
params:
foo: '${foo}'
example_fn:
- switch:
variable: params.foo
default:
- play:
url: 'say: nothing matches'
case:
'5':
- play:
url: 'say: yup, math works!'See Also
- Variables and Expressions: Complete reference for SWML variables, scopes, and using variables in conditional logic
- cond: Alternative conditional logic method
