rpg-calendar
Version:
Low level library for working with RPG/Fantasy dates
21 lines • 1.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getExtraDayBuilder = void 0;
const getExtraDayBuilder = (months, isLeapYear) => (year, month, day) => {
const currentMonth = months[month - 1];
const { daysInMonth, extraDays = [] } = currentMonth;
if (day > daysInMonth && extraDays.length > 0) {
const extraDayNumber = day - daysInMonth;
if (extraDays.length >= extraDayNumber) {
if (extraDays[extraDayNumber - 1].onlyInLeapYear && isLeapYear(year)) {
return extraDays[extraDayNumber - 1];
}
else if (!extraDays[extraDayNumber - 1].onlyInLeapYear) {
return extraDays[extraDayNumber - 1];
}
}
}
return undefined;
};
exports.getExtraDayBuilder = getExtraDayBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFEYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2V4dHJhRGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLE1BQU0sa0JBQWtCLEdBQzdCLENBQUMsTUFBMEIsRUFBRSxVQUFxQyxFQUFFLEVBQUUsQ0FDdEUsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLEdBQVcsRUFBbUMsRUFBRTtJQUM1RSxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxHQUFHLEVBQUUsRUFBRSxHQUFHLFlBQVksQ0FBQztJQUVyRCxJQUFJLEdBQUcsR0FBRyxXQUFXLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDN0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxHQUFHLFdBQVcsQ0FBQztRQUV6QyxJQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksY0FBYyxFQUFFO1lBQ3RDLElBQUksU0FBUyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNwRSxPQUFPLFNBQVMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDdEM7aUJBQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFO2dCQUN4RCxPQUFPLFNBQVMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDdEM7U0FDRjtLQUNGO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBbkJTLFFBQUEsa0JBQWtCLHNCQW1CM0IifQ==