@hebcal/leyning 8.2.7 → 8.2.9
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 +60 -37
- package/dist/bundle.min.js +2 -2
- package/dist/common.d.ts +9 -1
- package/dist/getLeyningOnDate.d.ts +2 -1
- package/dist/he.po.d.ts +61 -0
- package/dist/holiday-readings.json.d.ts +67 -0
- package/dist/index.cjs +60 -37
- package/dist/index.d.ts +1 -0
- package/dist/index.mjs +61 -39
- package/dist/locale.d.ts +1 -0
- package/dist/module.d.ts +12 -3
- package/package.json +20 -13
package/dist/bundle.js
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
/*! @hebcal/leyning v8.2.
|
|
1
|
+
/*! @hebcal/leyning v8.2.9 */
|
|
2
2
|
var hebcal__leyning = (function (exports, core) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
5
|
+
var poHe = { "headers": { "plural-forms": "nplurals=2; plural=(n > 1);" }, "contexts": { "": { "Shabbat Machar Chodesh": ["שַׁבָּת מָחָר חוֹדֶשׁ"], "Shabbat Rosh Chodesh": ["שַׁבָּת רֹאשׁ חוֹדֶשׁ"], "Pesach I (on Shabbat)": ["פֶּסַח יוֹם א׳ (בְּשַׁבָּת)"], "Pesach Chol ha-Moed Day 1": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם א׳"], "Pesach Chol ha-Moed Day 2": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳"], "Pesach Chol ha-Moed Day 2 on Sunday": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳ (בְּיוֹם רִאשׁוֹן)"], "Pesach Chol ha-Moed Day 3": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳"], "Pesach Chol ha-Moed Day 3 on Monday": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳ (בְּיוֹם שָׁנִי)"], "Pesach Chol ha-Moed Day 4": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ד׳"], "Pesach Chol ha-Moed Day 5": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ה׳"], "Pesach Shabbat Chol ha-Moed": ["פֶּסַח שַׁבָּת חוֹל הַמּוֹעֵד"], "Pesach VII (on Shabbat)": ["פֶּסַח ז׳ (בְּשַׁבָּת)"], "Pesach VIII (on Shabbat)": ["פֶּסַח ח׳ (בְּשַׁבָּת)"], "Shavuot II (on Shabbat)": ["שָׁבוּעוֹת יוֹם ב׳ (בְּשַׁבָּת)"], "Rosh Hashana I (on Shabbat)": ["רֹאשׁ הַשָּׁנָה יוֹם א׳ (בְּשַׁבָּת)"], "Yom Kippur (on Shabbat)": ["יוֹם כִּפּוּר (בְּשַׁבָּת)"], "Yom Kippur (Mincha, Traditional)": ["יוֹם כִּפּוּר מִנחָה"], "Yom Kippur (Mincha, Alternate)": ["יוֹם כִּפּוּר מִנחָה"], "Sukkot I (on Shabbat)": ["סוּכּוֹת יוֹם א׳ (בְּשַׁבָּת)"], "Sukkot Chol ha-Moed Day 1": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם א׳"], "Sukkot Chol ha-Moed Day 2": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ב׳"], "Sukkot Chol ha-Moed Day 3": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ג׳"], "Sukkot Chol ha-Moed Day 4": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ד׳"], "Sukkot Chol ha-Moed Day 5": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ה׳"], "Sukkot Shabbat Chol ha-Moed": ["סוּכּוֹת שַׁבָּת חוֹל הַמּוֹעֵד"], "Sukkot Final Day (Hoshana Raba)": ["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"], "Shmini Atzeret (on Shabbat)": ["שְׁמִינִי עֲצֶרֶת (בְּשַׁבָּת)"], "Chanukah Day 1": ["חֲנוּכָּה יוֹם א׳"], "Chanukah Day 2": ["חֲנוּכָּה יוֹם ב׳"], "Chanukah Day 3": ["חֲנוּכָּה יוֹם ג׳"], "Chanukah Day 4": ["חֲנוּכָּה יוֹם ד׳"], "Chanukah Day 5": ["חֲנוּכָּה יוֹם ה׳"], "Chanukah Day 6": ["חֲנוּכָּה יוֹם ו׳"], "Chanukah Day 7": ["חֲנוּכָּה יוֹם ז׳"], "Chanukah Day 7 (on Rosh Chodesh)": ["חֲנוּכָּה יוֹם ז׳ (רֹאשׁ חוֹדֶשׁ)"], "Chanukah Day 8": ["חֲנוּכָּה יוֹם ח׳"], "Chanukah Day 1 (on Shabbat)": ["חֲנוּכָּה יוֹם א׳ (בְּשַׁבָּת)"], "Chanukah Day 2 (on Shabbat)": ["חֲנוּכָּה יוֹם ב׳ (בְּשַׁבָּת)"], "Chanukah Day 3 (on Shabbat)": ["חֲנוּכָּה יוֹם ג׳ (בְּשַׁבָּת)"], "Chanukah Day 4 (on Shabbat)": ["חֲנוּכָּה יוֹם ד׳ (בְּשַׁבָּת)"], "Chanukah Day 5 (on Shabbat)": ["חֲנוּכָּה יוֹם ה׳ (בְּשַׁבָּת)"], "Chanukah Day 7 (on Shabbat)": ["חֲנוּכָּה יוֹם ז׳ (בְּשַׁבָּת)"], "Chanukah Day 8 (on Shabbat)": ["חֲנוּכָּה יוֹם ח׳ (בְּשַׁבָּת)"], "Shabbat Rosh Chodesh Chanukah": ["שַׁבָּת רֹאשׁ חוֹדֶשׁ חֲנוּכָּה"], "Yom Kippur (Mincha)": ["יוֹם כִּפּוּר מִנחָה"], "Tish'a B'Av (Mincha)": ["תִּשְׁעָה בְּאָב מִנחָה"], "Asara B'Tevet (Mincha)": ["עֲשָׂרָה בְּטֵבֵת מִנחָה"], "Ta'anit Bechorot (Mincha)": ["תַּעֲנִית בְּכוֹרוֹת מִנחָה"], "Ta'anit Esther (Mincha)": ["תַּעֲנִית אֶסְתֵּר מִנחָה"], "Tzom Gedaliah (Mincha)": ["צוֹם גְּדַלְיָה מִנחָה"], "Tzom Tammuz (Mincha)": ["צוֹם תָּמוּז מִנחָה"] } } };
|
|
6
|
+
|
|
7
|
+
core.Locale.addTranslations('he', poHe);
|
|
8
|
+
core.Locale.addTranslations('h', poHe);
|
|
9
|
+
const heStrs = poHe.contexts[''];
|
|
10
|
+
const heNoNikud = {};
|
|
11
|
+
for (const [key, val] of Object.entries(heStrs)) {
|
|
12
|
+
heNoNikud[key] = [core.Locale.hebrewStripNikkud(val[0])];
|
|
13
|
+
}
|
|
14
|
+
const poHeNoNikud = {
|
|
15
|
+
headers: poHe.headers,
|
|
16
|
+
contexts: { '': heNoNikud },
|
|
17
|
+
};
|
|
18
|
+
core.Locale.addTranslations('he-x-NoNikud', poHeNoNikud);
|
|
19
|
+
|
|
5
20
|
var numverses = {
|
|
6
21
|
"Genesis": [0,
|
|
7
22
|
31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33,
|
|
@@ -62,6 +77,11 @@ const BOOK = [
|
|
|
62
77
|
'Numbers',
|
|
63
78
|
'Deuteronomy',
|
|
64
79
|
];
|
|
80
|
+
/**
|
|
81
|
+
* The number of verses in each book of the Tanakh.
|
|
82
|
+
* @readonly
|
|
83
|
+
*/
|
|
84
|
+
const NUM_VERSES = numverses;
|
|
65
85
|
/**
|
|
66
86
|
* Formats parsha as a string
|
|
67
87
|
* @param parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
@@ -76,7 +96,7 @@ function parshaToString(parsha) {
|
|
|
76
96
|
throw new TypeError(`Bad parsha argument: ${parsha}`);
|
|
77
97
|
}
|
|
78
98
|
let s = parsha[0];
|
|
79
|
-
if (parsha.length
|
|
99
|
+
if (parsha.length === 2) {
|
|
80
100
|
s += '-' + parsha[1];
|
|
81
101
|
}
|
|
82
102
|
return s;
|
|
@@ -100,7 +120,7 @@ function calculateNumVerses(aliyah) {
|
|
|
100
120
|
aliyah.v = v2 - v1 + 1;
|
|
101
121
|
}
|
|
102
122
|
else if (typeof aliyah.k === 'string') {
|
|
103
|
-
const numv =
|
|
123
|
+
const numv = NUM_VERSES[aliyah.k];
|
|
104
124
|
if (typeof numv !== 'object' || !numv.length) {
|
|
105
125
|
throw new ReferenceError(`Can't find numverses for ${aliyah.k}`);
|
|
106
126
|
}
|
|
@@ -342,6 +362,7 @@ var festivals0 = { "Pesach I": {
|
|
|
342
362
|
"M": { "p": 41, "k": 4, "b": "28:19", "e": "28:25" } }
|
|
343
363
|
},
|
|
344
364
|
"Pesach VII (on Shabbat)": {
|
|
365
|
+
"megillah": "Song of Songs",
|
|
345
366
|
"haft": { "k": "II Samuel", "b": "22:1", "e": "22:51" },
|
|
346
367
|
"fullkriyah": { "1": { "p": 16, "k": 2, "b": "13:17", "e": "13:19" },
|
|
347
368
|
"2": { "p": 16, "k": 2, "b": "13:20", "e": "13:22" },
|
|
@@ -362,6 +383,7 @@ var festivals0 = { "Pesach I": {
|
|
|
362
383
|
"M": { "p": 41, "k": 4, "b": "28:19", "e": "28:25" } }
|
|
363
384
|
},
|
|
364
385
|
"Pesach VIII (on Shabbat)": {
|
|
386
|
+
"megillah": "Song of Songs",
|
|
365
387
|
"haft": { "k": "Isaiah", "b": "10:32", "e": "12:6" },
|
|
366
388
|
"fullkriyah": { "1": { "p": 47, "k": 5, "b": "14:22", "e": "14:29" },
|
|
367
389
|
"2": { "p": 47, "k": 5, "b": "15:1", "e": "15:18" },
|
|
@@ -611,6 +633,7 @@ var festivals0 = { "Pesach I": {
|
|
|
611
633
|
"M": { "p": 41, "k": 4, "b": "29:35", "e": "30:1" } }
|
|
612
634
|
},
|
|
613
635
|
"Shmini Atzeret (on Shabbat)": {
|
|
636
|
+
"megillah": "Ecclesiastes",
|
|
614
637
|
"haft": { "k": "I Kings", "b": "8:54", "e": "8:66" },
|
|
615
638
|
"fullkriyah": { "1": { "p": 47, "k": 5, "b": "14:22", "e": "14:29" },
|
|
616
639
|
"2": { "p": 47, "k": 5, "b": "15:1", "e": "15:18" },
|
|
@@ -637,6 +660,19 @@ var festivals0 = { "Pesach I": {
|
|
|
637
660
|
"7": { "p": 1, "k": 1, "b": "1:1", "e": "2:3" },
|
|
638
661
|
"M": { "p": 41, "k": 4, "b": "29:35", "e": "30:1" } }
|
|
639
662
|
},
|
|
663
|
+
"Simchat Torah (on Shabbat)": {
|
|
664
|
+
"megillah": "Ecclesiastes",
|
|
665
|
+
"haft": { "k": "Joshua", "b": "1:1", "e": "1:18" },
|
|
666
|
+
"fullkriyah": { "1": { "p": 54, "k": 5, "b": "33:1", "e": "33:7" },
|
|
667
|
+
"2": { "p": 54, "k": 5, "b": "33:8", "e": "33:12" },
|
|
668
|
+
"3": { "p": 54, "k": 5, "b": "33:13", "e": "33:17" },
|
|
669
|
+
"4": { "p": 54, "k": 5, "b": "33:18", "e": "33:21" },
|
|
670
|
+
"5": { "p": 54, "k": 5, "b": "33:22", "e": "33:26" },
|
|
671
|
+
"6": { "p": 54, "k": 5, "b": "33:27", "e": "33:29" },
|
|
672
|
+
"7": { "p": 54, "k": 5, "b": "34:1", "e": "34:12" },
|
|
673
|
+
"8": { "p": 1, "k": 1, "b": "1:1", "e": "2:3" },
|
|
674
|
+
"M": { "p": 41, "k": 4, "b": "29:35", "e": "30:1" } }
|
|
675
|
+
},
|
|
640
676
|
"Shabbat Rosh Chodesh Chanukah": {
|
|
641
677
|
"haft": { "k": "Zechariah", "b": "2:14", "e": "4:7" },
|
|
642
678
|
"fullkriyah": { "7": { "p": 41, "k": 4, "b": "28:9", "e": "28:15" },
|
|
@@ -926,8 +962,8 @@ function getLeyningKeyForEvent(ev, il = false) {
|
|
|
926
962
|
const day = hd.getDate();
|
|
927
963
|
const dow = hd.abs() % 7;
|
|
928
964
|
const month = hd.getMonth();
|
|
929
|
-
const isShabbat = dow
|
|
930
|
-
const isRoshChodesh = day
|
|
965
|
+
const isShabbat = dow === 6;
|
|
966
|
+
const isRoshChodesh = day === 1 || day === 30;
|
|
931
967
|
const holiday = ev.basename();
|
|
932
968
|
const isPesach = holiday === 'Pesach';
|
|
933
969
|
if (il && isPesach) {
|
|
@@ -938,7 +974,7 @@ function getLeyningKeyForEvent(ev, il = false) {
|
|
|
938
974
|
}
|
|
939
975
|
return desc;
|
|
940
976
|
}
|
|
941
|
-
if (day
|
|
977
|
+
if (day === 1 && month === core.months.TISHREI) {
|
|
942
978
|
return isShabbat ? 'Rosh Hashana I (on Shabbat)' : 'Rosh Hashana I';
|
|
943
979
|
}
|
|
944
980
|
const cholHaMoedDay = ev.cholHaMoedDay;
|
|
@@ -947,7 +983,7 @@ function getLeyningKeyForEvent(ev, il = false) {
|
|
|
947
983
|
if (isShabbat) {
|
|
948
984
|
return holiday + ' Shabbat Chol ha-Moed';
|
|
949
985
|
}
|
|
950
|
-
else if (desc
|
|
986
|
+
else if (desc === 'Sukkot VII (Hoshana Raba)') {
|
|
951
987
|
return 'Sukkot Final Day (Hoshana Raba)';
|
|
952
988
|
}
|
|
953
989
|
if (isPesach && cholHaMoedDay) {
|
|
@@ -965,7 +1001,7 @@ function getLeyningKeyForEvent(ev, il = false) {
|
|
|
965
1001
|
if (isShabbat && isRoshChodesh) {
|
|
966
1002
|
return 'Shabbat Rosh Chodesh Chanukah';
|
|
967
1003
|
}
|
|
968
|
-
else if (isRoshChodesh && chanukahDay
|
|
1004
|
+
else if (isRoshChodesh && chanukahDay === 7) {
|
|
969
1005
|
return 'Chanukah Day 7 (on Rosh Chodesh)';
|
|
970
1006
|
}
|
|
971
1007
|
else if (isShabbat) {
|
|
@@ -976,16 +1012,16 @@ function getLeyningKeyForEvent(ev, il = false) {
|
|
|
976
1012
|
}
|
|
977
1013
|
}
|
|
978
1014
|
if (isRoshChodesh &&
|
|
979
|
-
(desc
|
|
1015
|
+
(desc === 'Shabbat HaChodesh' || desc === 'Shabbat Shekalim')) {
|
|
980
1016
|
return desc + ' (on Rosh Chodesh)';
|
|
981
1017
|
}
|
|
982
|
-
if (il && desc
|
|
983
|
-
return 'Simchat Torah';
|
|
1018
|
+
if (il && desc === 'Shmini Atzeret') {
|
|
1019
|
+
return 'Simchat Torah' + (isShabbat ? ' (on Shabbat)' : '');
|
|
984
1020
|
}
|
|
985
1021
|
if (desc === 'Chag HaBanot') {
|
|
986
1022
|
return undefined;
|
|
987
1023
|
}
|
|
988
|
-
if (isShabbat && 'Shabbat'
|
|
1024
|
+
if (isShabbat && 'Shabbat' !== desc.substring(0, 7)) {
|
|
989
1025
|
if (isRoshChodesh) {
|
|
990
1026
|
if (desc === 'Rosh Chodesh Tevet') {
|
|
991
1027
|
return 'Shabbat Rosh Chodesh Chanukah';
|
|
@@ -1214,13 +1250,15 @@ function getLeyningForHolidayKey(key, cholHaMoedDay, il) {
|
|
|
1214
1250
|
leyning.sephardic = makeSummaryFromParts(seph);
|
|
1215
1251
|
leyning.sephardicNumV = sumVerses(seph);
|
|
1216
1252
|
}
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1253
|
+
let megillah = src.megillah;
|
|
1254
|
+
if (il && key === 'Pesach I (on Shabbat)')
|
|
1255
|
+
megillah = 'Song of Songs';
|
|
1256
|
+
if (megillah) {
|
|
1257
|
+
const chaps = NUM_VERSES[megillah];
|
|
1220
1258
|
const m = {};
|
|
1221
1259
|
for (let i = 1; i < chaps.length; i++) {
|
|
1222
1260
|
const numv = chaps[i];
|
|
1223
|
-
m[`${i}`] = { k:
|
|
1261
|
+
m[`${i}`] = { k: megillah, b: `${i}:1`, e: `${i}:${numv}`, v: numv };
|
|
1224
1262
|
}
|
|
1225
1263
|
leyning.megillah = m;
|
|
1226
1264
|
}
|
|
@@ -2548,10 +2586,10 @@ const parshiyotObj = parshiyotObj0;
|
|
|
2548
2586
|
*/
|
|
2549
2587
|
function getHaftaraKey(parsha) {
|
|
2550
2588
|
const first = parsha[0];
|
|
2551
|
-
if (parsha.length === 2 && first
|
|
2589
|
+
if (parsha.length === 2 && first === 'Achrei Mot') {
|
|
2552
2590
|
return parshaToString(parsha); // 'Achrei Mot-Kedoshim'
|
|
2553
2591
|
}
|
|
2554
|
-
if (parsha.length === 1 || first
|
|
2592
|
+
if (parsha.length === 1 || first === 'Nitzavim') {
|
|
2555
2593
|
return first;
|
|
2556
2594
|
}
|
|
2557
2595
|
else {
|
|
@@ -2657,7 +2695,7 @@ function getLeyningForParshaHaShavua(ev, il = false) {
|
|
|
2657
2695
|
if (typeof ev !== 'object' || typeof ev.getFlags !== 'function') {
|
|
2658
2696
|
throw new TypeError(`Bad event argument: ${ev}`);
|
|
2659
2697
|
}
|
|
2660
|
-
else if (ev.getFlags()
|
|
2698
|
+
else if (ev.getFlags() !== core.flags.PARSHA_HASHAVUA) {
|
|
2661
2699
|
throw new TypeError(`Event must be parsha hashavua: ${ev.getDesc()}`);
|
|
2662
2700
|
}
|
|
2663
2701
|
// first, collect the default aliyot and haftara
|
|
@@ -2751,6 +2789,7 @@ function findParshaHaShavua(saturday, il) {
|
|
|
2751
2789
|
parsha: ['Vezot Haberakhah'],
|
|
2752
2790
|
chag: false,
|
|
2753
2791
|
num: 54,
|
|
2792
|
+
hdate: saturday,
|
|
2754
2793
|
};
|
|
2755
2794
|
}
|
|
2756
2795
|
}
|
|
@@ -2767,23 +2806,6 @@ function findParshaHaShavua(saturday, il) {
|
|
|
2767
2806
|
/* NOTREACHED */
|
|
2768
2807
|
throw new Error(`can't findParshaHaShavua for ${saturday}/${il}`);
|
|
2769
2808
|
}
|
|
2770
|
-
/**
|
|
2771
|
-
* Looks up leyning for a regular Shabbat, Monday/Thursday weekday or holiday.
|
|
2772
|
-
*
|
|
2773
|
-
* If `hdate` coincides with a holiday that has Torah reading, returns the
|
|
2774
|
-
* reading for that day (see {@link getLeyningForHoliday})
|
|
2775
|
-
*
|
|
2776
|
-
* Otherwise, if `hdate` is a Saturday, returns {@link getLeyningForParshaHaShavua}
|
|
2777
|
-
*
|
|
2778
|
-
* Otherwise, if `hdate` is a Monday or Thursday, returns {@link Leyning} for the
|
|
2779
|
-
* Parashat haShavua, containing only the `weekday` aliyot (no `fullkriyah`).
|
|
2780
|
-
*
|
|
2781
|
-
* Otherwise, returns `undefined`.
|
|
2782
|
-
*
|
|
2783
|
-
* @param {HDate} hdate Hebrew Date
|
|
2784
|
-
* @param {boolean} il in Israel
|
|
2785
|
-
* @param {boolean} [wantarray] to return an array of 0 or more readings
|
|
2786
|
-
*/
|
|
2787
2809
|
function getLeyningOnDate(hdate, il, wantarray = false) {
|
|
2788
2810
|
const dow = hdate.getDay();
|
|
2789
2811
|
const arr = [];
|
|
@@ -2972,7 +2994,7 @@ function getFullKriyahLines(reading) {
|
|
|
2972
2994
|
if (reading.fullkriyah) {
|
|
2973
2995
|
for (const [num, a] of Object.entries(reading.fullkriyah)) {
|
|
2974
2996
|
if (typeof a !== 'undefined') {
|
|
2975
|
-
const k = num
|
|
2997
|
+
const k = num === 'M' ? 'maf' : num;
|
|
2976
2998
|
let aliyah = formatAliyahWithBook(a);
|
|
2977
2999
|
if ((_a = reading.reason) === null || _a === void 0 ? void 0 : _a[num]) {
|
|
2978
3000
|
aliyah += ' | ' + reading.reason[num];
|
|
@@ -3016,6 +3038,7 @@ function getFullKriyahLines(reading) {
|
|
|
3016
3038
|
}
|
|
3017
3039
|
|
|
3018
3040
|
exports.BOOK = BOOK;
|
|
3041
|
+
exports.NUM_VERSES = NUM_VERSES;
|
|
3019
3042
|
exports.calculateNumVerses = calculateNumVerses;
|
|
3020
3043
|
exports.clone = clone;
|
|
3021
3044
|
exports.cloneHaftara = cloneHaftara;
|