In most cases, you'll wrap the entire ternary expression in parentheses before passing the result to a pipe.
Example: (isLeft ? 'left' : 'right') | uppercase
{{ (isLeft ? 'left' : 'right') | uppercase }}
Without parentheses, only the second value is uppercased.
Example: isGood ? 'good' : 'bad' | uppercase
{{ isGood ? 'good' : 'bad' | uppercase }}
Same as: isGood ? 'good' : ('bad' | uppercase)
{{ isGood ? 'good' : ('bad' | uppercase) }}
If only one of the values should be passed to a pipe, be explicit and surround that value with parentheses.
Example: isUpper ? ('upper' | uppercase) : 'lower'
{{ isUpper ? ('upper' | uppercase) : 'lower' }}