compareOperator.ts 930 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. export type CompareOperator = 'GE' | 'LE' | 'EQ' | 'GT' | 'LT';
  2. export const DEFAULT_COMPARE_OPERATOR: CompareOperator = 'GE';
  3. export const DEFAULT_LE_COMPARE_OPERATOR: CompareOperator = 'LE';
  4. export const COMPARE_OPERATOR_OPTIONS = [
  5. { label: '>=', value: 'GE' },
  6. { label: '<=', value: 'LE' },
  7. { label: '=', value: 'EQ' },
  8. { label: '>', value: 'GT' },
  9. { label: '<', value: 'LT' },
  10. ] as const;
  11. const COMPARE_OPERATOR_MAP: Record<string, CompareOperator> = {
  12. GE: 'GE',
  13. ge: 'GE',
  14. '>=': 'GE',
  15. '1': 'GE',
  16. LE: 'LE',
  17. le: 'LE',
  18. '<=': 'LE',
  19. '2': 'LE',
  20. EQ: 'EQ',
  21. eq: 'EQ',
  22. '=': 'EQ',
  23. GT: 'GT',
  24. gt: 'GT',
  25. '>': 'GT',
  26. LT: 'LT',
  27. lt: 'LT',
  28. '<': 'LT',
  29. };
  30. export function normalizeCompareOperator(
  31. value?: string | null,
  32. fallback: CompareOperator = DEFAULT_COMPARE_OPERATOR,
  33. ): CompareOperator {
  34. if (!value) return fallback;
  35. return COMPARE_OPERATOR_MAP[String(value).trim()] || fallback;
  36. }