code: def _check_valid_condition(self, get_params):
          
          try:
              variable = get_params(self.variable)
          except:  # noqa e722
              variable = None
          value = self.value
  
          # if None, return oppositely
          if variable is None:
              return not self.default
  
          # convert the value to a correct type
          if isinstance(variable, bool):
              value = bool(self.value)
          elif isinstance(variable, Number):
              try:
                  value = int(self.value)
              except:  # noqa e722
                  try:
                      value = float(self.value)
                  except:  # noqa e722
                      # could not parse
                      return not self.default
  
          # compare and return the result
          if self.condition == "=":
              return (variable == value) == self.default
          elif self.condition == ">":
              return (variable > value) == self.default
          elif self.condition == "<":
              return (variable < value) == self.default
docs: Check if the condition has been met.
          We need to make sure that we are of the correct type.