Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const computeDaily = ({ interval }) => ({
freq: RRule.DAILY,
interval,
});
const dateNumber = moment(date).date();
const dayToRRule = {
Monday: 'MO',
Tuesday: 'TU',
Wednesday: 'WE',
Thursday: 'TH',
Friday: 'FR',
Saturday: 'SA',
Sunday: 'SU',
};
const rules = {
daily: {
name: 'Every Day',
frequency: RRule.DAILY,
},
weekdays: {
name: 'Every Weekday (Mon-Fri)',
frequency: RRule.WEEKLY,
byweekday: ['MO', 'TU', 'WE', 'TH', 'FR'],
},
weekends: {
name: 'Weekends (Sat/Sun)',
frequency: RRule.WEEKLY,
byweekday: ['SA', 'SU'],
},
weekly: {
name: `Weekly on ${dateSpelled}`,
frequency: RRule.WEEKLY,
byweekday: [dayToRRule[dateSpelled]],
},
const doesRecurringEventsOverlap = (startingDate, endingDate, recurringRule) => {
if (!recurringRule || !startingDate || !endingDate ||
!('frequency' in recurringRule) || !('interval' in recurringRule)) return false;
const freqMap = {
YEARLY: RRule.YEARLY,
MONTHLY: RRule.MONTHLY,
WEEKLY: RRule.WEEKLY,
DAILY: RRule.DAILY,
};
const dayMap = {
MO: RRule.MO,
TU: RRule.TU,
WE: RRule.WE,
TH: RRule.TH,
FR: RRule.FR,
SA: RRule.SA,
SU: RRule.SU,
};
const rules = {
freq: freqMap[recurringRule.frequency],
interval: parseInt(recurringRule.interval, 10) || 1,
dtstart: startingDate.toDate(),