@hebcal/core 6.14.3 → 6.14.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +212 -165
- package/dist/bundle.js.map +1 -1
- package/dist/bundle.min.js +6 -6
- package/dist/bundle.min.js.map +1 -1
- package/dist/esm/DailyLearning.js +1 -1
- package/dist/esm/HebrewDateEvent.js +1 -1
- package/dist/esm/HolidayEvent.js +1 -1
- package/dist/esm/KiddushLevanaEvent.js +1 -1
- package/dist/esm/MevarchimChodeshEvent.js +1 -1
- package/dist/esm/ParshaEvent.js +1 -1
- package/dist/esm/TimedEvent.js +1 -1
- package/dist/esm/YomKippurKatanEvent.js +1 -1
- package/dist/esm/ashkenazi.po.js +1 -1
- package/dist/esm/calendar.d.ts +10 -0
- package/dist/esm/calendar.js +36 -27
- package/dist/esm/calendar.js.map +1 -1
- package/dist/esm/candles.js +1 -1
- package/dist/esm/cities.json.js +1 -1
- package/dist/esm/event.js +1 -1
- package/dist/esm/getStartAndEnd.js +1 -1
- package/dist/esm/hallel.js +1 -1
- package/dist/esm/he-x-NoNikud.po.js +1 -1
- package/dist/esm/he.po.js +1 -1
- package/dist/esm/hebcal.js +1 -1
- package/dist/esm/holidays.d.ts +26 -8
- package/dist/esm/holidays.js +54 -15
- package/dist/esm/holidays.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/isAssurBemlacha.js +1 -1
- package/dist/esm/isAveilut.js +1 -1
- package/dist/esm/isFastDay.js +1 -1
- package/dist/esm/locale.js +1 -1
- package/dist/esm/location.js +1 -1
- package/dist/esm/modern.js +1 -1
- package/dist/esm/molad.js +1 -1
- package/dist/esm/moladBase.js +1 -1
- package/dist/esm/moladDate.js +1 -1
- package/dist/esm/omer.js +1 -1
- package/dist/esm/parshaName.js +1 -1
- package/dist/esm/parshaYear.js +1 -1
- package/dist/esm/pkgVersion.d.ts +1 -1
- package/dist/esm/pkgVersion.js +2 -2
- package/dist/esm/pkgVersion.js.map +1 -1
- package/dist/esm/reformatTimeStr.js +1 -1
- package/dist/esm/sedra.js +1 -1
- package/dist/esm/sefira.json.js +1 -1
- package/dist/esm/staticHolidays.js +1 -1
- package/dist/esm/string.js +1 -1
- package/dist/esm/tachanun.js +1 -1
- package/dist/esm/zenith.js +1 -1
- package/dist/esm/zmanim.js +1 -1
- package/package.json +1 -1
package/dist/esm/holidays.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { months, HDate } from '@hebcal/hdate';
|
|
3
3
|
import QuickLRU from 'quick-lru';
|
|
4
4
|
import { flags } from './event.js';
|
|
5
5
|
import { modernHolidaysForYear } from './modern.js';
|
|
6
6
|
import { getSedra } from './sedra.js';
|
|
7
7
|
import { holidayDesc, staticHolidays } from './staticHolidays.js';
|
|
8
|
+
import { TimedEvent } from './TimedEvent.js';
|
|
8
9
|
import { YomKippurKatanEvent } from './YomKippurKatanEvent.js';
|
|
9
10
|
import { HolidayEvent, RoshHashanaEvent, ChanukahEvent, AsaraBTevetEvent, RoshChodeshEvent } from './HolidayEvent.js';
|
|
10
11
|
|
|
@@ -54,7 +55,7 @@ function getHolidaysOnDate(date, il) {
|
|
|
54
55
|
}
|
|
55
56
|
return events.filter(ev => ev.observedIn(il));
|
|
56
57
|
}
|
|
57
|
-
const { CHAG, LIGHT_CANDLES_TZEIS, CHANUKAH_CANDLES, BEHAB, MINOR_FAST, SPECIAL_SHABBAT, MAJOR_FAST, MINOR_HOLIDAY, EREV,
|
|
58
|
+
const { CHAG, LIGHT_CANDLES_TZEIS, CHANUKAH_CANDLES, BEHAB, MINOR_FAST, SPECIAL_SHABBAT, MAJOR_FAST, MINOR_HOLIDAY, EREV, } = flags;
|
|
58
59
|
const SUN = 0;
|
|
59
60
|
const TUE = 2;
|
|
60
61
|
const THU = 4;
|
|
@@ -75,36 +76,74 @@ function addToMap(map, ...events) {
|
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
/** @internal */
|
|
78
|
-
const
|
|
79
|
+
const TIME_OF_DAY_DAWN = 0;
|
|
79
80
|
/** @internal */
|
|
80
|
-
const
|
|
81
|
+
const TIME_OF_DAY_MORNING = 1;
|
|
81
82
|
/** @internal */
|
|
82
|
-
const
|
|
83
|
+
const TIME_OF_DAY_MEVARCHIM = 2;
|
|
83
84
|
/** @internal */
|
|
84
|
-
const
|
|
85
|
+
const TIME_OF_DAY_DAY = 3;
|
|
86
|
+
/** @internal */
|
|
87
|
+
const TIME_OF_DAY_MIDDAY = 4;
|
|
88
|
+
/** @internal */
|
|
89
|
+
const TIME_OF_DAY_LEARNING = 5;
|
|
90
|
+
/** @internal */
|
|
91
|
+
const TIME_OF_DAY_EVENING = 6;
|
|
92
|
+
/** @internal */
|
|
93
|
+
const TIME_OF_DAY_NIGHT = 7;
|
|
85
94
|
/**
|
|
86
95
|
* Approximate time of day of an event, used to order events on the same date.
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
* -
|
|
90
|
-
*
|
|
96
|
+
* Events of equal rank keep the order in which they were created, and timed
|
|
97
|
+
* events of equal rank are ordered by their time.
|
|
98
|
+
* - Dawn: Fast begins for a minor fast, and a Latest Kiddush Levana before
|
|
99
|
+
* noon (which is never later than _alot hashachar_)
|
|
100
|
+
* - Morning: the parsha, special Shabbatot (tied to the Torah or Haftarah
|
|
101
|
+
* reading), minor fasts (which begin at dawn) and Birkat Hachamah
|
|
102
|
+
* (recited at sunrise)
|
|
103
|
+
* - Molad and Shabbat Mevarchim, announced in synagogue after the Torah
|
|
104
|
+
* reading
|
|
105
|
+
* - Day: everything else, including Yizkor and the Omer count
|
|
106
|
+
* - Midday: the deadlines for eating and burning chametz
|
|
107
|
+
* - Daily learning
|
|
91
108
|
* - Evening: Erev holidays, Chanukah candle-lighting and Leil Selichot
|
|
109
|
+
* - Night: other timed events such as candle-lighting, Havdalah,
|
|
110
|
+
* Fast ends, and a Latest Kiddush Levana after noon
|
|
92
111
|
* @internal
|
|
93
112
|
*/
|
|
94
113
|
function timeOfDay(ev) {
|
|
95
|
-
|
|
114
|
+
if (ev instanceof TimedEvent) {
|
|
115
|
+
return timedEventTimeOfDay(ev);
|
|
116
|
+
}
|
|
96
117
|
const desc = ev.getDesc();
|
|
97
|
-
if (
|
|
118
|
+
if (ev.hasAnyFlag('EREV', 'CHANUKAH_CANDLES') || desc === holidayDesc.LEIL_SELICHOT) {
|
|
98
119
|
return TIME_OF_DAY_EVENING;
|
|
99
120
|
}
|
|
100
|
-
if (
|
|
121
|
+
if (ev.hasAnyFlag('PARSHA_HASHAVUA', 'SPECIAL_SHABBAT', 'MINOR_FAST') ||
|
|
122
|
+
desc === holidayDesc.BIRKAT_HACHAMAH) {
|
|
101
123
|
return TIME_OF_DAY_MORNING;
|
|
102
124
|
}
|
|
103
|
-
if (
|
|
125
|
+
if (ev.hasAnyFlag('SHABBAT_MEVARCHIM', 'MOLAD')) {
|
|
104
126
|
return TIME_OF_DAY_MEVARCHIM;
|
|
105
127
|
}
|
|
128
|
+
if (ev.hasAnyFlag('DAILY_LEARNING', 'DAF_YOMI', 'MISHNA_YOMI', 'NACH_YOMI', 'YERUSHALMI_YOMI')) {
|
|
129
|
+
return TIME_OF_DAY_LEARNING;
|
|
130
|
+
}
|
|
106
131
|
return TIME_OF_DAY_DAY;
|
|
107
132
|
}
|
|
133
|
+
function timedEventTimeOfDay(ev) {
|
|
134
|
+
const desc = ev.getDesc();
|
|
135
|
+
if (desc === holidayDesc.SOF_ZMAN_ACHILAT_CHAMETZ || desc === holidayDesc.BIUR_CHAMETZ) {
|
|
136
|
+
return TIME_OF_DAY_MIDDAY;
|
|
137
|
+
}
|
|
138
|
+
// A minor fast begins at dawn, but Tish'a B'Av at sunset the day before.
|
|
139
|
+
// Latest Kiddush Levana is either before dawn or after nightfall.
|
|
140
|
+
if (desc === holidayDesc.FAST_BEGINS || ev.hasFlag('KIDDUSH_LEVANA')) {
|
|
141
|
+
// `eventTimeStr` is 24-hour local time; some engines format midnight as 24:00
|
|
142
|
+
const hour = Number.parseInt(ev.eventTimeStr, 10) % 24;
|
|
143
|
+
return hour < 12 ? TIME_OF_DAY_DAWN : TIME_OF_DAY_NIGHT;
|
|
144
|
+
}
|
|
145
|
+
return TIME_OF_DAY_NIGHT;
|
|
146
|
+
}
|
|
108
147
|
function addStaticHolidays(map, year) {
|
|
109
148
|
for (const h of staticHolidays) {
|
|
110
149
|
const hd = new HDate(h.dd, h.mm, year);
|
|
@@ -335,5 +374,5 @@ function getHolidaysForYearArray(year, il) {
|
|
|
335
374
|
return events;
|
|
336
375
|
}
|
|
337
376
|
|
|
338
|
-
export { TIME_OF_DAY_DAY, TIME_OF_DAY_EVENING, TIME_OF_DAY_MEVARCHIM, TIME_OF_DAY_MORNING, getHolidaysForYearArray, getHolidaysForYear_, getHolidaysOnDate, timeOfDay };
|
|
377
|
+
export { TIME_OF_DAY_DAWN, TIME_OF_DAY_DAY, TIME_OF_DAY_EVENING, TIME_OF_DAY_LEARNING, TIME_OF_DAY_MEVARCHIM, TIME_OF_DAY_MIDDAY, TIME_OF_DAY_MORNING, TIME_OF_DAY_NIGHT, getHolidaysForYearArray, getHolidaysForYear_, getHolidaysOnDate, timeOfDay };
|
|
339
378
|
//# sourceMappingURL=holidays.js.map
|
package/dist/esm/holidays.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"holidays.js","sources":["../../../src/holidays.ts"],"sourcesContent":["/*\n Hebcal - A Jewish Calendar Generator\n Copyright (c) 1994-2020 Danny Sadinoff\n Portions copyright Eyal Schachter and Michael J. Radwin\n\n https://github.com/hebcal/hebcal-es6\n\n This program is free software; you can redistribute it and/or\n modify it under the terms of the GNU General Public License\n as published by the Free Software Foundation; either version 2\n of the License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {HDate, months} from '@hebcal/hdate';\nimport QuickLRU from 'quick-lru';\nimport {Event, flags} from './event.js';\nimport {modernHolidaysForYear} from './modern.js';\nimport {getSedra} from './sedra.js';\nimport {staticHolidays, holidayDesc as hdesc} from './staticHolidays.js';\nimport {YomKippurKatanEvent} from './YomKippurKatanEvent.js';\nimport {\n HolidayEvent,\n ChanukahEvent,\n AsaraBTevetEvent,\n RoshHashanaEvent,\n RoshChodeshEvent,\n} from './HolidayEvent.js';\n\n/**\n * Returns an array of holiday Events that occur on the given date, or\n * `undefined` if no holidays occur that day.\n *\n * When `il` is omitted, both Diaspora-only and Israel-only events are\n * returned (e.g. on the second day of a Yom Tov, both `\"Pesach II\"` for\n * Diaspora and any Israel-only events). Pass `true` or `false` to filter\n * to a single schedule.\n * @example\n * import {getHolidaysOnDate, HDate, months} from '@hebcal/core';\n * const events = getHolidaysOnDate(new HDate(15, months.NISAN, 5784), false);\n * events?.map(ev => ev.getDesc()); // ['Pesach I']\n * @param date Hebrew Date, Gregorian date, or absolute R.D. day number\n * @param [il] use the Israeli schedule for holidays\n */\nexport function getHolidaysOnDate(\n date: HDate | Date | number,\n il?: boolean\n): HolidayEvent[] | undefined {\n const hd = HDate.isHDate(date) ? date : new HDate(date);\n const hdStr = hd.toString();\n const yearMap = getHolidaysForYear_(hd.getFullYear());\n const events = yearMap.get(hdStr);\n // if il isn't a boolean return both diaspora + IL for day\n if (il === undefined || events === undefined) {\n return events;\n }\n return events.filter(ev => ev.observedIn(il));\n}\n\nconst {\n CHAG,\n LIGHT_CANDLES_TZEIS,\n CHANUKAH_CANDLES,\n BEHAB,\n MINOR_FAST,\n SPECIAL_SHABBAT,\n MAJOR_FAST,\n MINOR_HOLIDAY,\n EREV,\n SHABBAT_MEVARCHIM,\n} = flags;\n\nconst SUN = 0;\nconst TUE = 2;\nconst THU = 4;\nconst FRI = 5;\nconst SAT = 6;\n\nconst {NISAN, IYYAR, TAMUZ, AV, TISHREI, CHESHVAN, KISLEV, TEVET, ADAR_I, ADAR_II} =\n months;\n\n/**\n * Holidays for an entire Hebrew year, indexed by `HDate.toString()`\n * (e.g. `'15 Nisan 5784'`). Returned by\n * {@link HebrewCalendar.getHolidaysForYear}. Because a single date can carry\n * more than one event, each key maps to an array. Entries are *not* filtered\n * by Israel vs. Diaspora — inspect `flags.IL_ONLY` / `flags.CHUL_ONLY`.\n */\nexport type HolidayYearMap = Map<string, HolidayEvent[]>;\nconst yearCache = new QuickLRU<number, HolidayYearMap>({maxSize: 120});\n\nfunction addToMap(map: HolidayYearMap, ...events: HolidayEvent[]): void {\n for (const ev of events) {\n const key = ev.date.toString();\n const arr = map.get(key);\n if (arr !== undefined) {\n arr.push(ev);\n } else {\n map.set(key, [ev]);\n }\n }\n}\n\n/** @internal */\nexport const TIME_OF_DAY_MORNING = 0;\n/** @internal */\nexport const TIME_OF_DAY_MEVARCHIM = 1;\n/** @internal */\nexport const TIME_OF_DAY_DAY = 2;\n/** @internal */\nexport const TIME_OF_DAY_EVENING = 3;\n\n/**\n * Approximate time of day of an event, used to order events on the same date.\n * - Morning: special Shabbatot (tied to the Torah or Haftarah reading), minor\n * fasts (which begin at dawn) and Birkat Hachamah (recited at sunrise)\n * - Shabbat Mevarchim, announced in synagogue after the Torah reading\n * - Day: everything else\n * - Evening: Erev holidays, Chanukah candle-lighting and Leil Selichot\n * @internal\n */\nexport function timeOfDay(ev: Event): number {\n const mask = ev.getFlags();\n const desc = ev.getDesc();\n if (mask & (EREV | CHANUKAH_CANDLES) || desc === hdesc.LEIL_SELICHOT) {\n return TIME_OF_DAY_EVENING;\n }\n if (mask & (SPECIAL_SHABBAT | MINOR_FAST) || desc === hdesc.BIRKAT_HACHAMAH) {\n return TIME_OF_DAY_MORNING;\n }\n if (mask & SHABBAT_MEVARCHIM) {\n return TIME_OF_DAY_MEVARCHIM;\n }\n return TIME_OF_DAY_DAY;\n}\n\nfunction addStaticHolidays(map: HolidayYearMap, year: number): void {\n for (const h of staticHolidays) {\n const hd = new HDate(h.dd, h.mm, year);\n const attrs: {emoji?: string; cholHaMoedDay?: number} = {};\n if (h.emoji) attrs.emoji = h.emoji;\n if (h.chmDay) attrs.cholHaMoedDay = h.chmDay;\n addToMap(map, new HolidayEvent(hd, h.desc, h.flags, attrs));\n }\n}\n\nfunction addTishreiHolidays(map: HolidayYearMap, year: number, RH: HDate): void {\n // standard holidays that don't shift based on year\n addToMap(map, new RoshHashanaEvent(RH, year, CHAG | LIGHT_CANDLES_TZEIS));\n const tzomGedaliahDay: number = RH.getDay() === THU ? 4 : 3;\n addToMap(\n map,\n new HolidayEvent(\n new HDate(tzomGedaliahDay, TISHREI, year),\n hdesc.TZOM_GEDALIAH,\n MINOR_FAST\n ),\n // first SAT after RH\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, 7 + RH.abs())),\n hdesc.SHABBAT_SHUVA,\n SPECIAL_SHABBAT\n )\n );\n}\n\nfunction addChanukahAndTevet(map: HolidayYearMap, year: number): void {\n const rchTevet = HDate.shortKislev(year)\n ? new HDate(1, TEVET, year)\n : new HDate(30, KISLEV, year);\n addToMap(\n map,\n new HolidayEvent(rchTevet, hdesc.CHAG_HABANOT, MINOR_HOLIDAY),\n new ChanukahEvent(\n new HDate(24, KISLEV, year),\n hdesc.CHANUKAH_1_CANDLE,\n EREV | MINOR_HOLIDAY | CHANUKAH_CANDLES,\n undefined\n )\n );\n // yes, we know Kislev 30-32 are wrong\n // HDate() corrects the month automatically\n for (let candles = 2; candles <= 8; candles++) {\n const hd = new HDate(23 + candles, KISLEV, year);\n addToMap(\n map,\n new ChanukahEvent(\n hd,\n `Chanukah: ${candles} Candles`,\n MINOR_HOLIDAY | CHANUKAH_CANDLES,\n candles - 1\n )\n );\n }\n addToMap(\n map,\n new ChanukahEvent(\n new HDate(32, KISLEV, year),\n hdesc.CHANUKAH_8TH_DAY,\n MINOR_HOLIDAY,\n 8\n ),\n new AsaraBTevetEvent(new HDate(10, TEVET, year), hdesc.ASARA_BTEVET, MINOR_FAST)\n );\n}\n\nfunction addPesachSeasonHolidays(\n map: HolidayYearMap,\n year: number,\n pesach: HDate\n): void {\n const pesachAbs = pesach.abs();\n const haChodeshAbs = HDate.dayOnOrBefore(SAT, pesachAbs - 14);\n addToMap(\n map,\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, pesachAbs - 43)),\n hdesc.SHABBAT_SHEKALIM,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, pesachAbs - 30)),\n hdesc.SHABBAT_ZACHOR,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(pesachAbs - (pesach.getDay() === TUE ? 33 : 31)),\n hdesc.TAANIT_ESTHER,\n MINOR_FAST\n ),\n new HolidayEvent(\n new HDate(haChodeshAbs - 7),\n hdesc.SHABBAT_PARAH,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(haChodeshAbs),\n hdesc.SHABBAT_HACHODESH,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, pesachAbs - 1)),\n hdesc.SHABBAT_HAGADOL,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n // if the fast falls on Shabbat, move to Thursday\n pesach.prev().getDay() === SAT\n ? pesach.onOrBefore(THU)\n : new HDate(14, NISAN, year),\n hdesc.TAANIT_BECHOROT,\n MINOR_FAST\n )\n );\n}\n\nfunction addLeilSelichot(map: HolidayYearMap, year: number): void {\n addToMap(\n map,\n new HolidayEvent(\n new HDate(\n HDate.dayOnOrBefore(SAT, new HDate(1, TISHREI, year + 1).abs() - 4)\n ),\n hdesc.LEIL_SELICHOT,\n MINOR_HOLIDAY,\n {emoji: '🕍'}\n )\n );\n}\n\nfunction addPurimVariants(map: HolidayYearMap, year: number, pesach: HDate): void {\n if (pesach.getDay() === SUN) {\n addToMap(\n map,\n new HolidayEvent(\n new HDate(16, ADAR_II, year),\n hdesc.PURIM_MESHULASH,\n MINOR_HOLIDAY\n )\n );\n }\n if (HDate.isLeapYear(year)) {\n addToMap(\n map,\n new HolidayEvent(\n new HDate(14, ADAR_I, year),\n hdesc.PURIM_KATAN,\n MINOR_HOLIDAY,\n {emoji: '🎭️'}\n ),\n new HolidayEvent(\n new HDate(15, ADAR_I, year),\n hdesc.SHUSHAN_PURIM_KATAN,\n MINOR_HOLIDAY,\n {emoji: '🎭️'}\n )\n );\n }\n}\n\nfunction addSummerFasts(map: HolidayYearMap, year: number): void {\n let tamuz17 = new HDate(17, TAMUZ, year);\n let tamuz17attrs: {observed: boolean} | undefined;\n if (tamuz17.getDay() === SAT) {\n tamuz17 = new HDate(18, TAMUZ, year);\n tamuz17attrs = {observed: true};\n }\n addToMap(\n map,\n new HolidayEvent(tamuz17, hdesc.TZOM_TAMMUZ, MINOR_FAST, tamuz17attrs)\n );\n\n let av9dt = new HDate(9, AV, year);\n let av9title = hdesc.TISHA_BAV;\n let av9attrs: {observed: boolean} | undefined;\n if (av9dt.getDay() === SAT) {\n av9dt = av9dt.next();\n av9attrs = {observed: true};\n av9title += ' (observed)';\n }\n const av9abs = av9dt.abs();\n addToMap(\n map,\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, av9abs)),\n hdesc.SHABBAT_CHAZON,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n av9dt.prev(),\n hdesc.EREV_TISHA_BAV,\n EREV | MAJOR_FAST,\n av9attrs\n ),\n new HolidayEvent(av9dt, av9title, MAJOR_FAST, av9attrs),\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, av9abs + 7)),\n hdesc.SHABBAT_NACHAMU,\n SPECIAL_SHABBAT\n )\n );\n}\n\nfunction daysInPreviousMonth(month: number, year: number): number {\n return month === NISAN\n ? HDate.daysInMonth(HDate.monthsInYear(year - 1), year - 1)\n : HDate.daysInMonth(month - 1, year);\n}\n\nfunction addRoshChodesh(map: HolidayYearMap, year: number): void {\n const monthsInYear = HDate.monthsInYear(year);\n for (let month = 1; month <= monthsInYear; month++) {\n const monthName = HDate.getMonthName(month, year);\n if (daysInPreviousMonth(month, year) === 30) {\n addToMap(map, new RoshChodeshEvent(new HDate(1, month, year), monthName));\n addToMap(\n map,\n new RoshChodeshEvent(new HDate(30, month - 1, year), monthName)\n );\n } else if (month !== TISHREI) {\n addToMap(map, new RoshChodeshEvent(new HDate(1, month, year), monthName));\n }\n }\n}\n\nfunction addYomKippurKatan(map: HolidayYearMap, year: number): void {\n const monthsInYear = HDate.monthsInYear(year);\n // start at Iyyar because one may not fast during Nisan\n for (let month = IYYAR; month <= monthsInYear; month++) {\n const nextMonth = month + 1;\n // Yom Kippur Katan is not observed on the day before Rosh Hashanah.\n // Not observed prior to Rosh Chodesh Cheshvan because Yom Kippur has just passed.\n // Not observed before Rosh Chodesh Tevet, because that day is Hanukkah.\n if (nextMonth === TISHREI || nextMonth === CHESHVAN || nextMonth === TEVET) {\n continue;\n }\n let ykk = new HDate(29, month, year);\n const dow = ykk.getDay();\n if (dow === FRI || dow === SAT) {\n ykk = ykk.onOrBefore(THU);\n }\n const nextMonthName = HDate.getMonthName(nextMonth, year);\n addToMap(map, new YomKippurKatanEvent(ykk, nextMonthName));\n }\n}\n\nfunction addBehab(map: HolidayYearMap, year: number): void {\n for (const month of [CHESHVAN, IYYAR]) {\n const roshChodesh = new HDate(1, month, year);\n let shabbos = new HDate(HDate.dayOnOrBefore(SAT, roshChodesh.abs() + 6));\n if (shabbos.abs() === roshChodesh.abs()) {\n shabbos = new HDate(shabbos.abs() + 7);\n }\n const fastDays = [2, 5, 9].map(offset => new HDate(shabbos.abs() + offset));\n if (month === IYYAR && fastDays[2].getDate() === 14) {\n fastDays[2] = new HDate(17, IYYAR, year);\n }\n for (const hd of fastDays) {\n addToMap(map, new HolidayEvent(hd, hdesc.TAANIT_BEHAB, MINOR_FAST | BEHAB));\n }\n }\n}\n\n/**\n * Lower-level holidays interface, which returns a `Map` of `Event`s indexed by\n * `HDate.toString()`. These events must filtered especially for `flags.IL_ONLY`\n * or `flags.CHUL_ONLY` depending on Israel vs. Diaspora holiday scheme.\n * @internal\n */\nexport function getHolidaysForYear_(year: number): HolidayYearMap {\n if (typeof year !== 'number') {\n throw new TypeError(`bad Hebrew year: ${year}`);\n }\n if (year < 1 || year > 32658) {\n throw new RangeError(`Hebrew year ${year} out of range 1-32658`);\n }\n const cached = yearCache.get(year);\n if (cached) {\n return cached;\n }\n\n const RH = new HDate(1, TISHREI, year);\n const pesach = new HDate(15, NISAN, year);\n const map: HolidayYearMap = new Map();\n\n addStaticHolidays(map, year);\n addTishreiHolidays(map, year, RH);\n addChanukahAndTevet(map, year);\n addPesachSeasonHolidays(map, year, pesach);\n addLeilSelichot(map, year);\n addPurimVariants(map, year, pesach);\n addToMap(map, ...modernHolidaysForYear(year));\n addSummerFasts(map, year);\n addRoshChodesh(map, year);\n addYomKippurKatan(map, year);\n addBehab(map, year);\n\n const sedra = getSedra(year, false);\n const beshalachHd = sedra.find(15);\n if (beshalachHd === null) {\n throw new Error(`Parashat Beshalach not found in year ${year}`);\n }\n addToMap(\n map,\n new HolidayEvent(beshalachHd, hdesc.SHABBAT_SHIRAH, SPECIAL_SHABBAT)\n );\n\n // Birkat Hachamah appears only once every 28 years\n const birkatHaChama = getBirkatHaChama(year);\n if (birkatHaChama !== undefined) {\n const hd = new HDate(birkatHaChama);\n addToMap(\n map,\n new HolidayEvent(hd, hdesc.BIRKAT_HACHAMAH, MINOR_HOLIDAY, {emoji: '☀️'})\n );\n }\n\n for (const arr of map.values()) {\n arr.sort((a, b) => timeOfDay(a) - timeOfDay(b));\n }\n\n yearCache.set(year, map);\n return map;\n}\n\n/** 28 years of 365.25 days */\nconst BIRKAT_HACHAMAH_CYCLE_DAYS = 10227;\nconst BIRKAT_HACHAMAH_EPOCH_OFFSET = 1373429;\nconst BIRKAT_HACHAMAH_REMAINDER = 172;\n\n/**\n * Birkat Hachamah appears only once every 28 years.\n * Although almost always in Nisan, it can occur in Adar II.\n * - 27 Adar II 5461 (Gregorian year 1701)\n * - 29 Adar II 5993 (Gregorian year 2233)\n *\n * Due to drift, this will eventually slip into Iyyar\n * - 2 Iyyar 7141 (Gregorian year 3381)\n */\nfunction getBirkatHaChama(year: number): number | undefined {\n const leap = HDate.isLeapYear(year);\n const startMonth = leap ? ADAR_II : NISAN;\n const startDay = leap ? 20 : 1;\n const baseRd = HDate.hebrew2abs(year, startMonth, startDay);\n for (let day = 0; day <= 40; day++) {\n const abs = baseRd + day;\n const elapsed = abs + BIRKAT_HACHAMAH_EPOCH_OFFSET;\n if (elapsed % BIRKAT_HACHAMAH_CYCLE_DAYS === BIRKAT_HACHAMAH_REMAINDER) {\n return abs;\n }\n }\n return undefined;\n}\n\n/**\n * Returns a sorted array of holidays observed during the given Hebrew year,\n * filtered by Israel vs. Diaspora schedule.\n *\n * Includes Rosh Chodesh, fasts, special Shabbatot, modern holidays, etc.,\n * but does not generate candle-lighting times, Torah readings, or Omer days.\n * Use {@link calendar} for those.\n * @example\n * import {getHolidaysForYearArray} from '@hebcal/core';\n * const events = getHolidaysForYearArray(5784, false);\n * console.log(events[0].getDesc()); // 'Rosh Hashana 5784'\n * @param year Hebrew year\n * @param il use the Israeli schedule for holidays\n */\nexport function getHolidaysForYearArray(year: number, il: boolean): HolidayEvent[] {\n const yearMap = getHolidaysForYear_(year);\n const startAbs = HDate.hebrew2abs(year, TISHREI, 1);\n const endAbs = HDate.hebrew2abs(year + 1, TISHREI, 1) - 1;\n const events: HolidayEvent[] = [];\n for (let absDt = startAbs; absDt <= endAbs; absDt++) {\n const hd = new HDate(absDt);\n const holidays = yearMap.get(hd.toString());\n if (holidays) {\n events.push(...holidays.filter(ev => ev.observedIn(il)));\n }\n }\n return events;\n}\n"],"names":["hdesc"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"holidays.js","sources":["../../../src/holidays.ts"],"sourcesContent":["/*\n Hebcal - A Jewish Calendar Generator\n Copyright (c) 1994-2020 Danny Sadinoff\n Portions copyright Eyal Schachter and Michael J. Radwin\n\n https://github.com/hebcal/hebcal-es6\n\n This program is free software; you can redistribute it and/or\n modify it under the terms of the GNU General Public License\n as published by the Free Software Foundation; either version 2\n of the License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {HDate, months} from '@hebcal/hdate';\nimport QuickLRU from 'quick-lru';\nimport {Event, flags} from './event.js';\nimport {modernHolidaysForYear} from './modern.js';\nimport {getSedra} from './sedra.js';\nimport {staticHolidays, holidayDesc as hdesc} from './staticHolidays.js';\nimport {TimedEvent} from './TimedEvent.js';\nimport {YomKippurKatanEvent} from './YomKippurKatanEvent.js';\nimport {\n HolidayEvent,\n ChanukahEvent,\n AsaraBTevetEvent,\n RoshHashanaEvent,\n RoshChodeshEvent,\n} from './HolidayEvent.js';\n\n/**\n * Returns an array of holiday Events that occur on the given date, or\n * `undefined` if no holidays occur that day.\n *\n * When `il` is omitted, both Diaspora-only and Israel-only events are\n * returned (e.g. on the second day of a Yom Tov, both `\"Pesach II\"` for\n * Diaspora and any Israel-only events). Pass `true` or `false` to filter\n * to a single schedule.\n * @example\n * import {getHolidaysOnDate, HDate, months} from '@hebcal/core';\n * const events = getHolidaysOnDate(new HDate(15, months.NISAN, 5784), false);\n * events?.map(ev => ev.getDesc()); // ['Pesach I']\n * @param date Hebrew Date, Gregorian date, or absolute R.D. day number\n * @param [il] use the Israeli schedule for holidays\n */\nexport function getHolidaysOnDate(\n date: HDate | Date | number,\n il?: boolean\n): HolidayEvent[] | undefined {\n const hd = HDate.isHDate(date) ? date : new HDate(date);\n const hdStr = hd.toString();\n const yearMap = getHolidaysForYear_(hd.getFullYear());\n const events = yearMap.get(hdStr);\n // if il isn't a boolean return both diaspora + IL for day\n if (il === undefined || events === undefined) {\n return events;\n }\n return events.filter(ev => ev.observedIn(il));\n}\n\nconst {\n CHAG,\n LIGHT_CANDLES_TZEIS,\n CHANUKAH_CANDLES,\n BEHAB,\n MINOR_FAST,\n SPECIAL_SHABBAT,\n MAJOR_FAST,\n MINOR_HOLIDAY,\n EREV,\n} = flags;\n\nconst SUN = 0;\nconst TUE = 2;\nconst THU = 4;\nconst FRI = 5;\nconst SAT = 6;\n\nconst {NISAN, IYYAR, TAMUZ, AV, TISHREI, CHESHVAN, KISLEV, TEVET, ADAR_I, ADAR_II} =\n months;\n\n/**\n * Holidays for an entire Hebrew year, indexed by `HDate.toString()`\n * (e.g. `'15 Nisan 5784'`). Returned by\n * {@link HebrewCalendar.getHolidaysForYear}. Because a single date can carry\n * more than one event, each key maps to an array. Entries are *not* filtered\n * by Israel vs. Diaspora — inspect `flags.IL_ONLY` / `flags.CHUL_ONLY`.\n */\nexport type HolidayYearMap = Map<string, HolidayEvent[]>;\nconst yearCache = new QuickLRU<number, HolidayYearMap>({maxSize: 120});\n\nfunction addToMap(map: HolidayYearMap, ...events: HolidayEvent[]): void {\n for (const ev of events) {\n const key = ev.date.toString();\n const arr = map.get(key);\n if (arr !== undefined) {\n arr.push(ev);\n } else {\n map.set(key, [ev]);\n }\n }\n}\n\n/** @internal */\nexport const TIME_OF_DAY_DAWN = 0;\n/** @internal */\nexport const TIME_OF_DAY_MORNING = 1;\n/** @internal */\nexport const TIME_OF_DAY_MEVARCHIM = 2;\n/** @internal */\nexport const TIME_OF_DAY_DAY = 3;\n/** @internal */\nexport const TIME_OF_DAY_MIDDAY = 4;\n/** @internal */\nexport const TIME_OF_DAY_LEARNING = 5;\n/** @internal */\nexport const TIME_OF_DAY_EVENING = 6;\n/** @internal */\nexport const TIME_OF_DAY_NIGHT = 7;\n\n/**\n * Approximate time of day of an event, used to order events on the same date.\n * Events of equal rank keep the order in which they were created, and timed\n * events of equal rank are ordered by their time.\n * - Dawn: Fast begins for a minor fast, and a Latest Kiddush Levana before\n * noon (which is never later than _alot hashachar_)\n * - Morning: the parsha, special Shabbatot (tied to the Torah or Haftarah\n * reading), minor fasts (which begin at dawn) and Birkat Hachamah\n * (recited at sunrise)\n * - Molad and Shabbat Mevarchim, announced in synagogue after the Torah\n * reading\n * - Day: everything else, including Yizkor and the Omer count\n * - Midday: the deadlines for eating and burning chametz\n * - Daily learning\n * - Evening: Erev holidays, Chanukah candle-lighting and Leil Selichot\n * - Night: other timed events such as candle-lighting, Havdalah,\n * Fast ends, and a Latest Kiddush Levana after noon\n * @internal\n */\nexport function timeOfDay(ev: Event): number {\n if (ev instanceof TimedEvent) {\n return timedEventTimeOfDay(ev);\n }\n const desc = ev.getDesc();\n if (ev.hasAnyFlag('EREV', 'CHANUKAH_CANDLES') || desc === hdesc.LEIL_SELICHOT) {\n return TIME_OF_DAY_EVENING;\n }\n if (\n ev.hasAnyFlag('PARSHA_HASHAVUA', 'SPECIAL_SHABBAT', 'MINOR_FAST') ||\n desc === hdesc.BIRKAT_HACHAMAH\n ) {\n return TIME_OF_DAY_MORNING;\n }\n if (ev.hasAnyFlag('SHABBAT_MEVARCHIM', 'MOLAD')) {\n return TIME_OF_DAY_MEVARCHIM;\n }\n if (\n ev.hasAnyFlag(\n 'DAILY_LEARNING',\n 'DAF_YOMI',\n 'MISHNA_YOMI',\n 'NACH_YOMI',\n 'YERUSHALMI_YOMI'\n )\n ) {\n return TIME_OF_DAY_LEARNING;\n }\n return TIME_OF_DAY_DAY;\n}\n\nfunction timedEventTimeOfDay(ev: TimedEvent): number {\n const desc = ev.getDesc();\n if (desc === hdesc.SOF_ZMAN_ACHILAT_CHAMETZ || desc === hdesc.BIUR_CHAMETZ) {\n return TIME_OF_DAY_MIDDAY;\n }\n // A minor fast begins at dawn, but Tish'a B'Av at sunset the day before.\n // Latest Kiddush Levana is either before dawn or after nightfall.\n if (desc === hdesc.FAST_BEGINS || ev.hasFlag('KIDDUSH_LEVANA')) {\n // `eventTimeStr` is 24-hour local time; some engines format midnight as 24:00\n const hour = Number.parseInt(ev.eventTimeStr, 10) % 24;\n return hour < 12 ? TIME_OF_DAY_DAWN : TIME_OF_DAY_NIGHT;\n }\n return TIME_OF_DAY_NIGHT;\n}\n\nfunction addStaticHolidays(map: HolidayYearMap, year: number): void {\n for (const h of staticHolidays) {\n const hd = new HDate(h.dd, h.mm, year);\n const attrs: {emoji?: string; cholHaMoedDay?: number} = {};\n if (h.emoji) attrs.emoji = h.emoji;\n if (h.chmDay) attrs.cholHaMoedDay = h.chmDay;\n addToMap(map, new HolidayEvent(hd, h.desc, h.flags, attrs));\n }\n}\n\nfunction addTishreiHolidays(map: HolidayYearMap, year: number, RH: HDate): void {\n // standard holidays that don't shift based on year\n addToMap(map, new RoshHashanaEvent(RH, year, CHAG | LIGHT_CANDLES_TZEIS));\n const tzomGedaliahDay: number = RH.getDay() === THU ? 4 : 3;\n addToMap(\n map,\n new HolidayEvent(\n new HDate(tzomGedaliahDay, TISHREI, year),\n hdesc.TZOM_GEDALIAH,\n MINOR_FAST\n ),\n // first SAT after RH\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, 7 + RH.abs())),\n hdesc.SHABBAT_SHUVA,\n SPECIAL_SHABBAT\n )\n );\n}\n\nfunction addChanukahAndTevet(map: HolidayYearMap, year: number): void {\n const rchTevet = HDate.shortKislev(year)\n ? new HDate(1, TEVET, year)\n : new HDate(30, KISLEV, year);\n addToMap(\n map,\n new HolidayEvent(rchTevet, hdesc.CHAG_HABANOT, MINOR_HOLIDAY),\n new ChanukahEvent(\n new HDate(24, KISLEV, year),\n hdesc.CHANUKAH_1_CANDLE,\n EREV | MINOR_HOLIDAY | CHANUKAH_CANDLES,\n undefined\n )\n );\n // yes, we know Kislev 30-32 are wrong\n // HDate() corrects the month automatically\n for (let candles = 2; candles <= 8; candles++) {\n const hd = new HDate(23 + candles, KISLEV, year);\n addToMap(\n map,\n new ChanukahEvent(\n hd,\n `Chanukah: ${candles} Candles`,\n MINOR_HOLIDAY | CHANUKAH_CANDLES,\n candles - 1\n )\n );\n }\n addToMap(\n map,\n new ChanukahEvent(\n new HDate(32, KISLEV, year),\n hdesc.CHANUKAH_8TH_DAY,\n MINOR_HOLIDAY,\n 8\n ),\n new AsaraBTevetEvent(new HDate(10, TEVET, year), hdesc.ASARA_BTEVET, MINOR_FAST)\n );\n}\n\nfunction addPesachSeasonHolidays(\n map: HolidayYearMap,\n year: number,\n pesach: HDate\n): void {\n const pesachAbs = pesach.abs();\n const haChodeshAbs = HDate.dayOnOrBefore(SAT, pesachAbs - 14);\n addToMap(\n map,\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, pesachAbs - 43)),\n hdesc.SHABBAT_SHEKALIM,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, pesachAbs - 30)),\n hdesc.SHABBAT_ZACHOR,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(pesachAbs - (pesach.getDay() === TUE ? 33 : 31)),\n hdesc.TAANIT_ESTHER,\n MINOR_FAST\n ),\n new HolidayEvent(\n new HDate(haChodeshAbs - 7),\n hdesc.SHABBAT_PARAH,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(haChodeshAbs),\n hdesc.SHABBAT_HACHODESH,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, pesachAbs - 1)),\n hdesc.SHABBAT_HAGADOL,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n // if the fast falls on Shabbat, move to Thursday\n pesach.prev().getDay() === SAT\n ? pesach.onOrBefore(THU)\n : new HDate(14, NISAN, year),\n hdesc.TAANIT_BECHOROT,\n MINOR_FAST\n )\n );\n}\n\nfunction addLeilSelichot(map: HolidayYearMap, year: number): void {\n addToMap(\n map,\n new HolidayEvent(\n new HDate(\n HDate.dayOnOrBefore(SAT, new HDate(1, TISHREI, year + 1).abs() - 4)\n ),\n hdesc.LEIL_SELICHOT,\n MINOR_HOLIDAY,\n {emoji: '🕍'}\n )\n );\n}\n\nfunction addPurimVariants(map: HolidayYearMap, year: number, pesach: HDate): void {\n if (pesach.getDay() === SUN) {\n addToMap(\n map,\n new HolidayEvent(\n new HDate(16, ADAR_II, year),\n hdesc.PURIM_MESHULASH,\n MINOR_HOLIDAY\n )\n );\n }\n if (HDate.isLeapYear(year)) {\n addToMap(\n map,\n new HolidayEvent(\n new HDate(14, ADAR_I, year),\n hdesc.PURIM_KATAN,\n MINOR_HOLIDAY,\n {emoji: '🎭️'}\n ),\n new HolidayEvent(\n new HDate(15, ADAR_I, year),\n hdesc.SHUSHAN_PURIM_KATAN,\n MINOR_HOLIDAY,\n {emoji: '🎭️'}\n )\n );\n }\n}\n\nfunction addSummerFasts(map: HolidayYearMap, year: number): void {\n let tamuz17 = new HDate(17, TAMUZ, year);\n let tamuz17attrs: {observed: boolean} | undefined;\n if (tamuz17.getDay() === SAT) {\n tamuz17 = new HDate(18, TAMUZ, year);\n tamuz17attrs = {observed: true};\n }\n addToMap(\n map,\n new HolidayEvent(tamuz17, hdesc.TZOM_TAMMUZ, MINOR_FAST, tamuz17attrs)\n );\n\n let av9dt = new HDate(9, AV, year);\n let av9title = hdesc.TISHA_BAV;\n let av9attrs: {observed: boolean} | undefined;\n if (av9dt.getDay() === SAT) {\n av9dt = av9dt.next();\n av9attrs = {observed: true};\n av9title += ' (observed)';\n }\n const av9abs = av9dt.abs();\n addToMap(\n map,\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, av9abs)),\n hdesc.SHABBAT_CHAZON,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n av9dt.prev(),\n hdesc.EREV_TISHA_BAV,\n EREV | MAJOR_FAST,\n av9attrs\n ),\n new HolidayEvent(av9dt, av9title, MAJOR_FAST, av9attrs),\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, av9abs + 7)),\n hdesc.SHABBAT_NACHAMU,\n SPECIAL_SHABBAT\n )\n );\n}\n\nfunction daysInPreviousMonth(month: number, year: number): number {\n return month === NISAN\n ? HDate.daysInMonth(HDate.monthsInYear(year - 1), year - 1)\n : HDate.daysInMonth(month - 1, year);\n}\n\nfunction addRoshChodesh(map: HolidayYearMap, year: number): void {\n const monthsInYear = HDate.monthsInYear(year);\n for (let month = 1; month <= monthsInYear; month++) {\n const monthName = HDate.getMonthName(month, year);\n if (daysInPreviousMonth(month, year) === 30) {\n addToMap(map, new RoshChodeshEvent(new HDate(1, month, year), monthName));\n addToMap(\n map,\n new RoshChodeshEvent(new HDate(30, month - 1, year), monthName)\n );\n } else if (month !== TISHREI) {\n addToMap(map, new RoshChodeshEvent(new HDate(1, month, year), monthName));\n }\n }\n}\n\nfunction addYomKippurKatan(map: HolidayYearMap, year: number): void {\n const monthsInYear = HDate.monthsInYear(year);\n // start at Iyyar because one may not fast during Nisan\n for (let month = IYYAR; month <= monthsInYear; month++) {\n const nextMonth = month + 1;\n // Yom Kippur Katan is not observed on the day before Rosh Hashanah.\n // Not observed prior to Rosh Chodesh Cheshvan because Yom Kippur has just passed.\n // Not observed before Rosh Chodesh Tevet, because that day is Hanukkah.\n if (nextMonth === TISHREI || nextMonth === CHESHVAN || nextMonth === TEVET) {\n continue;\n }\n let ykk = new HDate(29, month, year);\n const dow = ykk.getDay();\n if (dow === FRI || dow === SAT) {\n ykk = ykk.onOrBefore(THU);\n }\n const nextMonthName = HDate.getMonthName(nextMonth, year);\n addToMap(map, new YomKippurKatanEvent(ykk, nextMonthName));\n }\n}\n\nfunction addBehab(map: HolidayYearMap, year: number): void {\n for (const month of [CHESHVAN, IYYAR]) {\n const roshChodesh = new HDate(1, month, year);\n let shabbos = new HDate(HDate.dayOnOrBefore(SAT, roshChodesh.abs() + 6));\n if (shabbos.abs() === roshChodesh.abs()) {\n shabbos = new HDate(shabbos.abs() + 7);\n }\n const fastDays = [2, 5, 9].map(offset => new HDate(shabbos.abs() + offset));\n if (month === IYYAR && fastDays[2].getDate() === 14) {\n fastDays[2] = new HDate(17, IYYAR, year);\n }\n for (const hd of fastDays) {\n addToMap(map, new HolidayEvent(hd, hdesc.TAANIT_BEHAB, MINOR_FAST | BEHAB));\n }\n }\n}\n\n/**\n * Lower-level holidays interface, which returns a `Map` of `Event`s indexed by\n * `HDate.toString()`. These events must filtered especially for `flags.IL_ONLY`\n * or `flags.CHUL_ONLY` depending on Israel vs. Diaspora holiday scheme.\n * @internal\n */\nexport function getHolidaysForYear_(year: number): HolidayYearMap {\n if (typeof year !== 'number') {\n throw new TypeError(`bad Hebrew year: ${year}`);\n }\n if (year < 1 || year > 32658) {\n throw new RangeError(`Hebrew year ${year} out of range 1-32658`);\n }\n const cached = yearCache.get(year);\n if (cached) {\n return cached;\n }\n\n const RH = new HDate(1, TISHREI, year);\n const pesach = new HDate(15, NISAN, year);\n const map: HolidayYearMap = new Map();\n\n addStaticHolidays(map, year);\n addTishreiHolidays(map, year, RH);\n addChanukahAndTevet(map, year);\n addPesachSeasonHolidays(map, year, pesach);\n addLeilSelichot(map, year);\n addPurimVariants(map, year, pesach);\n addToMap(map, ...modernHolidaysForYear(year));\n addSummerFasts(map, year);\n addRoshChodesh(map, year);\n addYomKippurKatan(map, year);\n addBehab(map, year);\n\n const sedra = getSedra(year, false);\n const beshalachHd = sedra.find(15);\n if (beshalachHd === null) {\n throw new Error(`Parashat Beshalach not found in year ${year}`);\n }\n addToMap(\n map,\n new HolidayEvent(beshalachHd, hdesc.SHABBAT_SHIRAH, SPECIAL_SHABBAT)\n );\n\n // Birkat Hachamah appears only once every 28 years\n const birkatHaChama = getBirkatHaChama(year);\n if (birkatHaChama !== undefined) {\n const hd = new HDate(birkatHaChama);\n addToMap(\n map,\n new HolidayEvent(hd, hdesc.BIRKAT_HACHAMAH, MINOR_HOLIDAY, {emoji: '☀️'})\n );\n }\n\n for (const arr of map.values()) {\n arr.sort((a, b) => timeOfDay(a) - timeOfDay(b));\n }\n\n yearCache.set(year, map);\n return map;\n}\n\n/** 28 years of 365.25 days */\nconst BIRKAT_HACHAMAH_CYCLE_DAYS = 10227;\nconst BIRKAT_HACHAMAH_EPOCH_OFFSET = 1373429;\nconst BIRKAT_HACHAMAH_REMAINDER = 172;\n\n/**\n * Birkat Hachamah appears only once every 28 years.\n * Although almost always in Nisan, it can occur in Adar II.\n * - 27 Adar II 5461 (Gregorian year 1701)\n * - 29 Adar II 5993 (Gregorian year 2233)\n *\n * Due to drift, this will eventually slip into Iyyar\n * - 2 Iyyar 7141 (Gregorian year 3381)\n */\nfunction getBirkatHaChama(year: number): number | undefined {\n const leap = HDate.isLeapYear(year);\n const startMonth = leap ? ADAR_II : NISAN;\n const startDay = leap ? 20 : 1;\n const baseRd = HDate.hebrew2abs(year, startMonth, startDay);\n for (let day = 0; day <= 40; day++) {\n const abs = baseRd + day;\n const elapsed = abs + BIRKAT_HACHAMAH_EPOCH_OFFSET;\n if (elapsed % BIRKAT_HACHAMAH_CYCLE_DAYS === BIRKAT_HACHAMAH_REMAINDER) {\n return abs;\n }\n }\n return undefined;\n}\n\n/**\n * Returns a sorted array of holidays observed during the given Hebrew year,\n * filtered by Israel vs. Diaspora schedule.\n *\n * Includes Rosh Chodesh, fasts, special Shabbatot, modern holidays, etc.,\n * but does not generate candle-lighting times, Torah readings, or Omer days.\n * Use {@link calendar} for those.\n * @example\n * import {getHolidaysForYearArray} from '@hebcal/core';\n * const events = getHolidaysForYearArray(5784, false);\n * console.log(events[0].getDesc()); // 'Rosh Hashana 5784'\n * @param year Hebrew year\n * @param il use the Israeli schedule for holidays\n */\nexport function getHolidaysForYearArray(year: number, il: boolean): HolidayEvent[] {\n const yearMap = getHolidaysForYear_(year);\n const startAbs = HDate.hebrew2abs(year, TISHREI, 1);\n const endAbs = HDate.hebrew2abs(year + 1, TISHREI, 1) - 1;\n const events: HolidayEvent[] = [];\n for (let absDt = startAbs; absDt <= endAbs; absDt++) {\n const hd = new HDate(absDt);\n const holidays = yearMap.get(hd.toString());\n if (holidays) {\n events.push(...holidays.filter(ev => ev.observedIn(il)));\n }\n }\n return events;\n}\n"],"names":["hdesc"],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
export { version } from './pkgVersion.js';
|
|
3
3
|
export { HDate, Locale, gematriya, gematriyaStrToNum, greg, months } from '@hebcal/hdate';
|
|
4
4
|
import './locale.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { getPseudoISO, HDate } from '@hebcal/hdate';
|
|
3
3
|
import { Zmanim } from './zmanim.js';
|
|
4
4
|
import { getHolidaysOnDate } from './holidays.js';
|
package/dist/esm/isAveilut.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { months, HDate } from '@hebcal/hdate';
|
|
3
3
|
|
|
4
4
|
const { NISAN, SIVAN, TAMUZ, AV } = months;
|
package/dist/esm/isFastDay.js
CHANGED
package/dist/esm/locale.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { Locale } from '@hebcal/hdate';
|
|
3
3
|
export { Locale } from '@hebcal/hdate';
|
|
4
4
|
import poAshkenazi from './ashkenazi.po.js';
|
package/dist/esm/location.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { GeoLocation } from '@hebcal/noaa';
|
|
3
3
|
import citiesJson from './cities.json.js';
|
|
4
4
|
import QuickLRU from 'quick-lru';
|
package/dist/esm/modern.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { months, HDate } from '@hebcal/hdate';
|
|
3
3
|
import { flags } from './event.js';
|
|
4
4
|
import { HolidayEvent } from './HolidayEvent.js';
|
package/dist/esm/molad.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import 'temporal-polyfill/global';
|
|
3
3
|
import { Event, flags } from './event.js';
|
|
4
4
|
import { HDate, Locale, pad2 } from '@hebcal/hdate';
|
package/dist/esm/moladBase.js
CHANGED
package/dist/esm/moladDate.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import 'temporal-polyfill/global';
|
|
3
3
|
import { getTimezoneOffset } from '@hebcal/hdate';
|
|
4
4
|
|
package/dist/esm/omer.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { Locale, gematriya } from '@hebcal/hdate';
|
|
3
3
|
import { Event, flags } from './event.js';
|
|
4
4
|
import './locale.js';
|
package/dist/esm/parshaName.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import './locale.js';
|
|
3
3
|
import { smartApostrophe } from './string.js';
|
|
4
4
|
import { Locale } from '@hebcal/hdate';
|
package/dist/esm/parshaYear.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { HDate, months } from '@hebcal/hdate';
|
|
3
3
|
import { ParshaEvent } from './ParshaEvent.js';
|
|
4
4
|
import { getSedra } from './sedra.js';
|
package/dist/esm/pkgVersion.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** DO NOT EDIT THIS AUTO-GENERATED FILE! */
|
|
2
|
-
export declare const version = "6.14.
|
|
2
|
+
export declare const version = "6.14.4";
|
package/dist/esm/pkgVersion.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
/** DO NOT EDIT THIS AUTO-GENERATED FILE! */
|
|
3
|
-
const version = '6.14.
|
|
3
|
+
const version = '6.14.4';
|
|
4
4
|
|
|
5
5
|
export { version };
|
|
6
6
|
//# sourceMappingURL=pkgVersion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pkgVersion.js","sources":["../../../src/pkgVersion.ts"],"sourcesContent":["/** DO NOT EDIT THIS AUTO-GENERATED FILE! */\nexport const version = '6.14.
|
|
1
|
+
{"version":3,"file":"pkgVersion.js","sources":["../../../src/pkgVersion.ts"],"sourcesContent":["/** DO NOT EDIT THIS AUTO-GENERATED FILE! */\nexport const version = '6.14.4';\n"],"names":[],"mappings":";AAAA;AACO,MAAM,OAAO,GAAG;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
/** Countries that conventionally use a 12-hour clock */
|
|
3
3
|
const hour12cc = new Set([
|
|
4
4
|
'US',
|
package/dist/esm/sedra.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { HDate, months } from '@hebcal/hdate';
|
|
3
3
|
import QuickLRU from 'quick-lru';
|
|
4
4
|
import './locale.js';
|
package/dist/esm/sefira.json.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
var sefira = {
|
|
3
3
|
"ps67lines": [
|
|
4
4
|
"אֱלֹהִים יְחָנֵּנוּ וִיבָרְכֵנוּ יָאֵר־פָּנָיו אִתָּנוּ סֶלָה",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { months } from '@hebcal/hdate';
|
|
3
3
|
import { flags } from './event.js';
|
|
4
4
|
|
package/dist/esm/string.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
function smartApostrophe(str) {
|
|
3
3
|
return str.replaceAll("'", '’');
|
|
4
4
|
}
|
package/dist/esm/tachanun.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { HDate, months } from '@hebcal/hdate';
|
|
3
3
|
import { dateYomHaZikaron } from './modern.js';
|
|
4
4
|
|
package/dist/esm/zenith.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
/**
|
|
3
3
|
* Solar zeniths and depression angles shared by the zmanim calculations.
|
|
4
4
|
*
|
package/dist/esm/zmanim.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v6.14.
|
|
1
|
+
/*! @hebcal/core v6.14.4, distributed under GPLv2 or later https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import 'temporal-polyfill/global';
|
|
3
3
|
import { NOAACalculator } from '@hebcal/noaa';
|
|
4
4
|
import { HDate, isDate, getTimezoneOffset, pad2, getPseudoISO } from '@hebcal/hdate';
|