Boolean operations
Pulsar supports boolean operations such as and, or but the syntax is a bit different than in other languages. Instead of operators, you use functions:
{[ if @and(var1, var2) ]}
Executes when both var1 and var2 == true
{[/]}You can also chain boolean operations, using functions inside functions:
{[ if @and(var1, @or(var2, var3)) ]}
Executes when var1 == true and one of var2, var2 == true
{[/]}The following boolean functions are available:
And
and results to true when all statements were true. and is a variadic function, and it can take as many parameters as you want:
{[ if @and(true, true, true, true, false) ]}
Never executes because one of the statements was false
{[/]}Or
or results to true when at least one of the statements is true. or is a variadic function, and it can take as many parameters as you want:
{[ if @and(false, false, false, true, false) ]}
Executes because one of the statements was true
{[/]}Not
not negates the boolean value, meaning true becomes false and vice versa.
{[ if @not(false) ]}
Executes because false was negated to true
{[/]}Note from developers: We are planning to add support for true operators as soon as possible, so consider this a workaround. For more complex logic, you should opt to use javascript helpers instead.
There are engine-related challenges with supporting operators that need to be solved before they can be implemented, especially about precedence controlled with brackets (var1 && var2) || var3 , as brackets are currently exclusively used for function invocations. If you would like to work on problems like this, consider joining our team!
Last updated
Was this helpful?