Merge branch 'IDTEAM-1.26.0' into 'main'
[ProtonMail-WebClient.git] / packages / shared / lib / calendar / exdate.ts
blobb8bf609b713cff041aabed417bd22baf7d03123e
1 import { toUTCDate } from '../date/timezone';
2 import type { DateTimeValue } from '../interfaces/calendar';
3 import type { VcalDateOrDateTimeProperty } from '../interfaces/calendar/VcalModel';
4 import { getDateProperty, getDateTimeProperty } from './vcalConverter';
6 export const createExdateMap = (exdate: VcalDateOrDateTimeProperty[] = []) => {
7     return exdate.reduce<{ [key: number]: boolean }>((acc, dateProperty: any) => {
8         const localExclude = toUTCDate(dateProperty.value);
9         acc[+localExclude] = true;
10         return acc;
11     }, {});
14 export const toExdate = (dateObject: DateTimeValue, isAllDay: boolean, tzid = 'UTC'): VcalDateOrDateTimeProperty => {
15     if (isAllDay) {
16         return getDateProperty(dateObject);
17     }
18     return getDateTimeProperty(dateObject, tzid);