UNPKG

react-native-full-calendars

Version:

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

55 lines (54 loc) 2.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isSameStartOfWeek = exports.isSameStartOfMonth = exports.isLastWeekOfMonth = exports.getWeeksInMonth = exports.getIterableDateBetweenDates = exports.getDaysRemaining = void 0; var _dateFns = require("date-fns"); const getWeeksInMonth = date => { const startWeek = (0, _dateFns.startOfWeek)((0, _dateFns.startOfMonth)(date)); const endWeek = (0, _dateFns.endOfWeek)((0, _dateFns.endOfMonth)(date)); const weeksInMonth = (0, _dateFns.differenceInWeeks)(endWeek, startWeek) + 1; return weeksInMonth; }; exports.getWeeksInMonth = getWeeksInMonth; const isLastWeekOfMonth = date => { const lastDayOfMonth = (0, _dateFns.endOfMonth)(date); const startOfLastWeek = (0, _dateFns.startOfWeek)(lastDayOfMonth); return (0, _dateFns.isSameDay)(date, startOfLastWeek) || (0, _dateFns.isAfter)(date, startOfLastWeek); }; exports.isLastWeekOfMonth = isLastWeekOfMonth; const isSameStartOfWeek = (date, { weekStartDay }) => { const startOfTheWeek = (0, _dateFns.startOfWeek)(date, { weekStartsOn: weekStartDay }); return (0, _dateFns.isSameDay)(date, startOfTheWeek); }; exports.isSameStartOfWeek = isSameStartOfWeek; const isSameStartOfMonth = date => { const startOfTheMonth = (0, _dateFns.startOfMonth)(date); return (0, _dateFns.isSameDay)(date, startOfTheMonth); }; exports.isSameStartOfMonth = isSameStartOfMonth; const getIterableDateBetweenDates = (startDate, endDate) => { const dates = []; let currDate = startDate; while ((0, _dateFns.isWithinInterval)(currDate, { start: startDate, end: endDate })) { dates.push((0, _dateFns.format)(currDate, 'yyyy-MM-dd')); currDate = (0, _dateFns.addDays)(currDate, 1); } return dates; }; exports.getIterableDateBetweenDates = getIterableDateBetweenDates; const getDaysRemaining = date => { if (isLastWeekOfMonth(date)) { return (0, _dateFns.differenceInCalendarDays)((0, _dateFns.endOfMonth)(date), date) + 1; } return (0, _dateFns.differenceInCalendarDays)((0, _dateFns.endOfWeek)(date), date) + 1; }; exports.getDaysRemaining = getDaysRemaining; //# sourceMappingURL=date.js.map