@hebcal/core 6.6.0 → 6.7.0
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/README.md +4 -4
- package/dist/bundle.js +183 -50
- package/dist/bundle.js.map +1 -1
- package/dist/bundle.min.js +18 -18
- package/dist/bundle.min.js.map +1 -1
- package/dist/esm/CalOptions.d.ts +15 -3
- package/dist/esm/DailyLearning.js +1 -1
- package/dist/esm/HebrewDateEvent.js +1 -1
- package/dist/esm/HolidayEvent.js +1 -1
- package/dist/esm/MevarchimChodeshEvent.js +1 -1
- package/dist/esm/ParshaEvent.js +16 -6
- package/dist/esm/ParshaEvent.js.map +1 -1
- package/dist/esm/TimedEvent.js +1 -1
- package/dist/esm/TimedEvent.js.map +1 -1
- package/dist/esm/YomKippurKatanEvent.js +1 -1
- package/dist/esm/ashkenazi.po.js +2 -2
- package/dist/esm/ashkenazi.po.js.map +1 -1
- package/dist/esm/calendar.js +14 -20
- package/dist/esm/calendar.js.map +1 -1
- package/dist/esm/candles.d.ts +8 -3
- package/dist/esm/candles.js +65 -11
- package/dist/esm/candles.js.map +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.js +1 -1
- 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/location.js.map +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/moladDate.js.map +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/reformatTimeStr.js.map +1 -1
- package/dist/esm/sedra.d.ts +14 -0
- package/dist/esm/sedra.js +62 -1
- package/dist/esm/sedra.js.map +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/tachanun.js.map +1 -1
- package/dist/esm/zmanim.js +2 -3
- package/dist/esm/zmanim.js.map +1 -1
- package/package.json +14 -17
- package/po/ashkenazi.po +1 -12
- package/dist/eslint.config.d.mts +0 -83
- package/dist/eslint.config.mjs +0 -29
- package/dist/po2json.d.ts +0 -1
- package/dist/po2json.js +0 -40
- package/dist/src/CalOptions.d.ts +0 -171
- package/dist/src/CalOptions.js +0 -1
- package/dist/src/DailyLearning.d.ts +0 -69
- package/dist/src/DailyLearning.js +0 -92
- package/dist/src/HebrewDateEvent.d.ts +0 -37
- package/dist/src/HebrewDateEvent.js +0 -72
- package/dist/src/HolidayEvent.d.ts +0 -117
- package/dist/src/HolidayEvent.js +0 -236
- package/dist/src/MevarchimChodeshEvent.d.ts +0 -26
- package/dist/src/MevarchimChodeshEvent.js +0 -52
- package/dist/src/ParshaEvent.d.ts +0 -24
- package/dist/src/ParshaEvent.js +0 -50
- package/dist/src/TimedEvent.d.ts +0 -76
- package/dist/src/TimedEvent.js +0 -134
- package/dist/src/YomKippurKatanEvent.d.ts +0 -23
- package/dist/src/YomKippurKatanEvent.js +0 -40
- package/dist/src/ashkenazi.po.d.ts +0 -84
- package/dist/src/ashkenazi.po.js +0 -1
- package/dist/src/calendar.d.ts +0 -112
- package/dist/src/calendar.js +0 -721
- package/dist/src/candles.d.ts +0 -57
- package/dist/src/candles.js +0 -185
- package/dist/src/cities.json +0 -67
- package/dist/src/event.d.ts +0 -233
- package/dist/src/event.js +0 -295
- package/dist/src/getStartAndEnd.d.ts +0 -6
- package/dist/src/getStartAndEnd.js +0 -105
- package/dist/src/hallel.d.ts +0 -6
- package/dist/src/hallel.js +0 -39
- package/dist/src/he-x-NoNikud.po.d.ts +0 -28
- package/dist/src/he-x-NoNikud.po.js +0 -1
- package/dist/src/he.po.d.ts +0 -217
- package/dist/src/he.po.js +0 -1
- package/dist/src/hebcal.d.ts +0 -338
- package/dist/src/hebcal.js +0 -413
- package/dist/src/holidays.d.ts +0 -41
- package/dist/src/holidays.js +0 -324
- package/dist/src/index.d.ts +0 -30
- package/dist/src/index.js +0 -29
- package/dist/src/isAssurBemlacha.d.ts +0 -29
- package/dist/src/isAssurBemlacha.js +0 -82
- package/dist/src/isAveilut.d.ts +0 -22
- package/dist/src/isAveilut.js +0 -48
- package/dist/src/isFastDay.d.ts +0 -21
- package/dist/src/isFastDay.js +0 -31
- package/dist/src/locale.d.ts +0 -1
- package/dist/src/locale.js +0 -11
- package/dist/src/location.d.ts +0 -167
- package/dist/src/location.js +0 -342
- package/dist/src/modern.d.ts +0 -18
- package/dist/src/modern.js +0 -59
- package/dist/src/molad.d.ts +0 -164
- package/dist/src/molad.js +0 -298
- package/dist/src/moladBase.d.ts +0 -15
- package/dist/src/moladBase.js +0 -78
- package/dist/src/moladDate.d.ts +0 -12
- package/dist/src/moladDate.js +0 -58
- package/dist/src/omer.d.ts +0 -128
- package/dist/src/omer.js +0 -385
- package/dist/src/parshaName.d.ts +0 -2
- package/dist/src/parshaName.js +0 -13
- package/dist/src/parshaYear.d.ts +0 -20
- package/dist/src/parshaYear.js +0 -35
- package/dist/src/pkgVersion.d.ts +0 -2
- package/dist/src/pkgVersion.js +0 -2
- package/dist/src/reformatTimeStr.d.ts +0 -8
- package/dist/src/reformatTimeStr.js +0 -47
- package/dist/src/sedra.d.ts +0 -175
- package/dist/src/sedra.js +0 -563
- package/dist/src/sefira.json +0 -63
- package/dist/src/staticHolidays.d.ts +0 -192
- package/dist/src/staticHolidays.js +0 -637
- package/dist/src/string.d.ts +0 -2
- package/dist/src/string.js +0 -6
- package/dist/src/tachanun.d.ts +0 -29
- package/dist/src/tachanun.js +0 -120
- package/dist/src/zmanim.d.ts +0 -620
- package/dist/src/zmanim.js +0 -1003
- package/dist/version.d.ts +0 -1
- package/dist/version.js +0 -8
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Hebcal is a perpetual Jewish Calendar. This library converts between
|
|
4
4
|
Hebrew and Gregorian dates, and generates lists of Jewish holidays for
|
|
5
|
-
any year (past, present or future).
|
|
5
|
+
any year (past, present or future). Shabbat and holiday candle
|
|
6
6
|
lighting and havdalah times are approximated based on location. Torah
|
|
7
7
|
readings (Parashat HaShavua), Daf Yomi, and counting of the Omer can
|
|
8
8
|
also be specified. Hebcal also includes algorithms to calculate
|
|
@@ -79,10 +79,10 @@ console.log(reading.summary);
|
|
|
79
79
|
|
|
80
80
|
This package exports two categories of output:
|
|
81
81
|
|
|
82
|
-
- `dist/bundle.min.js`: This includes all dependencies in a single JS file.
|
|
83
|
-
- `dist/esm/`: This directory contains ES modules for each source file in the package.
|
|
82
|
+
- `dist/bundle.min.js`: This includes all dependencies in a single JS file. It's quite large (174KB minified), and should only be used if you aren't using a bundler.
|
|
83
|
+
- `dist/esm/`: This directory contains ES modules for each source file in the package. If you're using Rollup, Vite, or another bundler, you should import from here to reduce output sizes.
|
|
84
84
|
- These files do not include polyfills; if you want to support older browsers, use <https://github.com/rollup/plugins/tree/master/packages/babel#babelhelpers>
|
|
85
|
-
- To make tree-shaking work better, import from the most specific file possible; avoid importing from `index` or `hebcal`.
|
|
85
|
+
- To make tree-shaking work better, import from the most specific file possible; avoid importing from `index` or `hebcal`. Some APIs may still need to be moved to specific files. For example:
|
|
86
86
|
|
|
87
87
|
```ts
|
|
88
88
|
import {getHolidaysOnDate} from '@hebcal/core/dist/esm/holidays';
|
package/dist/bundle.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/*! @hebcal/core v6.
|
|
1
|
+
/*! @hebcal/core v6.7.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
var hebcal = (function (exports) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
5
5
|
/** DO NOT EDIT THIS AUTO-GENERATED FILE! */
|
|
6
|
-
const version = '6.
|
|
6
|
+
const version = '6.7.0';
|
|
7
7
|
|
|
8
|
-
/*! @hebcal/hdate v0.22.
|
|
8
|
+
/*! @hebcal/hdate v0.22.5, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
9
9
|
/** @private */
|
|
10
10
|
const lengths = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
11
11
|
/** @private */
|
|
@@ -161,7 +161,7 @@ function abs2greg(abs) {
|
|
|
161
161
|
return dt;
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
/*! @hebcal/hdate v0.22.
|
|
164
|
+
/*! @hebcal/hdate v0.22.5, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
165
165
|
|
|
166
166
|
/* eslint-disable @typescript-eslint/no-namespace */
|
|
167
167
|
/**
|
|
@@ -176,7 +176,7 @@ exports.greg.greg2abs = greg2abs;
|
|
|
176
176
|
exports.greg.isDate = isDate;
|
|
177
177
|
exports.greg.isLeapYear = isGregLeapYear;
|
|
178
178
|
|
|
179
|
-
/*! @hebcal/hdate v0.22.
|
|
179
|
+
/*! @hebcal/hdate v0.22.5, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
180
180
|
/**
|
|
181
181
|
* Removes niqqud from Hebrew string
|
|
182
182
|
* @example
|
|
@@ -184,12 +184,15 @@ exports.greg.isLeapYear = isGregLeapYear;
|
|
|
184
184
|
* hebrewStripNikkud('חֶשְׁוָן'); // 'חשון'
|
|
185
185
|
*/
|
|
186
186
|
function hebrewStripNikkud(str) {
|
|
187
|
+
if (typeof str !== 'string') {
|
|
188
|
+
throw new TypeError(`bad nikkud str: ${str}`);
|
|
189
|
+
}
|
|
187
190
|
const a = str.normalize();
|
|
188
191
|
// now strip out niqqud and trope
|
|
189
192
|
return a.replace(/[\u0590-\u05bd]/g, '').replace(/[\u05bf-\u05c7]/g, '');
|
|
190
193
|
}
|
|
191
194
|
|
|
192
|
-
/*! @hebcal/hdate v0.22.
|
|
195
|
+
/*! @hebcal/hdate v0.22.5, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
193
196
|
|
|
194
197
|
/*
|
|
195
198
|
* More minimal HDate
|
|
@@ -509,6 +512,9 @@ function monthFromName(monthName) {
|
|
|
509
512
|
}
|
|
510
513
|
return monthName;
|
|
511
514
|
}
|
|
515
|
+
if (typeof monthName !== 'string') {
|
|
516
|
+
throw new TypeError(`bad monthName: ${monthName}`);
|
|
517
|
+
}
|
|
512
518
|
let c = monthName.trim().toLowerCase();
|
|
513
519
|
// remove all niqud and trailing gershayim (for Adar Alef/Bet)
|
|
514
520
|
c = hebrewStripNikkud(c).replace(/׳$/, '');
|
|
@@ -617,7 +623,7 @@ function monthFromName(monthName) {
|
|
|
617
623
|
throw new RangeError(`bad monthName: ${monthName}`);
|
|
618
624
|
}
|
|
619
625
|
|
|
620
|
-
/*! @hebcal/hdate v0.22.
|
|
626
|
+
/*! @hebcal/hdate v0.22.5, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
621
627
|
|
|
622
628
|
const NISAN$4 = months.NISAN;
|
|
623
629
|
const CHESHVAN$1 = months.CHESHVAN;
|
|
@@ -769,7 +775,7 @@ function getBirthdayHD(hyear, date) {
|
|
|
769
775
|
return { yy: hyear, mm: month, dd: day };
|
|
770
776
|
}
|
|
771
777
|
|
|
772
|
-
/*! @hebcal/hdate v0.22.
|
|
778
|
+
/*! @hebcal/hdate v0.22.5, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
773
779
|
const GERESH = '׳';
|
|
774
780
|
const GERSHAYIM = '״';
|
|
775
781
|
const heb2num = {
|
|
@@ -869,6 +875,9 @@ function gematriya(num) {
|
|
|
869
875
|
* gematriyaStrToNum('ג׳תשס״א'); // 3761 (thousands prefix)
|
|
870
876
|
*/
|
|
871
877
|
function gematriyaStrToNum(str) {
|
|
878
|
+
if (typeof str !== 'string') {
|
|
879
|
+
throw new TypeError(`bad gematriya str: ${str}`);
|
|
880
|
+
}
|
|
872
881
|
let num = 0;
|
|
873
882
|
const gereshIdx = str.indexOf(GERESH);
|
|
874
883
|
if (gereshIdx !== -1 && gereshIdx !== str.length - 1) {
|
|
@@ -885,7 +894,7 @@ function gematriyaStrToNum(str) {
|
|
|
885
894
|
return num;
|
|
886
895
|
}
|
|
887
896
|
|
|
888
|
-
/*! @hebcal/hdate v0.22.
|
|
897
|
+
/*! @hebcal/hdate v0.22.5, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
889
898
|
/**
|
|
890
899
|
* Formats a number with leading zeros so the resulting string is 4 digits long.
|
|
891
900
|
* Similar to `string.padStart(4, '0')` but will also format
|
|
@@ -925,7 +934,7 @@ function pad2(num) {
|
|
|
925
934
|
return String(num);
|
|
926
935
|
}
|
|
927
936
|
|
|
928
|
-
/*! @hebcal/hdate v0.22.
|
|
937
|
+
/*! @hebcal/hdate v0.22.5, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
929
938
|
|
|
930
939
|
const _formatters = new Map();
|
|
931
940
|
/**
|
|
@@ -1007,13 +1016,13 @@ function isoDateString(dt) {
|
|
|
1007
1016
|
pad2(dt.getDate()));
|
|
1008
1017
|
}
|
|
1009
1018
|
|
|
1010
|
-
/*! @hebcal/hdate v0.22.
|
|
1019
|
+
/*! @hebcal/hdate v0.22.5, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
1011
1020
|
var poAshkenazi$1 = { "headers": { "plural-forms": "nplurals=2; plural=(n > 1);", "language": "und-x-ashkenaz" }, "contexts": { "": { "Tevet": ["Teves"] } } };
|
|
1012
1021
|
|
|
1013
|
-
/*! @hebcal/hdate v0.22.
|
|
1022
|
+
/*! @hebcal/hdate v0.22.5, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
1014
1023
|
var poHe$1 = { "headers": { "plural-forms": "nplurals=2; plural=(n > 1);", "language": "he" }, "contexts": { "": { "Adar": ["אֲדָר"], "Adar I": ["אֲדָר א׳"], "Adar II": ["אֲדָר ב׳"], "Av": ["אָב"], "Cheshvan": ["חֶשְׁוָן"], "Elul": ["אֱלוּל"], "Iyyar": ["אִיָּיר"], "Kislev": ["כִּסְלֵו"], "Nisan": ["נִיסָן"], "Sh'vat": ["שְׁבָט"], "Sivan": ["סִיוָן"], "Tamuz": ["תַּמּוּז"], "Tammuz": ["תַּמּוּז"], "Tevet": ["טֵבֵת"], "Tishrei": ["תִּשְׁרֵי"] } } };
|
|
1015
1024
|
|
|
1016
|
-
/*! @hebcal/hdate v0.22.
|
|
1025
|
+
/*! @hebcal/hdate v0.22.5, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
1017
1026
|
|
|
1018
1027
|
const noopLocale = {
|
|
1019
1028
|
headers: { 'plural-forms': 'nplurals=2; plural=(n!=1);' },
|
|
@@ -1250,7 +1259,7 @@ Locale.addLocale('he', poHe$1);
|
|
|
1250
1259
|
const poHeNoNikud$1 = Locale.copyLocaleNoNikud(poHe$1);
|
|
1251
1260
|
Locale.addLocale('he-x-NoNikud', poHeNoNikud$1);
|
|
1252
1261
|
|
|
1253
|
-
/*! @hebcal/hdate v0.22.
|
|
1262
|
+
/*! @hebcal/hdate v0.22.5, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
1254
1263
|
|
|
1255
1264
|
/*
|
|
1256
1265
|
Hebcal - A Jewish Calendar Generator
|
|
@@ -1812,6 +1821,9 @@ class HDate {
|
|
|
1812
1821
|
}
|
|
1813
1822
|
return month;
|
|
1814
1823
|
}
|
|
1824
|
+
if (typeof month !== 'string') {
|
|
1825
|
+
throw new TypeError(`bad monthNum: ${month}`);
|
|
1826
|
+
}
|
|
1815
1827
|
return month.charCodeAt(0) >= 48 && month.charCodeAt(0) <= 57 /* number */
|
|
1816
1828
|
? parseInt(month, 10)
|
|
1817
1829
|
: monthFromName(month);
|
|
@@ -1899,6 +1911,9 @@ class HDate {
|
|
|
1899
1911
|
* HDate.fromGematriyaString('ה׳ אִיָיר תש״ח') // 5 Iyyar 5708
|
|
1900
1912
|
*/
|
|
1901
1913
|
static fromGematriyaString(str, currentThousands = 5000) {
|
|
1914
|
+
if (typeof str !== 'string') {
|
|
1915
|
+
throw new TypeError(`bad gematriya str: ${str}`);
|
|
1916
|
+
}
|
|
1902
1917
|
const parts = str.split(' ').filter(x => x.length !== 0);
|
|
1903
1918
|
const numParts = parts.length;
|
|
1904
1919
|
if (numParts !== 3 && numParts !== 4) {
|
|
@@ -2019,7 +2034,7 @@ function onOrBefore(day, t, offset) {
|
|
|
2019
2034
|
return new HDate(HDate.dayOnOrBefore(day, t.abs() + offset));
|
|
2020
2035
|
}
|
|
2021
2036
|
|
|
2022
|
-
var poAshkenazi = { "headers": { "plural-forms": "nplurals=2; plural=(n > 1);", "language": "
|
|
2037
|
+
var poAshkenazi = { "headers": { "plural-forms": "nplurals=2; plural=(n > 1);", "language": "und-x-ashkenaz" }, "contexts": { "": { "Shabbat": ["Shabbos"], "Achrei Mot": ["Achrei Mos"], "Bechukotai": ["Bechukosai"], "Beha'alotcha": ["Beha’aloscha"], "Bereshit": ["Bereshis"], "Chukat": ["Chukas"], "Erev Shavuot": ["Erev Shavuos"], "Erev Sukkot": ["Erev Sukkos"], "Ki Tavo": ["Ki Savo"], "Ki Teitzei": ["Ki Seitzei"], "Ki Tisa": ["Ki Sisa"], "Matot": ["Matos"], "Pesach Shabbat Chol ha-Moed": ["Pesach Shabbos Chol ha-Moed"], "Purim Katan": ["Purim Koton"], "Rosh Hashana LaBehemot": ["Rosh Hashana LaBeheimos"], "Shabbat Chazon": ["Shabbos Chazon"], "Shabbat HaChodesh": ["Shabbos HaChodesh"], "Shabbat HaGadol": ["Shabbos HaGadol"], "Shabbat Nachamu": ["Shabbos Nachamu"], "Shabbat Parah": ["Shabbos Parah"], "Shabbat Shekalim": ["Shabbos Shekalim"], "Shabbat Shuva": ["Shabbos Shuvah"], "Shabbat Zachor": ["Shabbos Zachor"], "Shavuot": ["Shavuos"], "Shavuot I": ["Shavuos I"], "Shavuot II": ["Shavuos II"], "Shemot": ["Shemos"], "Shmini Atzeret": ["Shmini Atzeres"], "Simchat Torah": ["Simchas Torah"], "Sukkot": ["Sukkos"], "Sukkot I": ["Sukkos I"], "Sukkot II": ["Sukkos II"], "Sukkot II (CH''M)": ["Sukkos II (CH’’M)"], "Sukkot III (CH''M)": ["Sukkos III (CH’’M)"], "Sukkot IV (CH''M)": ["Sukkos IV (CH’’M)"], "Sukkot V (CH''M)": ["Sukkos V (CH’’M)"], "Sukkot VI (CH''M)": ["Sukkos VI (CH’’M)"], "Sukkot VII (Hoshana Raba)": ["Sukkos VII (Hoshana Raba)"], "Sukkot Shabbat Chol ha-Moed": ["Sukkos Shabbos Chol ha-Moed"], "Ta'anit Bechorot": ["Ta’anis Bechoros"], "Ta'anit BeHaB": ["Ta’anis BeHaB"], "Ta'anit Esther": ["Ta’anis Esther"], "Toldot": ["Toldos"], "Vaetchanan": ["Vaeschanan"], "Yitro": ["Yisro"], "Vezot Haberakhah": ["Vezos Haberakhah"], "Parashat": ["Parshas"], "Leil Selichot": ["Leil Selichos"], "Shabbat Mevarchim Chodesh": ["Shabbos Mevorchim Chodesh"], "Shabbat Shirah": ["Shabbos Shirah"], "Asara B'Tevet": ["Asara B’Teves"], "Birkat Hachamah": ["Birkas HaChamah"], "Birkat HaChamah": ["Birkas HaChamah"], "Shushan Purim Katan": ["Shushan Purim Koton"], "Alot HaShachar": ["Alos HaShachar"], "Misheyakir": ["Misheyakir"], "Misheyakir Machmir": ["Misheyakir Machmir"], "Sunrise": ["Sunrise"], "Kriat Shema, sof zeman": ["Krias Shema, sof zman"], "Tefilah, sof zeman": ["Tefilah, sof zman"], "Kriat Shema, sof zeman (MGA)": ["Krias Shema, sof zman (MGA)"], "Kriat Shema, sof zeman (GRA)": ["Krias Shema, sof zman (GRA)"], "Tefilah, sof zeman (MGA)": ["Tefilah, sof zman (MGA)"], "Tefilah, sof zeman (GRA)": ["Tefilah, sof zman (GRA)"], "Chatzot HaLailah": ["Chatzos HaLailah"], "Chatzot HaYom": ["Chatzos"], "Chatzot hayom": ["Chatzos"], "Mincha Gedolah": ["Mincha Gedolah"], "Mincha Ketanah": ["Mincha Ketanah"], "Plag HaMincha": ["Plag HaMincha"], "Sunset": ["Sunset"], "Bein HaShemashot": ["Bein HaShemashos"], "Tzeit HaKochavim": ["Tzeis HaKochavim"] } } };
|
|
2023
2038
|
|
|
2024
2039
|
var poHe = { "headers": { "plural-forms": "nplurals=2; plural=(n > 1);", "language": "he_IL" }, "contexts": { "": { "Shabbat": ["שַׁבָּת"], "Parashat": ["פָּרָשַׁת"], "Achrei Mot": ["אַחֲרֵי מוֹת"], "Balak": ["בָּלָק"], "Bamidbar": ["בְּמִדְבַּר"], "Bechukotai": ["בְּחֻקֹּתַי"], "Beha'alotcha": ["בְּהַעֲלֹתְךָ"], "Behar": ["בְּהַר"], "Bereshit": ["בְּרֵאשִׁית"], "Beshalach": ["בְּשַׁלַּח"], "Bo": ["בֹּא"], "Chayei Sara": ["חַיֵּי שָֹרָה"], "Chukat": ["חֻקַּת"], "Devarim": ["דְּבָרִים"], "Eikev": ["עֵקֶב"], "Emor": ["אֱמוֹר"], "Ha'azinu": ["הַאֲזִינוּ"], "Kedoshim": ["קְדֹשִׁים"], "Ki Tavo": ["כִּי־תָבוֹא"], "Ki Teitzei": ["כִּי־תֵצֵא"], "Ki Tisa": ["כִּי תִשָּׂא"], "Korach": ["קֹרַח"], "Lech-Lecha": ["לֶךְ־לְךָ"], "Masei": ["מַסְעֵי"], "Matot": ["מַטּוֹת"], "Metzora": ["מְצֹרָע"], "Miketz": ["מִקֵּץ"], "Mishpatim": ["מִשְׁפָּטִים"], "Nasso": ["נָשׂא"], "Nitzavim": ["נִצָּבִים"], "Noach": ["נֹחַ"], "Pekudei": ["פְקוּדֵי"], "Pinchas": ["פִּינְחָס"], "Re'eh": ["רְאֵה"], "Sh'lach": ["שְׁלַח־לְךָ"], "Shemot": ["שְׁמוֹת"], "Shmini": ["שְּׁמִינִי"], "Shoftim": ["שׁוֹפְטִים"], "Tazria": ["תַזְרִיעַ"], "Terumah": ["תְּרוּמָה"], "Tetzaveh": ["תְּצַוֶּה"], "Toldot": ["תּוֹלְדוֹת"], "Tzav": ["צַו"], "Vaera": ["וָאֵרָא"], "Vaetchanan": ["וָאֶתְחַנַּן"], "Vayakhel": ["וַיַּקְהֵל"], "Vayechi": ["וַיְחִי"], "Vayeilech": ["וַיֵּלֶךְ"], "Vayera": ["וַיֵּרָא"], "Vayeshev": ["וַיֵּשֶׁב"], "Vayetzei": ["וַיֵּצֵא"], "Vayigash": ["וַיִּגַּשׁ"], "Vayikra": ["וַיִּקְרָא"], "Vayishlach": ["וַיִּשְׁלַח"], "Vezot Haberakhah": ["וְזֹאת הַבְּרָכָה"], "Yitro": ["יִתְרוֹ"], "Asara B'Tevet": ["עֲשָׂרָה בְּטֵבֵת"], "Candle lighting": ["הַדְלָקַת נֵרוֹת"], "Chanukah": ["חֲנוּכָּה"], "Chanukah: 1 Candle": ["חֲנוּכָּה: א׳ נֵר"], "Chanukah: 2 Candles": ["חֲנוּכָּה: ב׳ נֵרוֹת"], "Chanukah: 3 Candles": ["חֲנוּכָּה: ג׳ נֵרוֹת"], "Chanukah: 4 Candles": ["חֲנוּכָּה: ד׳ נֵרוֹת"], "Chanukah: 5 Candles": ["חֲנוּכָּה: ה׳ נֵרוֹת"], "Chanukah: 6 Candles": ["חֲנוּכָּה: ו׳ נֵרוֹת"], "Chanukah: 7 Candles": ["חֲנוּכָּה: ז׳ נֵרוֹת"], "Chanukah: 8 Candles": ["חֲנוּכָּה: ח׳ נֵרוֹת"], "Chanukah: 8th Day": ["חֲנוּכָּה: יוֹם ח׳"], "Days of the Omer": ["סְפִירַת הָעוֹמֶר"], "Omer": ["עוֹמֶר"], "day of the Omer": ["בָּעוֹמֶר"], "Erev Pesach": ["עֶרֶב פֶּסַח"], "Erev Purim": ["עֶרֶב פּוּרִים"], "Erev Rosh Hashana": ["עֶרֶב רֹאשׁ הַשָּׁנָה"], "Erev Shavuot": ["עֶרֶב שָׁבוּעוֹת"], "Erev Simchat Torah": ["עֶרֶב שִׂמְחַת תּוֹרָה"], "Erev Sukkot": ["עֶרֶב סֻכּוֹת"], "Erev Tish'a B'Av": ["עֶרֶב תִּשְׁעָה בְּאָב"], "Erev Yom Kippur": ["עֶרֶב יוֹם כִּפּוּר"], "Havdalah": ["הַבְדָּלָה"], "Lag BaOmer": ["ל״ג בָּעוֹמֶר"], "Leil Selichot": ["סְלִיחוֹת"], "Pesach": ["פֶּסַח"], "Pesach I": ["פֶּסַח א׳"], "Pesach II": ["פֶּסַח ב׳"], "Pesach II (CH''M)": ["פֶּסַח ב׳ (חוה״מ)"], "Pesach III (CH''M)": ["פֶּסַח ג׳ (חוה״מ)"], "Pesach IV (CH''M)": ["פֶּסַח ד׳ (חוה״מ)"], "Pesach Sheni": ["פֶּסַח שֵׁנִי"], "Pesach V (CH''M)": ["פֶּסַח ה׳ (חוה״מ)"], "Pesach VI (CH''M)": ["פֶּסַח ו׳ (חוה״מ)"], "Pesach VII": ["פֶּסַח ז׳"], "Pesach VIII": ["פֶּסַח ח׳"], "Pesach Shabbat Chol ha-Moed": ["פֶּסַח שַׁבָּת חֹל הַמּוֹעֵד"], "Purim": ["פּוּרִים"], "Purim Katan": ["פּוּרִים קָטָן"], "Rosh Chodesh": ["רֹאשׁ חוֹדֶשׁ"], "Rosh Hashana": ["רֹאשׁ הַשָּׁנָה"], "Rosh Hashana I": ["רֹאשׁ הַשָּׁנָה א׳"], "Rosh Hashana II": ["רֹאשׁ הַשָּׁנָה ב׳"], "Shabbat Chazon": ["שַׁבַּת חֲזוֹן"], "Shabbat HaChodesh": ["שַׁבַּת הַחֹדֶשׁ"], "Shabbat HaGadol": ["שַׁבַּת הַגָּדוֹל"], "Shabbat Nachamu": ["שַׁבַּת נַחֲמוּ"], "Shabbat Parah": ["שַׁבַּת פָּרָה"], "Shabbat Shekalim": ["שַׁבַּת שְׁקָלִים"], "Shabbat Shuva": ["שַׁבַּת שׁוּבָה"], "Shabbat Zachor": ["שַׁבַּת זָכוֹר"], "Shavuot": ["שָׁבוּעוֹת"], "Shavuot I": ["שָׁבוּעוֹת א׳"], "Shavuot II": ["שָׁבוּעוֹת ב׳"], "Shmini Atzeret": ["שְׁמִינִי עֲצֶרֶת"], "Shushan Purim": ["שׁוּשָׁן פּוּרִים"], "Sigd": ["חַג הַסִּיגְד"], "Simchat Torah": ["שִׂמְחַת תּוֹרָה"], "Sukkot": ["סֻכּוֹת"], "Sukkot I": ["סֻכּוֹת א׳"], "Sukkot II": ["סֻכּוֹת ב׳"], "Sukkot II (CH''M)": ["סֻכּוֹת ב׳ (חוה״מ)"], "Sukkot III (CH''M)": ["סֻכּוֹת ג׳ (חוה״מ)"], "Sukkot IV (CH''M)": ["סֻכּוֹת ד׳ (חוה״מ)"], "Sukkot V (CH''M)": ["סֻכּוֹת ה׳ (חוה״מ)"], "Sukkot VI (CH''M)": ["סֻכּוֹת ו׳ (חוה״מ)"], "Sukkot VII (Hoshana Raba)": ["סֻכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"], "Sukkot Shabbat Chol ha-Moed": ["סֻכּוֹת שַׁבָּת חֹל הַמּוֹעֵד"], "Ta'anit Bechorot": ["תַּעֲנִית בְּכוֹרוֹת"], "Ta'anit BeHaB": ["תַּעֲנִית בה״ב"], "Ta'anit Esther": ["תַּעֲנִית אֶסְתֵּר"], "Tish'a B'Av": ["תִּשְׁעָה בְּאָב"], "Tu B'Av": ["ט״וּ בְּאָב"], "Tu BiShvat": ["ט״וּ בִּשְׁבָט"], "Tu B'Shvat": ["ט״וּ בִּשְׁבָט"], "Tzom Gedaliah": ["צוֹם גְּדַלְיָה"], "Tzom Tammuz": ["צוֹם י״ז בְּתַמּוּז"], "Yom HaAtzma'ut": ["יוֹם הָעַצְמָאוּת"], "Yom HaShoah": ["יוֹם הַשּׁוֹאָה"], "Yom HaZikaron": ["יוֹם הַזִּכָּרוֹן"], "Yom Kippur": ["יוֹם כִּפּוּר"], "Yom Yerushalayim": ["יוֹם יְרוּשָׁלַיִם"], "Yom HaAliyah": ["יוֹם הַעֲלִיָּה"], "Yom HaAliyah School Observance": ["שְׁמִירָת בֵּית הַסֵפֶר לְיוֹם הַעֲלִיָּה"], "Rosh Chodesh Adar": ["רֹאשׁ חוֹדֶשׁ אֲדָר"], "Rosh Chodesh Adar I": ["רֹאשׁ חוֹדֶשׁ אֲדָר א׳"], "Rosh Chodesh Adar II": ["רֹאשׁ חוֹדֶשׁ אֲדָר ב׳"], "Rosh Chodesh Av": ["רֹאשׁ חוֹדֶשׁ אָב"], "Rosh Chodesh Cheshvan": ["רֹאשׁ חוֹדֶשׁ חֶשְׁוָן"], "Rosh Chodesh Elul": ["רֹאשׁ חוֹדֶשׁ אֱלוּל"], "Rosh Chodesh Iyyar": ["רֹאשׁ חוֹדֶשׁ אִיָּיר"], "Rosh Chodesh Kislev": ["רֹאשׁ חוֹדֶשׁ כִּסְלֵו"], "Rosh Chodesh Nisan": ["רֹאשׁ חוֹדֶשׁ נִיסָן"], "Rosh Chodesh Sh'vat": ["רֹאשׁ חוֹדֶשׁ שְׁבָט"], "Rosh Chodesh Sivan": ["רֹאשׁ חוֹדֶשׁ סִיוָן"], "Rosh Chodesh Tamuz": ["רֹאשׁ חוֹדֶשׁ תַּמּוּז"], "Rosh Chodesh Tammuz": ["רֹאשׁ חוֹדֶשׁ תַּמּוּז"], "Rosh Chodesh Tevet": ["רֹאשׁ חוֹדֶשׁ טֵבֵת"], "min": ["דַּקּוֹת"], "Fast begins": ["תְּחִילַּת הַצוֹם"], "Fast ends": ["סִיּוּם הַצוֹם"], "Rosh Hashana LaBehemot": ["רֹאשׁ הַשָּׁנָה לְמַעְשַׂר בְּהֵמָה"], "Tish'a B'Av (observed)": ["(תִּשְׁעָה בְּאָב (נִדְחָה"], "Shabbat Mevarchim Chodesh": ["שַׁבַּת מְבָרְכִים חוֹדֶשׁ"], "Shabbat Shirah": ["שַׁבַּת שִׁירָה"], "Lovingkindness": ["חֶסֶד"], "Might": ["גְּבוּרָה"], "Beauty": ["תִּפְאֶרֶת"], "Eternity": ["נֶּצַח"], "Splendor": ["הוֹד"], "Foundation": ["יְּסוֹד"], "Majesty": ["מַּלְכוּת"], "day": ["יוֹם"], "Yom Kippur Katan": ["יוֹם כִּפּוּר קָטָן"], "Yizkor": ["יִזְכּוֹר"], "Family Day": ["יוֹם הַמִּשׁפָּחָה"], "Yitzhak Rabin Memorial Day": ["יוֹם הַזִּכָּרוֹן לְיִצְחָק רַבִּין"], "Jabotinsky Day": ["יוֹם זַ׳בּוֹטִינְסְקִי"], "Herzl Day": ["יוֹם הֶרְצְל"], "Ben-Gurion Day": ["יוֹם בֶּן־גּוּרִיּוֹן"], "Hebrew Language Day": ["יוֹם הַשָׂפָה הַעִברִית"], "Birkat Hachamah": ["בִּרְכַּת הַחַמָּה"], "Birkat HaChamah": ["בִּרְכַּת הַחַמָּה"], "Shushan Purim Katan": ["שׁוּשָׁן פּוּרִים קָטָן"], "Purim Meshulash": ["פּוּרִים מְשׁוּלָּשׁ"], "Chag HaBanot": ["חַג הַבָּנוֹת"], "Molad": ["מוֹלָד הָלְּבָנָה"], "chalakim": ["חֲלָקִים"], "Alot HaShachar": ["עֲלוֹת הַשַּׁחַר"], "Misheyakir": ["מִשֶּׁיַּכִּיר"], "Misheyakir Machmir": ["מִשֶּׁיַּכִּיר מַחְמִיר"], "Sunrise": ["נֵץ הַחַמָּה"], "Kriat Shema, sof zeman": ["סוֹף זְמַן קְרִיאַת שְׁמַע"], "Tefilah, sof zeman": ["סוֹף זְמַן תְּפִלָּה"], "Kriat Shema, sof zeman (MGA)": ["סוֹף זְמַן קְרִיאַת שְׁמַע (מג״א)"], "Kriat Shema, sof zeman (GRA)": ["סוֹף זְמַן קְרִיאַת שְׁמַע (גְּרָ״א)"], "Tefilah, sof zeman (MGA)": ["סוֹף זְמַן תְּפִלָּה (מג״א)"], "Tefilah, sof zeman (GRA)": ["סוֹף זְמַן תְּפִלָּה (גְּרָ״א)"], "Chatzot HaLailah": ["חֲצוֹת הַלַּיְלָה"], "Chatzot HaYom": ["חֲצוֹת הַיּוֹם"], "Chatzot hayom": ["חֲצוֹת הַיּוֹם"], "Mincha Gedolah": ["מִנְחָה גְּדוֹלָה"], "Mincha Ketanah": ["מִנְחָה קְטַנָּה"], "Plag HaMincha": ["פְּלַג הַמִּנְחָה"], "Sunset": ["שְׁקִיעַת הַחַמָּה"], "Bein HaShemashot": ["בֵּין הַשְּׁמָשׁוֹת"], "Tzeit HaKochavim": ["צֵאת הַכּוֹכָבִים"], "Biur Chametz": ["בִּעוּר חָמֵץ"], "Finish eating chametz": ["סוֹף זְמַן אֲכִילַת חָמֵץ"] } } };
|
|
2025
2040
|
|
|
@@ -10155,8 +10170,7 @@ class Zmanim {
|
|
|
10155
10170
|
if (isNaN(date.getTime())) {
|
|
10156
10171
|
return '0000-00-00T00:00:00Z';
|
|
10157
10172
|
}
|
|
10158
|
-
return (getPseudoISO(tzid, date).substring(0, 19) +
|
|
10159
|
-
Zmanim.timeZoneOffset(tzid, date));
|
|
10173
|
+
return (getPseudoISO(tzid, date).substring(0, 19) + Zmanim.timeZoneOffset(tzid, date));
|
|
10160
10174
|
}
|
|
10161
10175
|
/**
|
|
10162
10176
|
* Returns sunrise + `offset` minutes (either positive or negative).
|
|
@@ -10614,6 +10628,67 @@ class Sedra {
|
|
|
10614
10628
|
il: this.il,
|
|
10615
10629
|
};
|
|
10616
10630
|
}
|
|
10631
|
+
/**
|
|
10632
|
+
* Returns details about the parsha read on Monday or Thursday for `hd`, or
|
|
10633
|
+
* `undefined` if `hd` is not a Monday or Thursday.
|
|
10634
|
+
*
|
|
10635
|
+
* Weekday Torah readings generally begin the upcoming Shabbat parsha. When
|
|
10636
|
+
* the upcoming Shabbat is a holiday, this method returns the next regular
|
|
10637
|
+
* parsha instead.
|
|
10638
|
+
*
|
|
10639
|
+
* For the Tishrei weekdays before Sukkot or Simchat Torah, the weekday
|
|
10640
|
+
* reading is *Vezot Haberakhah* even though it is not read on Shabbat.
|
|
10641
|
+
* @param hd Hebrew date or R.D. days
|
|
10642
|
+
*/
|
|
10643
|
+
lookupWeekday(hd) {
|
|
10644
|
+
const abs = typeof hd === 'number' ? hd : HDate.isHDate(hd) ? hd.abs() : NaN;
|
|
10645
|
+
if (isNaN(abs)) {
|
|
10646
|
+
throw new TypeError(`Bad date argument: ${hd}`);
|
|
10647
|
+
}
|
|
10648
|
+
else if (abs < this.rh) {
|
|
10649
|
+
throw new RangeError(`Date ${hd} before start of Hebrew year ${this.year}`);
|
|
10650
|
+
}
|
|
10651
|
+
const hdate = new HDate(abs);
|
|
10652
|
+
const day = hdate.getDay();
|
|
10653
|
+
if (day !== 1 && day !== 4) {
|
|
10654
|
+
return undefined;
|
|
10655
|
+
}
|
|
10656
|
+
const saturday = new HDate(HDate.dayOnOrBefore(6, abs + 6));
|
|
10657
|
+
const parsha = this.lookup(saturday);
|
|
10658
|
+
if (!parsha.chag) {
|
|
10659
|
+
return parsha;
|
|
10660
|
+
}
|
|
10661
|
+
return this.findWeekdayParsha(saturday);
|
|
10662
|
+
}
|
|
10663
|
+
findWeekdayParsha(saturday) {
|
|
10664
|
+
const hyear = saturday.getFullYear();
|
|
10665
|
+
const il = this.il;
|
|
10666
|
+
if (saturday.getMonth() === months.TISHREI) {
|
|
10667
|
+
const dd = saturday.getDate();
|
|
10668
|
+
const simchatTorah = il ? 22 : 23;
|
|
10669
|
+
if (dd > 2 && dd <= simchatTorah) {
|
|
10670
|
+
return {
|
|
10671
|
+
parsha: ['Vezot Haberakhah'],
|
|
10672
|
+
chag: false,
|
|
10673
|
+
num: 54,
|
|
10674
|
+
hdate: saturday,
|
|
10675
|
+
il,
|
|
10676
|
+
};
|
|
10677
|
+
}
|
|
10678
|
+
}
|
|
10679
|
+
const sedra = hyear === this.year ? this : getSedra(hyear, il);
|
|
10680
|
+
const endOfYear = new HDate(1, months.TISHREI, hyear + 1).abs() - 1;
|
|
10681
|
+
const endAbs = endOfYear + 30;
|
|
10682
|
+
for (let sat2 = saturday.abs() + 7; sat2 <= endAbs; sat2 += 7) {
|
|
10683
|
+
const sedra2 = sat2 > endOfYear ? getSedra(hyear + 1, il) : sedra;
|
|
10684
|
+
const parsha2 = sedra2.lookup(sat2);
|
|
10685
|
+
if (!parsha2.chag) {
|
|
10686
|
+
return parsha2;
|
|
10687
|
+
}
|
|
10688
|
+
}
|
|
10689
|
+
/* NOTREACHED */
|
|
10690
|
+
throw new Error(`can't find weekday parsha for ${saturday}/${il}`);
|
|
10691
|
+
}
|
|
10617
10692
|
}
|
|
10618
10693
|
/**
|
|
10619
10694
|
* The 54 parshiyot of the Torah as transilterated strings.
|
|
@@ -12385,6 +12460,56 @@ function makeCandleEvent(ev, hd, options, isFriday, isSaturday) {
|
|
|
12385
12460
|
}
|
|
12386
12461
|
const FAST_BEGINS = holidayDesc.FAST_BEGINS;
|
|
12387
12462
|
const FAST_ENDS = holidayDesc.FAST_ENDS;
|
|
12463
|
+
/**
|
|
12464
|
+
* Tzeit HaKochavim as calculated by Rabbi Yechiel Michel Tucazinsky,
|
|
12465
|
+
* 6.45° below geometric zenith. Default end time for Tish'a B'Av.
|
|
12466
|
+
* @private
|
|
12467
|
+
*/
|
|
12468
|
+
const TZEIT_TUCAZINSKY = 6.45;
|
|
12469
|
+
/**
|
|
12470
|
+
* Observation of 3 medium-sized stars, 7.0833333° below geometric zenith.
|
|
12471
|
+
* Default end time for minor fasts in the Diaspora.
|
|
12472
|
+
* @private
|
|
12473
|
+
*/
|
|
12474
|
+
const TZEIT_3MEDIUM_STARS = 7.0833333;
|
|
12475
|
+
/**
|
|
12476
|
+
* Minutes after sunset that minor fasts (including Yom Kippur Katan) end in
|
|
12477
|
+
* Israel by default, following Rabbi Deblitzky's practice.
|
|
12478
|
+
* @see {https://www.yeshiva.org.il/calendar/timeprinciples}
|
|
12479
|
+
* @private
|
|
12480
|
+
*/
|
|
12481
|
+
const MINOR_FAST_END_MINUTES_IL = 15;
|
|
12482
|
+
/**
|
|
12483
|
+
* Computes the "Fast ends" time for a fast day.
|
|
12484
|
+
*
|
|
12485
|
+
* Tish'a B'Av always ends at tzeit 6.45° (Rabbi Yechiel Michel Tucazinsky),
|
|
12486
|
+
* regardless of `options`.
|
|
12487
|
+
*
|
|
12488
|
+
* For minor fasts: when `options.fastEndMins` is a nonzero number, the fast
|
|
12489
|
+
* ends that many minutes after sunset; otherwise, when `options.fastEndDeg` is
|
|
12490
|
+
* a nonzero number, the fast ends at tzeit for that solar depression angle.
|
|
12491
|
+
* When neither is specified, the default depends on `options.il`:
|
|
12492
|
+
* - In Israel, minor fasts end 15 minutes after sunset (Rabbi Deblitzky's practice).
|
|
12493
|
+
* - Elsewhere, minor fasts end at tzeit 7.083° (3 medium-sized stars).
|
|
12494
|
+
* @private
|
|
12495
|
+
*/
|
|
12496
|
+
function makeFastEndTime(zmanim, isTishaBav, options) {
|
|
12497
|
+
if (isTishaBav) {
|
|
12498
|
+
return zmanim.tzeit(TZEIT_TUCAZINSKY);
|
|
12499
|
+
}
|
|
12500
|
+
const fastEndMins = options.fastEndMins;
|
|
12501
|
+
if (typeof fastEndMins === 'number' && fastEndMins !== 0) {
|
|
12502
|
+
return zmanim.sunsetOffset(Math.abs(fastEndMins), true);
|
|
12503
|
+
}
|
|
12504
|
+
const fastEndDeg = options.fastEndDeg;
|
|
12505
|
+
if (typeof fastEndDeg === 'number' && fastEndDeg !== 0) {
|
|
12506
|
+
return zmanim.tzeit(Math.abs(fastEndDeg));
|
|
12507
|
+
}
|
|
12508
|
+
if (options.il) {
|
|
12509
|
+
return zmanim.sunsetOffset(MINOR_FAST_END_MINUTES_IL, true);
|
|
12510
|
+
}
|
|
12511
|
+
return zmanim.tzeit(TZEIT_3MEDIUM_STARS);
|
|
12512
|
+
}
|
|
12388
12513
|
/**
|
|
12389
12514
|
* A fast day holiday with attached start and end time events.
|
|
12390
12515
|
*
|
|
@@ -12393,9 +12518,14 @@ const FAST_ENDS = holidayDesc.FAST_ENDS;
|
|
|
12393
12518
|
* {@link TimedEvent}. Generated by {@link HebrewCalendar.calendar} when
|
|
12394
12519
|
* `options.candlelighting` is `true` and `options.location` is provided.
|
|
12395
12520
|
*
|
|
12396
|
-
* - Minor fasts begin at *Alot HaShachar*
|
|
12397
|
-
*
|
|
12398
|
-
* -
|
|
12521
|
+
* - Minor fasts (including Yom Kippur Katan) begin at *Alot HaShachar*
|
|
12522
|
+
* (16.1° below horizon in the morning). By default they end at tzeit
|
|
12523
|
+
* 7.083° (3 medium-sized stars) in the Diaspora, or 15 minutes after
|
|
12524
|
+
* sunset in Israel (Rabbi Deblitzky's practice). This can be overridden
|
|
12525
|
+
* via `options.fastEndDeg` or `options.fastEndMins`.
|
|
12526
|
+
* - Tish'a B'Av begins at sunset on the previous day and always ends at tzeit
|
|
12527
|
+
* 6.45° below horizon (Rabbi Yechiel Michel Tucazinsky), regardless of
|
|
12528
|
+
* `options.fastEndDeg` / `options.fastEndMins`.
|
|
12399
12529
|
* - When a minor fast falls on a Friday, the end time is suppressed
|
|
12400
12530
|
* (Shabbat begins before nightfall).
|
|
12401
12531
|
*/
|
|
@@ -12437,7 +12567,6 @@ function makeFastStartEnd(ev, options) {
|
|
|
12437
12567
|
const hd = ev.getDate();
|
|
12438
12568
|
const dt = hd.greg();
|
|
12439
12569
|
const location = options.location;
|
|
12440
|
-
const fastEndDeg = options.fastEndDeg;
|
|
12441
12570
|
const useElevation = Boolean(options.useElevation);
|
|
12442
12571
|
const zmanim = new Zmanim(location, dt, useElevation);
|
|
12443
12572
|
let startEvent;
|
|
@@ -12449,9 +12578,9 @@ function makeFastStartEnd(ev, options) {
|
|
|
12449
12578
|
}
|
|
12450
12579
|
}
|
|
12451
12580
|
else if (desc.startsWith("Tish'a B'Av")) {
|
|
12452
|
-
const
|
|
12453
|
-
if (!isNaN(
|
|
12454
|
-
endEvent = makeTimedEvent(ev,
|
|
12581
|
+
const fastEnd = makeFastEndTime(zmanim, true, options);
|
|
12582
|
+
if (!isNaN(fastEnd.getTime())) {
|
|
12583
|
+
endEvent = makeTimedEvent(ev, fastEnd, FAST_ENDS, options);
|
|
12455
12584
|
}
|
|
12456
12585
|
}
|
|
12457
12586
|
else {
|
|
@@ -12461,9 +12590,9 @@ function makeFastStartEnd(ev, options) {
|
|
|
12461
12590
|
}
|
|
12462
12591
|
if (dt.getDay() !== 5 &&
|
|
12463
12592
|
!(hd.getDate() === 14 && hd.getMonth() === months.NISAN)) {
|
|
12464
|
-
const
|
|
12465
|
-
if (!isNaN(
|
|
12466
|
-
endEvent = makeTimedEvent(ev,
|
|
12593
|
+
const fastEnd = makeFastEndTime(zmanim, false, options);
|
|
12594
|
+
if (!isNaN(fastEnd.getTime())) {
|
|
12595
|
+
endEvent = makeTimedEvent(ev, fastEnd, FAST_ENDS, options);
|
|
12467
12596
|
}
|
|
12468
12597
|
}
|
|
12469
12598
|
}
|
|
@@ -13030,6 +13159,19 @@ function renderParshaName(parsha, locale) {
|
|
|
13030
13159
|
*/
|
|
13031
13160
|
class ParshaEvent extends Event {
|
|
13032
13161
|
constructor(parsha) {
|
|
13162
|
+
// eslint-disable-next-line prefer-rest-params
|
|
13163
|
+
if (arguments.length !== 1) {
|
|
13164
|
+
throw new TypeError(`ParshaEvent constructor takes a single SedraResult argument; ` +
|
|
13165
|
+
`got ${arguments.length} arguments`);
|
|
13166
|
+
}
|
|
13167
|
+
if (typeof parsha !== 'object' ||
|
|
13168
|
+
parsha === null ||
|
|
13169
|
+
!Array.isArray(parsha.parsha) ||
|
|
13170
|
+
parsha.parsha.length === 0 ||
|
|
13171
|
+
parsha.parsha.length > 2 ||
|
|
13172
|
+
!HDate.isHDate(parsha.hdate)) {
|
|
13173
|
+
throw new TypeError(`Invalid SedraResult argument: ${JSON.stringify(parsha)}`);
|
|
13174
|
+
}
|
|
13033
13175
|
const desc = 'Parashat ' + parsha.parsha.join('-');
|
|
13034
13176
|
super(parsha.hdate, desc, flags.PARSHA_HASHAVUA);
|
|
13035
13177
|
this.p = parsha;
|
|
@@ -13049,10 +13191,7 @@ class ParshaEvent extends Event {
|
|
|
13049
13191
|
return undefined;
|
|
13050
13192
|
}
|
|
13051
13193
|
const dt = this.urlDateSuffix();
|
|
13052
|
-
const url = 'https://www.hebcal.com/sedrot/' +
|
|
13053
|
-
urlFriendly(this.basename()) +
|
|
13054
|
-
'-' +
|
|
13055
|
-
dt;
|
|
13194
|
+
const url = 'https://www.hebcal.com/sedrot/' + urlFriendly(this.basename()) + '-' + dt;
|
|
13056
13195
|
return this.p.il ? url + '?i=on' : url;
|
|
13057
13196
|
}
|
|
13058
13197
|
urlDateSuffix() {
|
|
@@ -13555,10 +13694,7 @@ function calendar(options = {}) {
|
|
|
13555
13694
|
const mm = hd.getMonth();
|
|
13556
13695
|
const dd = hd.getDate();
|
|
13557
13696
|
// When Erev Pesach falls on Shabbat, burning chametz is moved to Friday.
|
|
13558
|
-
if (isFriday &&
|
|
13559
|
-
options.candlelighting &&
|
|
13560
|
-
mm === months.NISAN &&
|
|
13561
|
-
dd === 13) {
|
|
13697
|
+
if (isFriday && options.candlelighting && mm === months.NISAN && dd === 13) {
|
|
13562
13698
|
const biurEv = makeBiurChametzEvent(hd, options);
|
|
13563
13699
|
if (biurEv) {
|
|
13564
13700
|
evts.push(biurEv);
|
|
@@ -13678,6 +13814,7 @@ const RECOGNIZED_OPTIONS = {
|
|
|
13678
13814
|
havdalahMins: 1,
|
|
13679
13815
|
havdalahDeg: 1,
|
|
13680
13816
|
fastEndDeg: 1,
|
|
13817
|
+
fastEndMins: 1,
|
|
13681
13818
|
sedrot: 1,
|
|
13682
13819
|
il: 1,
|
|
13683
13820
|
noMinorFast: 1,
|
|
@@ -13705,8 +13842,7 @@ const RECOGNIZED_OPTIONS = {
|
|
|
13705
13842
|
*/
|
|
13706
13843
|
function warnUnrecognizedOptions(options) {
|
|
13707
13844
|
for (const k of Object.keys(options)) {
|
|
13708
|
-
if (RECOGNIZED_OPTIONS[k] === undefined &&
|
|
13709
|
-
!unrecognizedAlreadyWarned.has(k)) {
|
|
13845
|
+
if (RECOGNIZED_OPTIONS[k] === undefined && !unrecognizedAlreadyWarned.has(k)) {
|
|
13710
13846
|
console.warn(`Ignoring unrecognized HebrewCalendar option: ${k}`);
|
|
13711
13847
|
unrecognizedAlreadyWarned.add(k);
|
|
13712
13848
|
}
|
|
@@ -13744,15 +13880,6 @@ const geoIdCandleOffset = {
|
|
|
13744
13880
|
* @see {https://kosherjava.com/zmanim/docs/api/com/kosherjava/zmanim/ZmanimCalendar.html#ZENITH_8_POINT_5}
|
|
13745
13881
|
*/
|
|
13746
13882
|
const TZEIT_3SMALL_STARS = 8.5;
|
|
13747
|
-
/**
|
|
13748
|
-
* @private
|
|
13749
|
-
* @constant
|
|
13750
|
-
* This calculation is based on observation of 3 medium sized stars by Dr. Baruch Cohen
|
|
13751
|
-
* in his calendar published in in 1899 in Strasbourg, France.
|
|
13752
|
-
* This calculates to 7.0833333° below geometric zenith.
|
|
13753
|
-
* @see {https://kosherjava.com/zmanim/docs/api/com/kosherjava/zmanim/ComplexZmanimCalendar.html#ZENITH_7_POINT_083}
|
|
13754
|
-
*/
|
|
13755
|
-
const TZEIT_3MEDIUM_STARS = 7.0833333;
|
|
13756
13883
|
/**
|
|
13757
13884
|
* Modifies options in-place
|
|
13758
13885
|
* @private
|
|
@@ -13769,6 +13896,10 @@ function checkCandleOptions(options) {
|
|
|
13769
13896
|
typeof options.havdalahDeg === 'number') {
|
|
13770
13897
|
throw new TypeError('options.havdalahMins and options.havdalahDeg are mutually exclusive');
|
|
13771
13898
|
}
|
|
13899
|
+
if (typeof options.fastEndDeg === 'number' &&
|
|
13900
|
+
typeof options.fastEndMins === 'number') {
|
|
13901
|
+
throw new TypeError('options.fastEndDeg and options.fastEndMins are mutually exclusive');
|
|
13902
|
+
}
|
|
13772
13903
|
const min0 = options.candleLightingMins;
|
|
13773
13904
|
let min = typeof min0 === 'number' && !isNaN(min0) ? Math.trunc(min0) : 18;
|
|
13774
13905
|
if (location.getIsrael() && Math.abs(min) === 18) {
|
|
@@ -13784,8 +13915,11 @@ function checkCandleOptions(options) {
|
|
|
13784
13915
|
else {
|
|
13785
13916
|
options.havdalahDeg = TZEIT_3SMALL_STARS;
|
|
13786
13917
|
}
|
|
13787
|
-
if (typeof options.fastEndDeg
|
|
13788
|
-
options.fastEndDeg =
|
|
13918
|
+
if (typeof options.fastEndDeg === 'number') {
|
|
13919
|
+
options.fastEndDeg = Math.abs(options.fastEndDeg);
|
|
13920
|
+
}
|
|
13921
|
+
if (typeof options.fastEndMins === 'number') {
|
|
13922
|
+
options.fastEndMins = Math.trunc(Math.abs(options.fastEndMins));
|
|
13789
13923
|
}
|
|
13790
13924
|
}
|
|
13791
13925
|
function overrideIsraelCandleMins(location, min) {
|
|
@@ -13992,8 +14126,7 @@ function appendHolidayAndRelated(candlesEv, events, ev, options, isFriday, isSat
|
|
|
13992
14126
|
events.push(ev); // the original event itself
|
|
13993
14127
|
}
|
|
13994
14128
|
}
|
|
13995
|
-
if ((isMajorFast || (isMinorFast && !options.noMinorFast)) &&
|
|
13996
|
-
fastEv?.endEvent) {
|
|
14129
|
+
if ((isMajorFast || (isMinorFast && !options.noMinorFast)) && fastEv?.endEvent) {
|
|
13997
14130
|
events.push(fastEv.endEvent);
|
|
13998
14131
|
}
|
|
13999
14132
|
return candlesEv;
|