Skip to main content

switch

Execute different instructions based on a variable's value

switch
objectrequired

An object that accepts the switch parameters.

switch Parameters

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}
SWML Methods[]required

Name of the variable whose value needs to be compared

Examples

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'
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!'