Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const getRange = ({ item, value, startDate, highlightedItem }) => {
const isRangeSelectionInProgress = startDate;
const hasSelection = value.length === 2;
const isStartDate = isSameDay(item, startDate);
const isBetween =
highlightedItem && isBetweenDates(item, startDate, highlightedItem);
let isRangeStart = false;
if (isRangeSelectionInProgress) {
isRangeStart = isStartDate;
} else if (hasSelection) {
isRangeStart = value[0] === item;
}
let isRangeBetween = false;
if (isRangeSelectionInProgress) {
isRangeBetween = isBetween;
} else if (hasSelection) {
isRangeBetween = isBetweenDates(item, value[0], value[1]);
}
let isRangeEnd = false;const isBetween =
highlightedItem && isBetweenDates(item, startDate, highlightedItem);
let isRangeStart = false;
if (isRangeSelectionInProgress) {
isRangeStart = isStartDate;
} else if (hasSelection) {
isRangeStart = value[0] === item;
}
let isRangeBetween = false;
if (isRangeSelectionInProgress) {
isRangeBetween = isBetween;
} else if (hasSelection) {
isRangeBetween = isBetweenDates(item, value[0], value[1]);
}
let isRangeEnd = false;
if (isRangeSelectionInProgress) {
isRangeEnd = item === highlightedItem;
} else if (hasSelection) {
isRangeEnd = value[1] === item;
}
return {
isRangeStart,
isRangeBetween,
isRangeEnd,
};
};