File size: 666 Bytes
d9494a5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { type TimelineActivityAction } from '@/timeline/TimelineActivityAction';
import { isDefined } from '@/utils/validation';

const TIMELINE_ACTIVITY_ACTIONS: TimelineActivityAction[] = [
  'created',
  'updated',
  'deleted',
  'restored',
  'linked',
];

const isTimelineActivityAction = (
  value: string | null | undefined,
): value is TimelineActivityAction =>
  isDefined(value) && (TIMELINE_ACTIVITY_ACTIONS as string[]).includes(value);

export const parseTimelineActivityAction = (
  name: string | null | undefined,
): TimelineActivityAction => {
  const action = name?.split('.')[1];

  return isTimelineActivityAction(action) ? action : 'linked';
};