all files / src/explore/propTypes/ adhocFilterType.js

100% Statements 4/4
100% Branches 0/0
100% Functions 0/0
100% Lines 4/4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23                                      
import PropTypes from 'prop-types';
 
import { OPERATORS } from '../constants';
import { EXPRESSION_TYPES, CLAUSES }  from '../AdhocFilter';
 
export default PropTypes.oneOfType([
  PropTypes.shape({
    expressionType: PropTypes.oneOf([EXPRESSION_TYPES.SIMPLE]).isRequired,
    clause: PropTypes.oneOf([CLAUSES.HAVING, CLAUSES.WHERE]).isRequired,
    subject: PropTypes.string.isRequired,
    operator: PropTypes.oneOf(Object.keys(OPERATORS)).isRequired,
    comparator: PropTypes.oneOfType([
      PropTypes.string,
      PropTypes.arrayOf(PropTypes.string),
    ]).isRequired,
  }),
  PropTypes.shape({
    expressionType: PropTypes.oneOf([EXPRESSION_TYPES.SQL]).isRequired,
    clause: PropTypes.oneOf([CLAUSES.WHERE, CLAUSES.HAVING]).isRequired,
    sqlExpression: PropTypes.string.isRequired,
  }),
]);