Skip to main content

switch

Execute a sequence of instructions depending on which value matches a variable.

Parameters

NameTypeDescription
variableRequiredstringName of the variable whose value needs to be compared.
caseRequiredobjectCase_params object of key-mapped values to array of SWML Methods to execute.
defaultOptional[]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.

NameTypeDescription
[key: string]RequiredSWMLMethods[]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!'