@chayns-components/date
Version:
A set of beautiful React components for developing your own applications with chayns.
63 lines • 1.85 kB
JavaScript
import { isAfter, isBefore, startOfMonth } from './date';
export const getMonthAndYear = date => {
const month = date.getMonth() + 1;
const year = date.getFullYear();
return {
month,
year
};
};
export const isDateInRange = _ref => {
let {
minDate,
maxDate,
currentDate
} = _ref;
const monthStartOfCurrentDate = startOfMonth(currentDate);
const monthStartOfMaxDate = startOfMonth(maxDate);
const monthStartOfMinDate = startOfMonth(minDate);
switch (true) {
case isAfter(monthStartOfCurrentDate, monthStartOfMaxDate):
return monthStartOfMaxDate;
case isBefore(monthStartOfCurrentDate, monthStartOfMinDate):
return monthStartOfMinDate;
default:
return monthStartOfCurrentDate;
}
};
export const getNewDate = (index, currentDate) => {
const newDate = new Date(currentDate);
newDate.setMonth(currentDate.getMonth() + index);
if (currentDate.getMonth() === 11 && newDate.getMonth() === 0) {
newDate.setFullYear(currentDate.getFullYear() + 1);
}
if (currentDate.getMonth() === 0 && newDate.getMonth() === 11) {
newDate.setFullYear(currentDate.getFullYear() - 1);
}
return newDate;
};
export const formatMonth = _ref2 => {
let {
month,
locale
} = _ref2;
const date = new Date(2022, month - 1, 1);
return date.toLocaleString(locale, {
month: 'long'
});
};
export const findNextDate = (date, dateArray) => {
const futureDates = dateArray.filter(d => d > date);
futureDates.sort((a, b) => a.getTime() - b.getTime());
return futureDates[0];
};
export const getYearsBetween = (startDate, endDate) => {
const startYear = startDate.getFullYear();
const endYear = endDate.getFullYear();
const years = [];
for (let year = startYear; year <= endYear; year++) {
years.push(year);
}
return years;
};
//# sourceMappingURL=calendar.js.map