@hebcal/core
Version:
A perpetual Jewish Calendar API
53 lines (50 loc) • 1.44 kB
JavaScript
/*! @hebcal/core v5.10.1, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
import { months } from '@hebcal/hdate';
import { flags } from './event.js';
const NONE = 0;
const HALF = 1;
const WHOLE = 2;
/**
* @private
*/
function hallel_(events, hdate) {
const whole = events
.filter(ev => {
const desc = ev.getDesc();
const hd = ev.getDate();
const month = hd.getMonth();
const mday = hd.getDate();
return (desc.startsWith('Chanukah') ||
desc.startsWith('Shavuot') ||
desc.startsWith('Sukkot') ||
(month === months.NISAN &&
(mday === 15 || mday === 16) &&
ev.getFlags() & flags.CHAG) || // Pesach
desc === "Yom HaAtzma'ut" ||
desc === 'Yom Yerushalayim');
})
.map(ev => {
return ev.getDate().abs();
});
const abs = hdate.abs();
if (whole.includes(abs)) {
return WHOLE;
}
const half = events
.filter(ev => {
const desc = ev.getDesc();
return (ev.getFlags() & flags.ROSH_CHODESH ||
(desc.startsWith('Pesach') &&
desc !== 'Pesach I' &&
desc !== 'Pesach II'));
})
.map(ev => {
return ev.getDate().abs();
});
if (half.includes(abs)) {
return HALF;
}
return NONE;
}
export { hallel_ };
//# sourceMappingURL=hallel.js.map