rpg-calendar
Version:
Low level library for working with RPG/Fantasy dates
15 lines • 1.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDaysInMonthBuilder = void 0;
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}`);
};
exports.getDaysInMonthBuilder = getDaysInMonthBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5c0luTW9udGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2RheXNJbk1vbnRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLE1BQU0scUJBQXFCLEdBQ2hDLENBQUMsTUFBMEIsRUFBRSxVQUFxQyxFQUFFLEVBQUUsQ0FDdEUsQ0FBQyxLQUFhLEVBQUUsSUFBWSxFQUFVLEVBQUU7SUFDdEMsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLE1BQU0sVUFBVSxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDN0IsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFO1FBQ3BGLE1BQU0sRUFBRSxTQUFTLEdBQUcsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLGFBQWEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3hGLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUM7S0FDdkQ7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxLQUFLLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNwRixDQUFDLENBQUM7QUFYUyxRQUFBLHFCQUFxQix5QkFXOUIifQ==