rpg-calendar
Version:
Low level library for working with RPG/Fantasy dates
11 lines • 1.55 kB
JavaScript
export const getDaysInMonthBuilder = (months, isLeapYear) => (month, year) => {
let extraDayCount = 0;
const monthIndex = month - 1;
if (months[monthIndex] !== undefined && months[monthIndex].daysInMonth !== undefined) {
const { extraDays = [] } = months[monthIndex];
extraDayCount = extraDays.filter((ed) => isLeapYear(year) || !ed.onlyInLeapYear).length;
return months[monthIndex].daysInMonth + extraDayCount;
}
throw new Error(`Unable to find information for month ${month} and year ${year}`);
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5c0luTW9udGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2RheXNJbk1vbnRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUNoQyxDQUFDLE1BQTBCLEVBQUUsVUFBcUMsRUFBRSxFQUFFLENBQ3RFLENBQUMsS0FBYSxFQUFFLElBQVksRUFBVSxFQUFFO0lBQ3RDLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN0QixNQUFNLFVBQVUsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRTtRQUNwRixNQUFNLEVBQUUsU0FBUyxHQUFHLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxhQUFhLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUN4RixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDO0tBQ3ZEO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsS0FBSyxhQUFhLElBQUksRUFBRSxDQUFDLENBQUM7QUFDcEYsQ0FBQyxDQUFDIn0=