rpg-calendar
Version:
Low level library for working with RPG/Fantasy dates
17 lines • 1.76 kB
JavaScript
export 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;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFEYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2V4dHJhRGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUM3QixDQUFDLE1BQTBCLEVBQUUsVUFBcUMsRUFBRSxFQUFFLENBQ3RFLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxHQUFXLEVBQW1DLEVBQUU7SUFDNUUsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2QyxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsR0FBRyxFQUFFLEVBQUUsR0FBRyxZQUFZLENBQUM7SUFFckQsSUFBSSxHQUFHLEdBQUcsV0FBVyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQzdDLE1BQU0sY0FBYyxHQUFHLEdBQUcsR0FBRyxXQUFXLENBQUM7UUFFekMsSUFBSSxTQUFTLENBQUMsTUFBTSxJQUFJLGNBQWMsRUFBRTtZQUN0QyxJQUFJLFNBQVMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEUsT0FBTyxTQUFTLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO2lCQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRTtnQkFDeEQsT0FBTyxTQUFTLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO1NBQ0Y7S0FDRjtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQyJ9