UNPKG

react-native-full-calendars

Version:

React Native Full Calendar (RNFC) is an intuitive and powerful calendar component library designed for React Native.

45 lines (44 loc) 1.52 kB
"use strict"; import { addDays, differenceInCalendarDays, differenceInWeeks, endOfMonth, endOfWeek, format, isAfter, isSameDay, isWithinInterval, startOfMonth, startOfWeek } from 'date-fns'; export const getWeeksInMonth = date => { const startWeek = startOfWeek(startOfMonth(date)); const endWeek = endOfWeek(endOfMonth(date)); const weeksInMonth = differenceInWeeks(endWeek, startWeek) + 1; return weeksInMonth; }; export const isLastWeekOfMonth = date => { const lastDayOfMonth = endOfMonth(date); const startOfLastWeek = startOfWeek(lastDayOfMonth); return isSameDay(date, startOfLastWeek) || isAfter(date, startOfLastWeek); }; export const isSameStartOfWeek = (date, { weekStartDay }) => { const startOfTheWeek = startOfWeek(date, { weekStartsOn: weekStartDay }); return isSameDay(date, startOfTheWeek); }; export const isSameStartOfMonth = date => { const startOfTheMonth = startOfMonth(date); return isSameDay(date, startOfTheMonth); }; export const getIterableDateBetweenDates = (startDate, endDate) => { const dates = []; let currDate = startDate; while (isWithinInterval(currDate, { start: startDate, end: endDate })) { dates.push(format(currDate, 'yyyy-MM-dd')); currDate = addDays(currDate, 1); } return dates; }; export const getDaysRemaining = date => { if (isLastWeekOfMonth(date)) { return differenceInCalendarDays(endOfMonth(date), date) + 1; } return differenceInCalendarDays(endOfWeek(date), date) + 1; }; //# sourceMappingURL=date.js.map