(
        self,
        condition=True,
        if_true=BaseConversion._none,
        if_false=BaseConversion._none,
        no_input_caching=False,
    )
Args:
          condition (object): condition for the IF expression. If it is left as
            True, then the input is used as the condition.
          if_true (object): the result if the condition is true
          if_false (object): the result if the condition is false
          no_input_caching (bool): if True, disables automatic decision making
            on whether result caching is needed
Args:
          condition (object): condition for the IF expression. If it is left as
            True, then the input is used as the condition.
          if_true (object): the result if the condition is true
          if_false (object): the result if the condition is false
          no_input_caching (bool): if True, disables automatic decision making
            on whether result caching is needed
Args : condition ( object ) : condition for the IF expression . If it is left as True then the input is used as the condition . if_true ( object ) : the result if the condition is true if_false ( object ) : the result if the condition is false no_input_caching ( bool ) : if True disables automatic decision making on whether result caching is needed
def __init__(
        self,
        condition=True,
        if_true=BaseConversion._none,
        if_false=BaseConversion._none,
        no_input_caching=False,
    ):
        """
        Args:
          condition (object): condition for the IF expression. If it is left as
            True, then the input is used as the condition.
          if_true (object): the result if the condition is true
          if_false (object): the result if the condition is false
          no_input_caching (bool): if True, disables automatic decision making
            on whether result caching is needed
        """
        super().__init__()
        self.if_conv = (
            GetItem()
            if condition is True
            else self.ensure_conversion(condition)
        )
        self.if_true = (
            GetItem()
            if if_true is self._none
            else self.ensure_conversion(if_true)
        )
        self.if_false = (
            GetItem()
            if if_false is self._none
            else self.ensure_conversion(if_false)
        )
        self.no_input_caching = no_input_caching

        if self.no_input_caching:
            self.conversion = InlineExpr(
                "({if_true} if {if_cond} else {if_false})"
            ).pass_args(
                if_cond=self.if_conv,
                if_true=self.if_true,
                if_false=self.if_false,
            )
        else:
            self.conversion = PipeConversion(
                GetItem(),
                InlineExpr(
                    "({if_true} if {if_cond} else {if_false})"
                ).pass_args(
                    if_cond=self.if_conv,
                    if_true=self.if_true,
                    if_false=self.if_false,
                ),
            )
def __init__ ( self , condition = True , if_true = BaseConversion . _none , if_false = BaseConversion . _none , no_input_caching = False , ) : super ( ) . __init__ ( ) self . if_conv = ( GetItem ( ) if condition is True else self . ensure_conversion ( condition ) ) self . if_true = ( GetItem ( ) if if_true is self . _none else self . ensure_conversion ( if_true ) ) self . if_false = ( GetItem ( ) if if_false is self . _none else self . ensure_conversion ( if_false ) ) self . no_input_caching = no_input_caching if self . no_input_caching : self . conversion = InlineExpr ( "({if_true} if {if_cond} else {if_false})" ) . pass_args ( if_cond = self . if_conv , if_true = self . if_true , if_false = self . if_false , ) else : self . conversion = PipeConversion ( GetItem ( ) , InlineExpr ( "({if_true} if {if_cond} else {if_false})" ) . pass_args ( if_cond = self . if_conv , if_true = self . if_true , if_false = self . if_false , ) , )