UNPKG

rpg-calendar

Version:

Low level library for working with RPG/Fantasy dates

21 lines 2.16 kB
export const getDaysInYearBuilder = (months, isLeapYear) => { // We use the days in year a lot, so calculate the variables ahead of time // Days in a normal year const daysInYear = months.reduce((days, month) => { let extraDaysInMonth = 0; if (month?.extraDays) { extraDaysInMonth = month.extraDays.filter((ed) => !ed.onlyInLeapYear).length; } return days + month.daysInMonth + extraDaysInMonth; }, 0); // Days in a leap-year const daysInLeapYear = months.reduce((days, month) => { let extraDaysInMonth = 0; if (month?.extraDays) { extraDaysInMonth = month.extraDays.length; } return days + month.daysInMonth + extraDaysInMonth; }, 0); return (year) => (isLeapYear(year) ? daysInLeapYear : daysInYear); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5c0luWWVhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZGF5c0luWWVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLE1BQTBCLEVBQUUsVUFBcUMsRUFBRSxFQUFFO0lBQ3hHLDBFQUEwRTtJQUUxRSx3QkFBd0I7SUFDeEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUMvQyxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLEtBQUssRUFBRSxTQUFTLEVBQUU7WUFDcEIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztTQUM5RTtRQUVELE9BQU8sSUFBSSxHQUFHLEtBQUssQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUM7SUFDckQsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRU4sc0JBQXNCO0lBQ3RCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDbkQsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ3BCLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1NBQzNDO1FBRUQsT0FBTyxJQUFJLEdBQUcsS0FBSyxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztJQUNyRCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFTixPQUFPLENBQUMsSUFBWSxFQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNwRixDQUFDLENBQUMifQ==