UNPKG

rpg-calendar

Version:

Low level library for working with RPG/Fantasy dates

25 lines 2.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDaysInYearBuilder = void 0; 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 === null || month === void 0 ? void 0 : 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 === null || month === void 0 ? void 0 : month.extraDays) { extraDaysInMonth = month.extraDays.length; } return days + month.daysInMonth + extraDaysInMonth; }, 0); return (year) => (isLeapYear(year) ? daysInLeapYear : daysInYear); }; exports.getDaysInYearBuilder = getDaysInYearBuilder; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5c0luWWVhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZGF5c0luWWVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFTyxNQUFNLG9CQUFvQixHQUFHLENBQUMsTUFBMEIsRUFBRSxVQUFxQyxFQUFFLEVBQUU7SUFDeEcsMEVBQTBFO0lBRTFFLHdCQUF3QjtJQUN4QixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQy9DLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVMsRUFBRTtZQUNwQixnQkFBZ0IsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDO1NBQzlFO1FBRUQsT0FBTyxJQUFJLEdBQUcsS0FBSyxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztJQUNyRCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFTixzQkFBc0I7SUFDdEIsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNuRCxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxTQUFTLEVBQUU7WUFDcEIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7U0FDM0M7UUFFRCxPQUFPLElBQUksR0FBRyxLQUFLLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDO0lBQ3JELENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVOLE9BQU8sQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3BGLENBQUMsQ0FBQztBQXhCVyxRQUFBLG9CQUFvQix3QkF3Qi9CIn0=