utils.ts 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import type { Advice } from '@antv/ava';
  2. import { isNull } from 'lodash';
  3. export function defaultAdvicesFilter(props: { advices: Advice[] }) {
  4. const { advices } = props;
  5. return advices;
  6. }
  7. export const compare = (f1: any, f2: any) => {
  8. if (isNull(f1.distinct) || isNull(f2.distinct)) {
  9. if (f1.distinct! < f2!.distinct!) {
  10. return 1;
  11. }
  12. if (f1.distinct! > f2.distinct!) {
  13. return -1;
  14. }
  15. return 0;
  16. }
  17. return 0;
  18. };
  19. export function hasSubset(array1: any[], array2: any[]): boolean {
  20. return array2.every(e => array1.includes(e));
  21. }
  22. export function intersects(array1: any[], array2: any[]): boolean {
  23. return array2.some(e => array1.includes(e));
  24. }
  25. export function LOM2EncodingType(lom: string) {
  26. switch (lom) {
  27. case 'Nominal':
  28. return 'nominal';
  29. case 'Ordinal':
  30. return 'ordinal';
  31. case 'Interval':
  32. return 'quantitative';
  33. case 'Time':
  34. return 'temporal';
  35. case 'Continuous':
  36. return 'quantitative';
  37. case 'Discrete':
  38. return 'nominal';
  39. default:
  40. return 'nominal';
  41. }
  42. }