original_string: public function product(array $condition, array $data)
      {
          $is_product = (int) isset($data['product_id']);
          $value = (int) filter_var(reset($condition['value']), FILTER_VALIDATE_BOOLEAN);
          return $this->compare($is_product, $value, $condition['operator']);
      }
code: public function product(array $condition, array $data)
      {
          $is_product = (int) isset($data['product_id']);
          $value = (int) filter_var(reset($condition['value']), FILTER_VALIDATE_BOOLEAN);
          return $this->compare($is_product, $value, $condition['operator']);
      }
code_tokens: public function product ( array $ condition , array $ data ) { $ is_product = ( int ) isset ( $ data [ 'product_id' ] ) ; $ value = ( int ) filter_var ( reset ( $ condition [ 'value' ] ) , FILTER_VALIDATE_BOOLEAN ) ; return $ this -> compare ( $ is_product , $ value , $ condition [ 'operator' ] ) ; }
docstring: Whether the product scope condition is met
  @param array $condition
  @param array $data
  @return boolean
docstring_tokens: Whether the product scope condition is met