@hebcal/leyning 8.2.9 → 9.0.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/dist/bundle.js +1660 -2155
- package/dist/bundle.min.js +2 -2
- package/dist/esm/aliyot.json.js +4 -0
- package/dist/esm/calculateHaftarahNumVerses.d.ts +1 -0
- package/dist/esm/clone.d.ts +12 -0
- package/dist/esm/clone.js +32 -0
- package/dist/esm/common.d.ts +33 -0
- package/dist/esm/common.js +94 -0
- package/dist/esm/csv.d.ts +14 -0
- package/dist/esm/festival.d.ts +9 -0
- package/dist/esm/festival.js +42 -0
- package/dist/esm/getLeyningForHoliday.d.ts +17 -0
- package/dist/esm/getLeyningForHoliday.js +106 -0
- package/dist/esm/getLeyningKeyForEvent.d.ts +9 -0
- package/dist/esm/getLeyningKeyForEvent.js +141 -0
- package/dist/esm/getLeyningOnDate.d.ts +21 -0
- package/dist/esm/getLeyningOnDate.js +134 -0
- package/dist/esm/he.po.d.ts +61 -0
- package/dist/esm/he.po.js +4 -0
- package/dist/esm/holiday-readings.json.js +4 -0
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/internalTypes.d.ts +20 -0
- package/dist/esm/leyning.d.ts +30 -0
- package/dist/esm/leyning.js +203 -0
- package/dist/esm/locale.d.ts +2 -0
- package/dist/esm/locale.js +17 -0
- package/dist/esm/numverses.json.js +4 -0
- package/dist/esm/specialReadings.d.ts +15 -0
- package/dist/esm/specialReadings.js +142 -0
- package/dist/esm/summary.d.ts +18 -0
- package/dist/esm/summary.js +83 -0
- package/dist/esm/types.d.ts +130 -0
- package/dist/getLeyningForHoliday.d.ts +1 -1
- package/dist/getLeyningKeyForEvent.d.ts +1 -1
- package/dist/getLeyningOnDate.d.ts +1 -1
- package/dist/index.cjs +47 -2147
- package/dist/index.d.ts +1 -2
- package/dist/leyning.d.ts +1 -1
- package/dist/locale.d.ts +2 -1
- package/dist/specialReadings.d.ts +1 -1
- package/package.json +21 -13
- package/dist/aliyot.json.d.ts +0 -1570
- package/dist/holiday-readings.json.d.ts +0 -2703
- package/dist/index.mjs +0 -3039
- package/dist/module.d.ts +0 -325
- package/dist/numverses.json.d.ts +0 -36
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
headers: {
|
|
3
|
+
"plural-forms": string;
|
|
4
|
+
};
|
|
5
|
+
contexts: {
|
|
6
|
+
"": {
|
|
7
|
+
"Shabbat Machar Chodesh": string[];
|
|
8
|
+
"Shabbat Rosh Chodesh": string[];
|
|
9
|
+
"Pesach I (on Shabbat)": string[];
|
|
10
|
+
"Pesach Chol ha-Moed Day 1": string[];
|
|
11
|
+
"Pesach Chol ha-Moed Day 2": string[];
|
|
12
|
+
"Pesach Chol ha-Moed Day 2 on Sunday": string[];
|
|
13
|
+
"Pesach Chol ha-Moed Day 3": string[];
|
|
14
|
+
"Pesach Chol ha-Moed Day 3 on Monday": string[];
|
|
15
|
+
"Pesach Chol ha-Moed Day 4": string[];
|
|
16
|
+
"Pesach Chol ha-Moed Day 5": string[];
|
|
17
|
+
"Pesach Shabbat Chol ha-Moed": string[];
|
|
18
|
+
"Pesach VII (on Shabbat)": string[];
|
|
19
|
+
"Pesach VIII (on Shabbat)": string[];
|
|
20
|
+
"Shavuot II (on Shabbat)": string[];
|
|
21
|
+
"Rosh Hashana I (on Shabbat)": string[];
|
|
22
|
+
"Yom Kippur (on Shabbat)": string[];
|
|
23
|
+
"Yom Kippur (Mincha, Traditional)": string[];
|
|
24
|
+
"Yom Kippur (Mincha, Alternate)": string[];
|
|
25
|
+
"Sukkot I (on Shabbat)": string[];
|
|
26
|
+
"Sukkot Chol ha-Moed Day 1": string[];
|
|
27
|
+
"Sukkot Chol ha-Moed Day 2": string[];
|
|
28
|
+
"Sukkot Chol ha-Moed Day 3": string[];
|
|
29
|
+
"Sukkot Chol ha-Moed Day 4": string[];
|
|
30
|
+
"Sukkot Chol ha-Moed Day 5": string[];
|
|
31
|
+
"Sukkot Shabbat Chol ha-Moed": string[];
|
|
32
|
+
"Sukkot Final Day (Hoshana Raba)": string[];
|
|
33
|
+
"Shmini Atzeret (on Shabbat)": string[];
|
|
34
|
+
"Chanukah Day 1": string[];
|
|
35
|
+
"Chanukah Day 2": string[];
|
|
36
|
+
"Chanukah Day 3": string[];
|
|
37
|
+
"Chanukah Day 4": string[];
|
|
38
|
+
"Chanukah Day 5": string[];
|
|
39
|
+
"Chanukah Day 6": string[];
|
|
40
|
+
"Chanukah Day 7": string[];
|
|
41
|
+
"Chanukah Day 7 (on Rosh Chodesh)": string[];
|
|
42
|
+
"Chanukah Day 8": string[];
|
|
43
|
+
"Chanukah Day 1 (on Shabbat)": string[];
|
|
44
|
+
"Chanukah Day 2 (on Shabbat)": string[];
|
|
45
|
+
"Chanukah Day 3 (on Shabbat)": string[];
|
|
46
|
+
"Chanukah Day 4 (on Shabbat)": string[];
|
|
47
|
+
"Chanukah Day 5 (on Shabbat)": string[];
|
|
48
|
+
"Chanukah Day 7 (on Shabbat)": string[];
|
|
49
|
+
"Chanukah Day 8 (on Shabbat)": string[];
|
|
50
|
+
"Shabbat Rosh Chodesh Chanukah": string[];
|
|
51
|
+
"Yom Kippur (Mincha)": string[];
|
|
52
|
+
"Tish'a B'Av (Mincha)": string[];
|
|
53
|
+
"Asara B'Tevet (Mincha)": string[];
|
|
54
|
+
"Ta'anit Bechorot (Mincha)": string[];
|
|
55
|
+
"Ta'anit Esther (Mincha)": string[];
|
|
56
|
+
"Tzom Gedaliah (Mincha)": string[];
|
|
57
|
+
"Tzom Tammuz (Mincha)": string[];
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export default _default;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*! @hebcal/leyning v9.0.0 */
|
|
2
|
+
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)": ["צוֹם תָּמוּז מִנחָה"] } } };
|
|
3
|
+
|
|
4
|
+
export { poHe as default };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*! @hebcal/leyning v9.0.0 */
|
|
2
|
+
const Shavuot={note:"Israel only",il:true,megillah:"Ruth",haft:[{k:"Ezekiel",b:"1:1",e:"1:28"},{k:"Ezekiel",b:"3:12",e:"3:12"}],fullkriyah:{"1":{p:17,k:2,b:"19:1",e:"19:6"},"2":{p:17,k:2,b:"19:7",e:"19:13"},"3":{p:17,k:2,b:"19:14",e:"19:19"},"4":{p:17,k:2,b:"19:20",e:"20:14"},"5":{p:17,k:2,b:"20:15",e:"20:23"},M:{p:41,k:4,b:"28:26",e:"28:31"}}};const Purim={megillah:"Esther",fullkriyah:{"1":{p:16,k:2,b:"17:8",e:"17:10"},"2":{p:16,k:2,b:"17:11",e:"17:13"},"3":{p:16,k:2,b:"17:14",e:"17:16"}}};var festivals0 = {"Pesach I":{haft:[{k:"Joshua",b:"3:5",e:"3:7"},{k:"Joshua",b:"5:2",e:"6:1"},{k:"Joshua",b:"6:27",e:"6:27"}],seph:[{k:"Joshua",b:"5:2",e:"6:1"},{k:"Joshua",b:"6:27",e:"6:27"}],fullkriyah:{"1":{p:15,k:2,b:"12:21",e:"12:24"},"2":{p:15,k:2,b:"12:25",e:"12:28"},"3":{p:15,k:2,b:"12:29",e:"12:36"},"4":{p:15,k:2,b:"12:37",e:"12:42"},"5":{p:15,k:2,b:"12:43",e:"12:51"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach I (on Shabbat)":{haft:[{k:"Joshua",b:"3:5",e:"3:7"},{k:"Joshua",b:"5:2",e:"6:1"},{k:"Joshua",b:"6:27",e:"6:27"}],seph:[{k:"Joshua",b:"5:2",e:"6:1"},{k:"Joshua",b:"6:27",e:"6:27"}],fullkriyah:{"1":{p:15,k:2,b:"12:21",e:"12:24"},"2":{p:15,k:2,b:"12:25",e:"12:28"},"3":{p:15,k:2,b:"12:29",e:"12:32"},"4":{p:15,k:2,b:"12:33",e:"12:36"},"5":{p:15,k:2,b:"12:37",e:"12:42"},"6":{p:15,k:2,b:"12:43",e:"12:47"},"7":{p:15,k:2,b:"12:48",e:"12:51"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach II":{haft:[{k:"II Kings",b:"23:1",e:"23:9"},{k:"II Kings",b:"23:21",e:"23:25"}],fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach II (CH''M)":{note:"Israel only - according to Vaani T'fillati Siddur Yisraeli",il:true,fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:8"},"2":{p:31,k:3,b:"23:9",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:44"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 1":{fullkriyah:{"1":{p:15,k:2,b:"13:1",e:"13:4"},"2":{p:15,k:2,b:"13:5",e:"13:10"},"3":{p:15,k:2,b:"13:11",e:"13:16"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 2":{fullkriyah:{"1":{p:18,k:2,b:"22:24",e:"22:26"},"2":{p:18,k:2,b:"22:27",e:"23:5"},"3":{p:18,k:2,b:"23:6",e:"23:19"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 3":{fullkriyah:{"1":{p:21,k:2,b:"34:1",e:"34:10"},"2":{p:21,k:2,b:"34:11",e:"34:17"},"3":{p:21,k:2,b:"34:18",e:"34:26"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 4":{fullkriyah:{"1":{p:36,k:4,b:"9:1",e:"9:5"},"2":{p:36,k:4,b:"9:6",e:"9:8"},"3":{p:36,k:4,b:"9:9",e:"9:14"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Shabbat Chol ha-Moed":{megillah:"Song of Songs",haft:{k:"Ezekiel",b:"37:1",e:"37:14"},fullkriyah:{"1":{p:21,k:2,b:"33:12",e:"33:16"},"2":{p:21,k:2,b:"33:17",e:"33:19"},"3":{p:21,k:2,b:"33:20",e:"33:23"},"4":{p:21,k:2,b:"34:1",e:"34:3"},"5":{p:21,k:2,b:"34:4",e:"34:10"},"6":{p:21,k:2,b:"34:11",e:"34:17"},"7":{p:21,k:2,b:"34:18",e:"34:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VII":{haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":{p:16,k:2,b:"13:17",e:"13:22"},"2":{p:16,k:2,b:"14:1",e:"14:8"},"3":{p:16,k:2,b:"14:9",e:"14:14"},"4":{p:16,k:2,b:"14:15",e:"14:25"},"5":{p:16,k:2,b:"14:26",e:"15:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VII (on Shabbat)":{megillah:"Song of Songs",haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":{p:16,k:2,b:"13:17",e:"13:19"},"2":{p:16,k:2,b:"13:20",e:"13:22"},"3":{p:16,k:2,b:"14:1",e:"14:4"},"4":{p:16,k:2,b:"14:5",e:"14:8"},"5":{p:16,k:2,b:"14:9",e:"14:14"},"6":{p:16,k:2,b:"14:15",e:"14:25"},"7":{p:16,k:2,b:"14:26",e:"15:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VIII":{haft:{k:"Isaiah",b:"10:32",e:"12:6"},fullkriyah:{"1":{p:47,k:5,b:"15:19",e:"15:23"},"2":{p:47,k:5,b:"16:1",e:"16:3"},"3":{p:47,k:5,b:"16:4",e:"16:8"},"4":{p:47,k:5,b:"16:9",e:"16:12"},"5":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VIII (on Shabbat)":{megillah:"Song of Songs",haft:{k:"Isaiah",b:"10:32",e:"12:6"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach III (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 1"},"Pesach IV (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 2"},"Pesach V (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 3"},"Pesach VI (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 4"},"Pesach Chol ha-Moed Day 2 on Sunday":{alias:true,il:false,key:"Pesach Chol ha-Moed Day 1"},"Pesach Chol ha-Moed Day 3 on Monday":{alias:true,il:false,key:"Pesach Chol ha-Moed Day 2"},Shavuot:Shavuot,"Shavuot I":{haft:[{k:"Ezekiel",b:"1:1",e:"1:28"},{k:"Ezekiel",b:"3:12",e:"3:12"}],fullkriyah:{"1":{p:17,k:2,b:"19:1",e:"19:6"},"2":{p:17,k:2,b:"19:7",e:"19:13"},"3":{p:17,k:2,b:"19:14",e:"19:19"},"4":{p:17,k:2,b:"19:20",e:"20:14"},"5":{p:17,k:2,b:"20:15",e:"20:23"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Shavuot II":{megillah:"Ruth",haft:{k:"Habakkuk",b:"3:1",e:"3:19"},seph:{k:"Habakkuk",b:"2:20",e:"3:19"},fullkriyah:{"1":{p:47,k:5,b:"15:19",e:"15:23"},"2":{p:47,k:5,b:"16:1",e:"16:3"},"3":{p:47,k:5,b:"16:4",e:"16:8"},"4":{p:47,k:5,b:"16:9",e:"16:12"},"5":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Shavuot II (on Shabbat)":{megillah:"Ruth",haft:{k:"Habakkuk",b:"3:1",e:"3:19"},seph:{k:"Habakkuk",b:"2:20",e:"3:19"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Fast Day (Morning)":{fullkriyah:{"1":{p:21,k:2,b:"32:11",e:"32:14"},"2":{p:21,k:2,b:"34:1",e:"34:3"},"3":{p:21,k:2,b:"34:4",e:"34:10"}}},"Fast Day (Afternoon)":{haft:{k:"Isaiah",b:"55:6",e:"56:8"},fullkriyah:{"1":{p:21,k:2,b:"32:11",e:"32:14"},"2":{p:21,k:2,b:"34:1",e:"34:3"},M:{p:21,k:2,b:"34:4",e:"34:10"}}},"Asara B'Tevet":{alias:true,key:"Fast Day (Morning)"},"Ta'anit Esther":{alias:true,key:"Fast Day (Morning)"},"Tzom Gedaliah":{alias:true,key:"Fast Day (Morning)"},"Tzom Tammuz":{alias:true,key:"Fast Day (Morning)"},"Asara B'Tevet (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Ta'anit Esther (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Tzom Gedaliah (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Tzom Tammuz (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Erev Tish'a B'Av":{megillah:"Lamentations"},"Tish'a B'Av":{haft:{k:"Jeremiah",b:"8:13",e:"9:23"},fullkriyah:{"1":{p:45,k:5,b:"4:25",e:"4:29"},"2":{p:45,k:5,b:"4:30",e:"4:35"},"3":{p:45,k:5,b:"4:36",e:"4:40"}}},"Tish'a B'Av (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Rosh Hashana I":{haft:{k:"I Samuel",b:"1:1",e:"2:10"},fullkriyah:{"1":{p:4,k:1,b:"21:1",e:"21:4"},"2":{p:4,k:1,b:"21:5",e:"21:12"},"3":{p:4,k:1,b:"21:13",e:"21:21"},"4":{p:4,k:1,b:"21:22",e:"21:27"},"5":{p:4,k:1,b:"21:28",e:"21:34"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Rosh Hashana I (on Shabbat)":{haft:{k:"I Samuel",b:"1:1",e:"2:10"},fullkriyah:{"1":{p:4,k:1,b:"21:1",e:"21:4"},"2":{p:4,k:1,b:"21:5",e:"21:8"},"3":{p:4,k:1,b:"21:9",e:"21:12"},"4":{p:4,k:1,b:"21:13",e:"21:17"},"5":{p:4,k:1,b:"21:18",e:"21:21"},"6":{p:4,k:1,b:"21:22",e:"21:27"},"7":{p:4,k:1,b:"21:28",e:"21:34"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Rosh Hashana II":{haft:{k:"Jeremiah",b:"31:2",e:"31:20",note:"labeled 31:1–19 in some books"},fullkriyah:{"1":{p:4,k:1,b:"22:1",e:"22:3"},"2":{p:4,k:1,b:"22:4",e:"22:8"},"3":{p:4,k:1,b:"22:9",e:"22:14"},"4":{p:4,k:1,b:"22:15",e:"22:19"},"5":{p:4,k:1,b:"22:20",e:"22:24"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Yom Kippur":{haft:{k:"Isaiah",b:"57:14",e:"58:14"},fullkriyah:{"1":{p:29,k:3,b:"16:1",e:"16:6"},"2":{p:29,k:3,b:"16:7",e:"16:11"},"3":{p:29,k:3,b:"16:12",e:"16:17"},"4":{p:29,k:3,b:"16:18",e:"16:24"},"5":{p:29,k:3,b:"16:25",e:"16:30"},"6":{p:29,k:3,b:"16:31",e:"16:34"},M:{p:41,k:4,b:"29:7",e:"29:11"}}},"Yom Kippur (on Shabbat)":{haft:{k:"Isaiah",b:"57:14",e:"58:14"},fullkriyah:{"1":{p:29,k:3,b:"16:1",e:"16:3"},"2":{p:29,k:3,b:"16:4",e:"16:6"},"3":{p:29,k:3,b:"16:7",e:"16:11"},"4":{p:29,k:3,b:"16:12",e:"16:17"},"5":{p:29,k:3,b:"16:18",e:"16:24"},"6":{p:29,k:3,b:"16:25",e:"16:30"},"7":{p:29,k:3,b:"16:31",e:"16:34"},M:{p:41,k:4,b:"29:7",e:"29:11"}}},"Yom Kippur (Mincha)":{alias:true,key:"Yom Kippur (Mincha, Traditional)"},"Yom Kippur (Mincha, Traditional)":{haft:[{k:"Jonah",b:"1:1",e:"4:11"},{k:"Micah",b:"7:18",e:"7:20"}],fullkriyah:{"1":{p:29,k:3,b:"18:1",e:"18:5"},"2":{p:29,k:3,b:"18:6",e:"18:21"},M:{p:29,k:3,b:"18:22",e:"18:30"}}},"Yom Kippur (Mincha, Alternate)":{haft:[{k:"Jonah",b:"1:1",e:"4:11"},{k:"Micah",b:"7:18",e:"7:20"}],fullkriyah:{"1":{p:30,k:3,b:"19:1",e:"19:4"},"2":{p:30,k:3,b:"19:5",e:"19:10"},M:{p:30,k:3,b:"19:11",e:"19:18"}}},"Sukkot I":{haft:{k:"Zechariah",b:"14:1",e:"14:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot I (on Shabbat)":{haft:{k:"Zechariah",b:"14:1",e:"14:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"22:33"},"2":{p:31,k:3,b:"23:1",e:"23:3"},"3":{p:31,k:3,b:"23:4",e:"23:8"},"4":{p:31,k:3,b:"23:9",e:"23:14"},"5":{p:31,k:3,b:"23:15",e:"23:22"},"6":{p:31,k:3,b:"23:23",e:"23:32"},"7":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot II":{haft:{k:"I Kings",b:"8:2",e:"8:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot Chol ha-Moed Day 1":{fullkriyah:{"1":{p:41,k:4,b:"29:17",e:"29:19"},"2":{p:41,k:4,b:"29:20",e:"29:22"},"3":{p:41,k:4,b:"29:23",e:"29:25"},"4":{p:41,k:4,b:"29:17",e:"29:22"}}},"Sukkot Chol ha-Moed Day 2":{fullkriyah:{"1":{p:41,k:4,b:"29:20",e:"29:22"},"2":{p:41,k:4,b:"29:23",e:"29:25"},"3":{p:41,k:4,b:"29:26",e:"29:28"},"4":{p:41,k:4,b:"29:20",e:"29:25"}}},"Sukkot Chol ha-Moed Day 3":{fullkriyah:{"1":{p:41,k:4,b:"29:23",e:"29:25"},"2":{p:41,k:4,b:"29:26",e:"29:28"},"3":{p:41,k:4,b:"29:29",e:"29:31"},"4":{p:41,k:4,b:"29:23",e:"29:28"}}},"Sukkot Chol ha-Moed Day 4":{fullkriyah:{"1":{p:41,k:4,b:"29:26",e:"29:28"},"2":{p:41,k:4,b:"29:29",e:"29:31"},"3":{p:41,k:4,b:"29:32",e:"29:34"},"4":{p:41,k:4,b:"29:26",e:"29:31"}}},"Sukkot Chol ha-Moed Day 5":{fullkriyah:{"1":{p:41,k:4,b:"29:29",e:"29:31"},"2":{p:41,k:4,b:"29:32",e:"29:34"},"3":{p:41,k:4,b:"29:35",e:"29:37"},"4":{p:41,k:4,b:"29:29",e:"29:34"}}},"Sukkot Shabbat Chol ha-Moed":{megillah:"Ecclesiastes",haft:{k:"Ezekiel",b:"38:18",e:"39:16"},fullkriyah:{"1":{p:21,k:2,b:"33:12",e:"33:16"},"2":{p:21,k:2,b:"33:17",e:"33:19"},"3":{p:21,k:2,b:"33:20",e:"33:23"},"4":{p:21,k:2,b:"34:1",e:"34:3"},"5":{p:21,k:2,b:"34:4",e:"34:10"},"6":{p:21,k:2,b:"34:11",e:"34:17"},"7":{p:21,k:2,b:"34:18",e:"34:26"},"M-day1":{p:41,k:4,b:"29:17",e:"29:22"},"M-day2":{p:41,k:4,b:"29:20",e:"29:25"},"M-day3":{p:41,k:4,b:"29:23",e:"29:28"},"M-day4":{p:41,k:4,b:"29:26",e:"29:31"},"M-day5":{p:41,k:4,b:"29:29",e:"29:34"}}},"Sukkot Final Day (Hoshana Raba)":{fullkriyah:{"1":{p:41,k:4,b:"29:26",e:"29:28"},"2":{p:41,k:4,b:"29:29",e:"29:31"},"3":{p:41,k:4,b:"29:32",e:"29:34"},"4":{p:41,k:4,b:"29:29",e:"29:34"}}},"Shmini Atzeret":{haft:{k:"I Kings",b:"8:54",e:"8:66"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"16:3"},"4":{p:47,k:5,b:"16:4",e:"16:8"},"5":{p:47,k:5,b:"16:9",e:"16:17"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Shmini Atzeret (on Shabbat)":{megillah:"Ecclesiastes",haft:{k:"I Kings",b:"8:54",e:"8:66"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Erev Simchat Torah":{fullkriyah:{"1":{p:54,k:5,b:"33:1",e:"33:7"},"2":{p:54,k:5,b:"33:8",e:"33:12"},"3":{p:54,k:5,b:"33:13",e:"33:17"}}},"Simchat Torah":{haft:{k:"Joshua",b:"1:1",e:"1:18"},fullkriyah:{"1":{p:54,k:5,b:"33:1",e:"33:7"},"2":{p:54,k:5,b:"33:8",e:"33:12"},"3":{p:54,k:5,b:"33:13",e:"33:17"},"4":{p:54,k:5,b:"33:18",e:"33:21"},"5":{p:54,k:5,b:"33:22",e:"33:26"},"6":{p:54,k:5,b:"33:27",e:"34:12"},"7":{p:1,k:1,b:"1:1",e:"2:3"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Simchat Torah (on Shabbat)":{megillah:"Ecclesiastes",haft:{k:"Joshua",b:"1:1",e:"1:18"},fullkriyah:{"1":{p:54,k:5,b:"33:1",e:"33:7"},"2":{p:54,k:5,b:"33:8",e:"33:12"},"3":{p:54,k:5,b:"33:13",e:"33:17"},"4":{p:54,k:5,b:"33:18",e:"33:21"},"5":{p:54,k:5,b:"33:22",e:"33:26"},"6":{p:54,k:5,b:"33:27",e:"33:29"},"7":{p:54,k:5,b:"34:1",e:"34:12"},"8":{p:1,k:1,b:"1:1",e:"2:3"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Shabbat Rosh Chodesh Chanukah":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:35,k:4,b:"7:42",e:"7:47"}}},"Chanukah Day 1":{fullkriyah:{"1":{p:35,k:4,b:"7:1",e:"7:11"},"2":{p:35,k:4,b:"7:12",e:"7:14"},"3":{p:35,k:4,b:"7:15",e:"7:17"}},alt:{"1":{p:35,k:4,b:"7:1",e:"7:3"},"2":{p:35,k:4,b:"7:4",e:"7:11"},"3":{p:35,k:4,b:"7:12",e:"7:17"}}},"Chanukah Day 1 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:1",e:"7:17"}}},"Chanukah Day 2":{fullkriyah:{"1":{p:35,k:4,b:"7:18",e:"7:20"},"2":{p:35,k:4,b:"7:21",e:"7:23"},"3":{p:35,k:4,b:"7:24",e:"7:29"}},alt:{"1":{p:35,k:4,b:"7:18",e:"7:20"},"2":{p:35,k:4,b:"7:21",e:"7:23"},"3":{p:35,k:4,b:"7:18",e:"7:23"}}},"Chanukah Day 2 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:18",e:"7:23"}}},"Chanukah Day 3":{fullkriyah:{"1":{p:35,k:4,b:"7:24",e:"7:26"},"2":{p:35,k:4,b:"7:27",e:"7:29"},"3":{p:35,k:4,b:"7:30",e:"7:35"}},alt:{"1":{p:35,k:4,b:"7:24",e:"7:26"},"2":{p:35,k:4,b:"7:27",e:"7:29"},"3":{p:35,k:4,b:"7:24",e:"7:29"}}},"Chanukah Day 3 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:24",e:"7:29"}}},"Chanukah Day 4":{fullkriyah:{"1":{p:35,k:4,b:"7:30",e:"7:32"},"2":{p:35,k:4,b:"7:33",e:"7:35"},"3":{p:35,k:4,b:"7:36",e:"7:41"}},alt:{"1":{p:35,k:4,b:"7:30",e:"7:32"},"2":{p:35,k:4,b:"7:33",e:"7:35"},"3":{p:35,k:4,b:"7:30",e:"7:35"}}},"Chanukah Day 4 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:30",e:"7:35"}}},"Chanukah Day 5":{fullkriyah:{"1":{p:35,k:4,b:"7:36",e:"7:38"},"2":{p:35,k:4,b:"7:39",e:"7:41"},"3":{p:35,k:4,b:"7:42",e:"7:47"}},alt:{"1":{p:35,k:4,b:"7:36",e:"7:38"},"2":{p:35,k:4,b:"7:39",e:"7:41"},"3":{p:35,k:4,b:"7:36",e:"7:41"}}},"Chanukah Day 5 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:36",e:"7:41"}}},"Chanukah Day 6":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:5"},"2":{p:41,k:4,b:"28:6",e:"28:10"},"3":{p:41,k:4,b:"28:11",e:"28:15"},"4":{p:35,k:4,b:"7:42",e:"7:47"}}},"Chanukah Day 7":{fullkriyah:{"1":{p:35,k:4,b:"7:48",e:"7:50"},"2":{p:35,k:4,b:"7:51",e:"7:53"},"3":{p:35,k:4,b:"7:54",e:"7:59"}},alt:{"1":{p:35,k:4,b:"7:48",e:"7:50"},"2":{p:35,k:4,b:"7:51",e:"7:53"},"3":{p:35,k:4,b:"7:48",e:"7:53"}}},"Chanukah Day 7 (on Rosh Chodesh)":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:5"},"2":{p:41,k:4,b:"28:6",e:"28:10"},"3":{p:41,k:4,b:"28:11",e:"28:15"},"4":{p:35,k:4,b:"7:48",e:"7:53"}}},"Chanukah Day 7 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:48",e:"7:53"}}},"Chanukah Day 8":{fullkriyah:{"1":{p:35,k:4,b:"7:54",e:"7:56"},"2":{p:35,k:4,b:"7:57",e:"7:59"},"3":{p:35,k:4,b:"7:60",e:"8:4"}}},"Chanukah Day 8 (on Shabbat)":{haft:{k:"I Kings",b:"7:40",e:"7:50"},fullkriyah:{M:{p:35,k:4,b:"7:54",e:"8:4"}}},"Erev Purim":{megillah:"Esther"},Purim:Purim,"Shushan Purim":{note:"Jerusalem & walled cities only",il:true,megillah:"Esther",fullkriyah:{"1":{p:16,k:2,b:"17:8",e:"17:10"},"2":{p:16,k:2,b:"17:11",e:"17:13"},"3":{p:16,k:2,b:"17:14",e:"17:16"}}},"Shushan Purim (on Shabbat)":{il:true,note:"Jerusalem & walled cities only: special maftir Exodus 17:8-16, same Haftara as Shabbat Zachor"},"Shabbat HaChodesh":{haft:{k:"Ezekiel",b:"45:16",e:"46:18"},seph:{k:"Ezekiel",b:"45:18",e:"46:15"},fullkriyah:{M:{p:15,k:2,b:"12:1",e:"12:20"}}},"Shabbat HaChodesh (on Rosh Chodesh)":{haft:{k:"Ezekiel",b:"45:16",e:"46:18"},seph:{k:"Ezekiel",b:"45:18",e:"46:15"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:15,k:2,b:"12:1",e:"12:20"}}},"Shabbat HaGadol":{haft:{k:"Malachi",b:"3:4",e:"3:24"}},"Shabbat Parah":{haft:{k:"Ezekiel",b:"36:16",e:"36:38"},seph:{k:"Ezekiel",b:"36:16",e:"36:36"},fullkriyah:{M:{p:39,k:4,b:"19:1",e:"19:22"}}},"Shabbat Shekalim":{haft:{k:"II Kings",b:"12:1",e:"12:17"},seph:{k:"II Kings",b:"11:17",e:"12:17"},fullkriyah:{M:{p:21,k:2,b:"30:11",e:"30:16"}}},"Shabbat Shekalim (on Rosh Chodesh)":{haft:{k:"II Kings",b:"12:1",e:"12:17"},seph:{k:"II Kings",b:"11:17",e:"12:17"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:21,k:2,b:"30:11",e:"30:16"}}},"Shabbat Shuva (with Vayeilech)":{haft:[{k:"Hosea",b:"14:2",e:"14:10"},{k:"Micah",b:"7:18",e:"7:20"}]},"Shabbat Shuva (with Ha'azinu)":{haft:[{k:"Hosea",b:"14:2",e:"14:10"},{k:"Joel",b:"2:15",e:"2:27"}],seph:[{k:"Hosea",b:"14:2",e:"14:10"},{k:"Micah",b:"7:18",e:"7:20"}]},"Shabbat Shuva":{haft:[{k:"Hosea",b:"14:2",e:"14:10"},{k:"Micah",b:"7:18",e:"7:20"},{k:"Joel",b:"2:15",e:"2:27"}]},"Shabbat Zachor":{haft:{k:"I Samuel",b:"15:2",e:"15:34"},seph:{k:"I Samuel",b:"15:1",e:"15:34"},fullkriyah:{M:{p:49,k:5,b:"25:17",e:"25:19"}}},"Pinchas occurring after 17 Tammuz":{haft:{k:"Jeremiah",b:"1:1",e:"2:3"}},"Kedoshim following Special Shabbat":{haft:{k:"Amos",b:"9:7",e:"9:15"},seph:{k:"Ezekiel",b:"20:2",e:"20:20"}},"Masei on Shabbat Rosh Chodesh":{haft:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"3:4",e:"3:4"}],seph:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"4:1",e:"4:2"},{k:"Isaiah",b:"66:1",e:"66:1"},{k:"Isaiah",b:"66:23",e:"66:23"}],fullkriyah:{M:{p:41,k:4,b:"28:9",e:"28:15"}}},"Matot-Masei on Shabbat Rosh Chodesh":{alias:true,key:"Masei on Shabbat Rosh Chodesh"},"Ki Teitzei with 3rd Haftarah of Consolation":{haft:[{k:"Isaiah",b:"54:1",e:"54:10"},{k:"Isaiah",b:"54:11",e:"55:5"}]},"Rosh Chodesh":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:3"},"2":{p:41,k:4,b:"28:3",e:"28:5"},"3":{p:41,k:4,b:"28:6",e:"28:10"},"4":{p:41,k:4,b:"28:11",e:"28:15"}}},"Rosh Chodesh Nisan":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Iyyar":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Sivan":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Tamuz":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Av":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Elul":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Tishrei":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Cheshvan":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Kislev":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Sh'vat":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Adar":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Adar I":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Adar II":{alias:true,key:"Rosh Chodesh"},"Shabbat Rosh Chodesh":{haft:{k:"Isaiah",b:"66:1",e:"66:24"},fullkriyah:{M:{p:41,k:4,b:"28:9",e:"28:15"}}},"Shabbat Machar Chodesh":{haft:{k:"I Samuel",b:"20:18",e:"20:42"}}};
|
|
3
|
+
|
|
4
|
+
export { Purim, Shavuot, festivals0 as default };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './locale';
|
|
3
|
+
export * from './common';
|
|
4
|
+
export * from './summary';
|
|
5
|
+
export * from './festival';
|
|
6
|
+
export { getLeyningKeyForEvent } from './getLeyningKeyForEvent';
|
|
7
|
+
export * from './specialReadings';
|
|
8
|
+
export * from './getLeyningForHoliday';
|
|
9
|
+
export * from './leyning';
|
|
10
|
+
export { getLeyningOnDate } from './getLeyningOnDate';
|
|
11
|
+
export * from './clone';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*! @hebcal/leyning v9.0.0 */
|
|
2
|
+
import './locale.js';
|
|
3
|
+
export { BOOK, NUM_VERSES, calculateNumVerses, formatAliyahShort, formatAliyahWithBook, parshaToString } from './common.js';
|
|
4
|
+
export { makeLeyningParts, makeLeyningSummary, makeSummaryFromParts } from './summary.js';
|
|
5
|
+
export { hasFestival, lookupFestival } from './festival.js';
|
|
6
|
+
export { getLeyningKeyForEvent } from './getLeyningKeyForEvent.js';
|
|
7
|
+
export { specialReadings2 } from './specialReadings.js';
|
|
8
|
+
export { getLeyningForHoliday, getLeyningForHolidayKey } from './getLeyningForHoliday.js';
|
|
9
|
+
export { getLeyningForParsha, getLeyningForParshaHaShavua, getWeekdayReading, lookupParsha, makeLeyningNames } from './leyning.js';
|
|
10
|
+
export { getLeyningOnDate } from './getLeyningOnDate.js';
|
|
11
|
+
export { clone, cloneHaftara, sumVerses } from './clone.js';
|
|
12
|
+
export { Locale } from '@hebcal/core/dist/esm/locale';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type JsonFestivalAliyah = {
|
|
2
|
+
k: number | string;
|
|
3
|
+
b: string;
|
|
4
|
+
e: string;
|
|
5
|
+
v?: number;
|
|
6
|
+
p?: number;
|
|
7
|
+
};
|
|
8
|
+
export type JsonFestivalAliyotMap = {
|
|
9
|
+
[key: string]: JsonFestivalAliyah;
|
|
10
|
+
};
|
|
11
|
+
export type JsonFestivalLeyning = {
|
|
12
|
+
haft?: JsonFestivalAliyah | JsonFestivalAliyah[];
|
|
13
|
+
seph?: JsonFestivalAliyah | JsonFestivalAliyah[];
|
|
14
|
+
fullkriyah?: JsonFestivalAliyotMap;
|
|
15
|
+
megillah?: string;
|
|
16
|
+
alias?: boolean;
|
|
17
|
+
key?: string;
|
|
18
|
+
note?: string;
|
|
19
|
+
il?: boolean;
|
|
20
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Event } from '@hebcal/core/dist/esm/event';
|
|
2
|
+
import { AliyotMap, Leyning, LeyningNames, ParshaMeta } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Transliterated English and Hebrew names of this parsha
|
|
5
|
+
* @param parsha untranslated name like ['Pinchas'] or ['Matot','Masei']
|
|
6
|
+
*/
|
|
7
|
+
export declare function makeLeyningNames(parsha: string[]): LeyningNames;
|
|
8
|
+
/**
|
|
9
|
+
* Looks up Monday/Thursday aliyot for a regular parsha
|
|
10
|
+
* @param parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
11
|
+
*/
|
|
12
|
+
export declare function getWeekdayReading(parsha: string | string[]): AliyotMap;
|
|
13
|
+
/**
|
|
14
|
+
* Looks up regular leyning for a weekly parsha with no special readings
|
|
15
|
+
* @param parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
16
|
+
*/
|
|
17
|
+
export declare function getLeyningForParsha(parsha: string | string[]): Leyning;
|
|
18
|
+
/**
|
|
19
|
+
* Looks up leyning for a regular Shabbat parsha, including any special
|
|
20
|
+
* maftir or Haftara.
|
|
21
|
+
* @param ev the Hebcal event associated with this leyning
|
|
22
|
+
* @param [il] in Israel
|
|
23
|
+
* @returns map of aliyot
|
|
24
|
+
*/
|
|
25
|
+
export declare function getLeyningForParshaHaShavua(ev: Event, il?: boolean): Leyning;
|
|
26
|
+
/**
|
|
27
|
+
* Returns the parsha metadata
|
|
28
|
+
* @param parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
29
|
+
*/
|
|
30
|
+
export declare function lookupParsha(parsha: string | string[]): ParshaMeta;
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/*! @hebcal/leyning v9.0.0 */
|
|
2
|
+
import { flags } from '@hebcal/core/dist/esm/event';
|
|
3
|
+
import './locale.js';
|
|
4
|
+
import parshiyotObj0 from './aliyot.json.js';
|
|
5
|
+
import { parshaToString, BOOK, calculateNumVerses } from './common.js';
|
|
6
|
+
import { cloneHaftara, sumVerses } from './clone.js';
|
|
7
|
+
import { specialReadings2 } from './specialReadings.js';
|
|
8
|
+
import { makeSummaryFromParts, makeLeyningParts } from './summary.js';
|
|
9
|
+
import { Locale } from '@hebcal/core/dist/esm/locale';
|
|
10
|
+
|
|
11
|
+
const parshiyotObj = parshiyotObj0;
|
|
12
|
+
/**
|
|
13
|
+
* on doubled parshiot, read only the second Haftarah
|
|
14
|
+
* except for Nitzavim-Vayelech and Achrei Mot-Kedoshim
|
|
15
|
+
* @private
|
|
16
|
+
*/
|
|
17
|
+
function getHaftaraKey(parsha) {
|
|
18
|
+
const first = parsha[0];
|
|
19
|
+
if (parsha.length === 2 && first === 'Achrei Mot') {
|
|
20
|
+
return parshaToString(parsha); // 'Achrei Mot-Kedoshim'
|
|
21
|
+
}
|
|
22
|
+
if (parsha.length === 1 || first === 'Nitzavim') {
|
|
23
|
+
return first;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
return parsha[1];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Transliterated English and Hebrew names of this parsha
|
|
31
|
+
* @param parsha untranslated name like ['Pinchas'] or ['Matot','Masei']
|
|
32
|
+
*/
|
|
33
|
+
function makeLeyningNames(parsha) {
|
|
34
|
+
const name = parshaToString(parsha);
|
|
35
|
+
return {
|
|
36
|
+
en: name,
|
|
37
|
+
he: parsha.map(s => Locale.lookupTranslation(s, 'he')).join('־'),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Looks up regular leyning for a weekly parsha with no special readings
|
|
42
|
+
* @private
|
|
43
|
+
* @param parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
44
|
+
* @returns map of aliyot
|
|
45
|
+
*/
|
|
46
|
+
function getLeyningForParshaShabbatOnly(parsha) {
|
|
47
|
+
const raw = lookupParsha(parsha);
|
|
48
|
+
const fullkriyah = {};
|
|
49
|
+
const book = BOOK[raw.book];
|
|
50
|
+
for (const [num, src] of Object.entries(raw.fullkriyah)) {
|
|
51
|
+
const aliyah = { k: book, b: src[0], e: src[1] };
|
|
52
|
+
calculateNumVerses(aliyah);
|
|
53
|
+
fullkriyah[num] = aliyah;
|
|
54
|
+
}
|
|
55
|
+
const name = parshaToString(parsha);
|
|
56
|
+
const parshaNameArray = raw.combined ? [raw.p1, raw.p2] : [name];
|
|
57
|
+
const parts = makeLeyningParts(fullkriyah);
|
|
58
|
+
const summary = makeSummaryFromParts(parts);
|
|
59
|
+
const result = {
|
|
60
|
+
name: makeLeyningNames(parshaNameArray),
|
|
61
|
+
parsha: parshaNameArray,
|
|
62
|
+
parshaNum: raw.num,
|
|
63
|
+
summary,
|
|
64
|
+
fullkriyah: fullkriyah,
|
|
65
|
+
haftara: '',
|
|
66
|
+
haft: [],
|
|
67
|
+
};
|
|
68
|
+
if (parts.length > 1) {
|
|
69
|
+
result.summaryParts = parts;
|
|
70
|
+
}
|
|
71
|
+
const hkey = getHaftaraKey(parshaNameArray);
|
|
72
|
+
const haft0 = parshiyotObj[hkey].haft;
|
|
73
|
+
if (haft0) {
|
|
74
|
+
const haft = (result.haft = cloneHaftara(haft0));
|
|
75
|
+
result.haftara = makeSummaryFromParts(haft);
|
|
76
|
+
result.haftaraNumV = sumVerses(haft);
|
|
77
|
+
}
|
|
78
|
+
const seph0 = parshiyotObj[hkey].seph;
|
|
79
|
+
if (seph0) {
|
|
80
|
+
const seph = (result.seph = cloneHaftara(seph0));
|
|
81
|
+
result.sephardic = makeSummaryFromParts(seph);
|
|
82
|
+
result.sephardicNumV = sumVerses(seph);
|
|
83
|
+
}
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Looks up Monday/Thursday aliyot for a regular parsha
|
|
88
|
+
* @param parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
89
|
+
*/
|
|
90
|
+
function getWeekdayReading(parsha) {
|
|
91
|
+
const raw = lookupParsha(parsha);
|
|
92
|
+
const parshaMeta = raw.combined ? lookupParsha(raw.p1) : raw;
|
|
93
|
+
const aliyot = parshaMeta.weekday;
|
|
94
|
+
if (!aliyot) {
|
|
95
|
+
throw new Error(`Parsha missing weekday: ${parsha}`);
|
|
96
|
+
}
|
|
97
|
+
const book = BOOK[raw.book];
|
|
98
|
+
const weekday = {};
|
|
99
|
+
for (let i = 1; i <= 3; i++) {
|
|
100
|
+
const num = '' + i;
|
|
101
|
+
const src = aliyot[num];
|
|
102
|
+
const aliyah = { k: book, b: src[0], e: src[1] };
|
|
103
|
+
calculateNumVerses(aliyah);
|
|
104
|
+
weekday[num] = aliyah;
|
|
105
|
+
}
|
|
106
|
+
return weekday;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Looks up regular leyning for a weekly parsha with no special readings
|
|
110
|
+
* @param parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
111
|
+
*/
|
|
112
|
+
function getLeyningForParsha(parsha) {
|
|
113
|
+
const result = getLeyningForParshaShabbatOnly(parsha);
|
|
114
|
+
result.weekday = getWeekdayReading(parsha);
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Looks up leyning for a regular Shabbat parsha, including any special
|
|
119
|
+
* maftir or Haftara.
|
|
120
|
+
* @param ev the Hebcal event associated with this leyning
|
|
121
|
+
* @param [il] in Israel
|
|
122
|
+
* @returns map of aliyot
|
|
123
|
+
*/
|
|
124
|
+
function getLeyningForParshaHaShavua(ev, il = false) {
|
|
125
|
+
if (typeof ev !== 'object' || typeof ev.getFlags !== 'function') {
|
|
126
|
+
throw new TypeError(`Bad event argument: ${ev}`);
|
|
127
|
+
}
|
|
128
|
+
else if (ev.getFlags() !== flags.PARSHA_HASHAVUA) {
|
|
129
|
+
throw new TypeError(`Event must be parsha hashavua: ${ev.getDesc()}`);
|
|
130
|
+
}
|
|
131
|
+
// first, collect the default aliyot and haftara
|
|
132
|
+
const parsha = ev.parsha;
|
|
133
|
+
const result = getLeyningForParshaShabbatOnly(parsha);
|
|
134
|
+
const hd = ev.getDate();
|
|
135
|
+
// Now, check for special maftir or haftara on same date
|
|
136
|
+
const special = specialReadings2(parsha, hd, il, result.fullkriyah);
|
|
137
|
+
const reason = special.reason;
|
|
138
|
+
if (special.haft) {
|
|
139
|
+
const haft = (result.haft = cloneHaftara(special.haft));
|
|
140
|
+
result.haftara = makeSummaryFromParts(haft);
|
|
141
|
+
result.haftaraNumV = sumVerses(haft);
|
|
142
|
+
if (special.seph) {
|
|
143
|
+
const seph = (result.seph = cloneHaftara(special.seph));
|
|
144
|
+
result.sephardic = makeSummaryFromParts(seph);
|
|
145
|
+
result.sephardicNumV = sumVerses(seph);
|
|
146
|
+
}
|
|
147
|
+
else if (result.seph) {
|
|
148
|
+
delete result.seph;
|
|
149
|
+
delete result.sephardic;
|
|
150
|
+
delete result.sephardicNumV;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (reason['7'] || reason['M']) {
|
|
154
|
+
result.fullkriyah = special.aliyot;
|
|
155
|
+
const parts = makeLeyningParts(result.fullkriyah);
|
|
156
|
+
result.summary = makeSummaryFromParts(parts);
|
|
157
|
+
result.summaryParts = parts;
|
|
158
|
+
}
|
|
159
|
+
const reasons = Object.keys(reason);
|
|
160
|
+
if (reasons.length !== 0) {
|
|
161
|
+
result.reason = reason;
|
|
162
|
+
for (const num of reasons) {
|
|
163
|
+
if (num === 'haftara' || num === 'sephardic') {
|
|
164
|
+
const haftObj = result[num === 'haftara' ? 'haft' : 'seph'];
|
|
165
|
+
const hafts = Array.isArray(haftObj) ? haftObj : [haftObj];
|
|
166
|
+
for (const haft of hafts) {
|
|
167
|
+
haft.reason = reason[num];
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
const aliyah = result.fullkriyah[num];
|
|
172
|
+
if (typeof aliyah === 'object') {
|
|
173
|
+
aliyah.reason = reason[num];
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return result;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Returns the parsha metadata
|
|
182
|
+
* @param parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
183
|
+
*/
|
|
184
|
+
function lookupParsha(parsha) {
|
|
185
|
+
const name = parshaToString(parsha);
|
|
186
|
+
const raw = parshiyotObj[name];
|
|
187
|
+
if (typeof raw !== 'object') {
|
|
188
|
+
throw new TypeError(`Bad parsha argument: ${parsha}`);
|
|
189
|
+
}
|
|
190
|
+
if (raw.combined) {
|
|
191
|
+
const [p1, p2] = name.split('-');
|
|
192
|
+
if (!raw.hebrew) {
|
|
193
|
+
raw.hebrew = Locale.gettext(p1, 'he') + '־' + Locale.gettext(p2, 'he');
|
|
194
|
+
}
|
|
195
|
+
if (!raw.haft) {
|
|
196
|
+
const haftKey = p1 === 'Nitzavim' ? p1 : p2;
|
|
197
|
+
raw.haft = lookupParsha(haftKey).haft;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return raw;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
export { getLeyningForParsha, getLeyningForParshaHaShavua, getWeekdayReading, lookupParsha, makeLeyningNames };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*! @hebcal/leyning v9.0.0 */
|
|
2
|
+
import { Locale } from '@hebcal/core/dist/esm/locale';
|
|
3
|
+
export { Locale } from '@hebcal/core/dist/esm/locale';
|
|
4
|
+
import poHe from './he.po.js';
|
|
5
|
+
|
|
6
|
+
Locale.addTranslations('he', poHe);
|
|
7
|
+
Locale.addTranslations('h', poHe);
|
|
8
|
+
const heStrs = poHe.contexts[''];
|
|
9
|
+
const heNoNikud = {};
|
|
10
|
+
for (const [key, val] of Object.entries(heStrs)) {
|
|
11
|
+
heNoNikud[key] = [Locale.hebrewStripNikkud(val[0])];
|
|
12
|
+
}
|
|
13
|
+
const poHeNoNikud = {
|
|
14
|
+
headers: poHe.headers,
|
|
15
|
+
contexts: { '': heNoNikud },
|
|
16
|
+
};
|
|
17
|
+
Locale.addTranslations('he-x-NoNikud', poHeNoNikud);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*! @hebcal/leyning v9.0.0 */
|
|
2
|
+
const Genesis=[0,31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,54,33,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26];const Exodus=[0,22,25,22,31,23,30,29,28,35,29,10,51,22,31,27,36,16,27,25,26,37,30,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38];const Leviticus=[0,17,16,17,35,26,23,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34];const Numbers=[0,54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,35,28,32,22,29,35,41,30,25,19,65,23,31,39,17,54,42,56,29,34,13];const Deuteronomy=[0,46,37,29,49,30,25,26,20,29,22,32,31,19,29,23,22,20,22,21,20,23,29,26,22,19,19,26,69,28,20,30,52,29,12];const Joshua=[0,18,24,17,24,15,27,26,35,27,43,23,24,33,15,63,10,18,28,51,9,45,34,16,33];const Judges=[0,36,23,31,24,31,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,25];const Ruth=[0,22,23,18,22];const Isaiah=[0,31,22,26,6,30,13,25,23,20,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,11,25,24];const Jeremiah=[0,19,37,25,31,31,30,34,23,25,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34];const Lamentations=[0,22,22,66,22,22];const Baruch=[0,22,35,38,37,9,72];const Esther=[0,22,23,15,17,14,14,10,17,32,3];const Ecclesiastes=[0,18,26,22,17,19,12,29,17,18,20,10,14];const Ezekiel=[0,28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,44,37,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35];const Daniel=[0,21,49,100,34,30,29,28,27,27,21,45,13,64,42];const Hosea=[0,9,25,5,19,15,11,16,14,17,15,11,15,15,10];const Joel=[0,20,27,5,21];const Amos=[0,15,16,15,13,27,14,17,14,15];const Obadiah=[0,21];const Jonah=[0,16,11,10,11];const Micah=[0,16,13,12,14,14,16,20];const Nachum=[0,14,14,19];const Habakkuk=[0,17,20,19];const Zephaniah=[0,18,15,20];const Haggai=[0,15,23];const Zechariah=[0,17,17,10,14,11,15,14,23,17,12,17,14,9,21];const Malachi=[0,14,17,24];var numverses = {Genesis:Genesis,Exodus:Exodus,Leviticus:Leviticus,Numbers:Numbers,Deuteronomy:Deuteronomy,Joshua:Joshua,Judges:Judges,Ruth:Ruth,"I Samuel":[0,28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,16,23,28,23,43,25,12,25,11,31,13],"II Samuel":[0,27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,32,44,26,22,51,39,25],"I Kings":[0,53,46,28,20,32,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"II Kings":[0,18,25,27,44,27,33,20,29,37,36,20,22,25,29,38,20,41,37,37,21,26,20,37,20,30],Isaiah:Isaiah,Jeremiah:Jeremiah,Lamentations:Lamentations,Baruch:Baruch,Esther:Esther,Ecclesiastes:Ecclesiastes,"Song of Songs":[0,17,17,11,16,16,12,14,14],Ezekiel:Ezekiel,Daniel:Daniel,Hosea:Hosea,Joel:Joel,Amos:Amos,Obadiah:Obadiah,Jonah:Jonah,Micah:Micah,Nachum:Nachum,Habakkuk:Habakkuk,Zephaniah:Zephaniah,Haggai:Haggai,Zechariah:Zechariah,Malachi:Malachi};
|
|
3
|
+
|
|
4
|
+
export { Amos, Baruch, Daniel, Deuteronomy, Ecclesiastes, Esther, Exodus, Ezekiel, Genesis, Habakkuk, Haggai, Hosea, Isaiah, Jeremiah, Joel, Jonah, Joshua, Judges, Lamentations, Leviticus, Malachi, Micah, Nachum, Numbers, Obadiah, Ruth, Zechariah, Zephaniah, numverses as default };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { HDate } from '@hebcal/hdate';
|
|
2
|
+
import { AliyotMap, SpecialReading } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Determines if the regular parashat haShavua coincides with an event that requires
|
|
5
|
+
* a special maftir or Haftara (for example Shabbat HaGadol, Shabbat Chanukah, Rosh
|
|
6
|
+
* Chodesh or Machar Chodesh, etc.).
|
|
7
|
+
*
|
|
8
|
+
* This function does not modify `aliyot`. Instead, it returns a deep copy
|
|
9
|
+
* with `aliyot['M']` replaced and sets `reason.M`
|
|
10
|
+
* (and in some cases the 6th and 7th aliyah, setting `reason['7']`).
|
|
11
|
+
*
|
|
12
|
+
* If a special Haftarah applies, the result will have a `haft` property
|
|
13
|
+
* pointing to Haftarah object and sets `reason.haftara`.
|
|
14
|
+
*/
|
|
15
|
+
export declare function specialReadings2(parsha: string[], hd: HDate, il: boolean, aliyot: AliyotMap): SpecialReading;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/*! @hebcal/leyning v9.0.0 */
|
|
2
|
+
import { months } from '@hebcal/hdate';
|
|
3
|
+
import { flags } from '@hebcal/core/dist/esm/event';
|
|
4
|
+
import { cloneHaftara, clone } from './clone.js';
|
|
5
|
+
import { parshaToString, calculateNumVerses } from './common.js';
|
|
6
|
+
import { lookupFestival } from './festival.js';
|
|
7
|
+
import { getLeyningKeyForEvent } from './getLeyningKeyForEvent.js';
|
|
8
|
+
import { getHolidaysOnDate } from '@hebcal/core/dist/esm/holidays';
|
|
9
|
+
|
|
10
|
+
function aliyotCombine67(aliyot) {
|
|
11
|
+
const a6 = clone(aliyot['6']);
|
|
12
|
+
const a7 = aliyot['7'];
|
|
13
|
+
if (a6.k !== a7.k) {
|
|
14
|
+
throw new Error('Impossible to combine aliyot 6 & 7: ' + JSON.stringify(aliyot));
|
|
15
|
+
}
|
|
16
|
+
delete aliyot['7'];
|
|
17
|
+
aliyot['6'] = {
|
|
18
|
+
k: a6.k,
|
|
19
|
+
b: a6.b,
|
|
20
|
+
e: a7.e,
|
|
21
|
+
};
|
|
22
|
+
if (a6.v && a7.v) {
|
|
23
|
+
aliyot['6'].v = a6.v + a7.v;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function mergeAliyotWithSpecial(aliyot, special) {
|
|
27
|
+
if (special['7']) {
|
|
28
|
+
aliyotCombine67(aliyot);
|
|
29
|
+
aliyot['7'] = clone(special['7']);
|
|
30
|
+
calculateNumVerses(aliyot['7']);
|
|
31
|
+
}
|
|
32
|
+
if (special['M']) {
|
|
33
|
+
aliyot['M'] = clone(special['M']);
|
|
34
|
+
calculateNumVerses(aliyot['M']);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Determines if the regular parashat haShavua coincides with an event that requires
|
|
39
|
+
* a special maftir or Haftara (for example Shabbat HaGadol, Shabbat Chanukah, Rosh
|
|
40
|
+
* Chodesh or Machar Chodesh, etc.).
|
|
41
|
+
*
|
|
42
|
+
* This function does not modify `aliyot`. Instead, it returns a deep copy
|
|
43
|
+
* with `aliyot['M']` replaced and sets `reason.M`
|
|
44
|
+
* (and in some cases the 6th and 7th aliyah, setting `reason['7']`).
|
|
45
|
+
*
|
|
46
|
+
* If a special Haftarah applies, the result will have a `haft` property
|
|
47
|
+
* pointing to Haftarah object and sets `reason.haftara`.
|
|
48
|
+
*/
|
|
49
|
+
function specialReadings2(parsha, hd, il, aliyot) {
|
|
50
|
+
let haft;
|
|
51
|
+
let seph;
|
|
52
|
+
let specialHaft = false;
|
|
53
|
+
const reason = {};
|
|
54
|
+
function handleSpecial(key) {
|
|
55
|
+
const special = lookupFestival(key);
|
|
56
|
+
if (!special) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (typeof special.il === 'boolean' && il !== special.il) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (special.haft && !specialHaft) {
|
|
63
|
+
haft = cloneHaftara(special.haft);
|
|
64
|
+
reason.haftara = key;
|
|
65
|
+
specialHaft = true;
|
|
66
|
+
if (special.seph) {
|
|
67
|
+
seph = cloneHaftara(special.seph);
|
|
68
|
+
reason.sephardic = key;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (special.fullkriyah) {
|
|
72
|
+
const aliyotMap = clone(aliyot);
|
|
73
|
+
mergeAliyotWithSpecial(aliyotMap, special.fullkriyah);
|
|
74
|
+
for (const num of Object.keys(special.fullkriyah)) {
|
|
75
|
+
reason[num] = key;
|
|
76
|
+
}
|
|
77
|
+
aliyot = aliyotMap;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const parshaName = parshaToString(parsha);
|
|
81
|
+
const events0 = getHolidaysOnDate(hd, il) || [];
|
|
82
|
+
const events = events0.filter(ev => !(ev.getFlags() & flags.ROSH_CHODESH));
|
|
83
|
+
for (const ev of events) {
|
|
84
|
+
if (ev.getDesc() === 'Shabbat Shuva') {
|
|
85
|
+
handleSpecial(`Shabbat Shuva (with ${parshaName})`);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
const key = getLeyningKeyForEvent(ev, il);
|
|
89
|
+
if (key) {
|
|
90
|
+
handleSpecial(key);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (!haft) {
|
|
95
|
+
const day = hd.getDate();
|
|
96
|
+
if (parshaName === 'Pinchas' && day > 17) {
|
|
97
|
+
// Pinchas is always read in Tamuz (never another month)
|
|
98
|
+
// either on the 14, 16, 17 (in Israel), 19, 21, 23, 24
|
|
99
|
+
handleSpecial('Pinchas occurring after 17 Tammuz');
|
|
100
|
+
}
|
|
101
|
+
else if (day === 30 || day === 1) {
|
|
102
|
+
const key = parshaName === 'Masei' || parshaName === 'Matot-Masei'
|
|
103
|
+
? `${parshaName} on Shabbat Rosh Chodesh`
|
|
104
|
+
: 'Shabbat Rosh Chodesh';
|
|
105
|
+
handleSpecial(key);
|
|
106
|
+
}
|
|
107
|
+
else if (parshaName === 'Ki Teitzei' && day === 14) {
|
|
108
|
+
// Ki Teitzei is always read in Elul on 9, 11, 13 or 14
|
|
109
|
+
// "Because Shabbat Re’eh was Rosh Ḥodesh, the usual 3rd haftarah of
|
|
110
|
+
// consolation was not read. Chant the haftarah of Ki tetse and then
|
|
111
|
+
// the haftarah of Re’eh as a single haftarah.
|
|
112
|
+
// In the book of Isaiah these two brief passages are adjacent."
|
|
113
|
+
// Source: Luaḥ Hashanah, Rabbi Miles B. Cohen and Leslie Rubin
|
|
114
|
+
handleSpecial('Ki Teitzei with 3rd Haftarah of Consolation');
|
|
115
|
+
}
|
|
116
|
+
else if (parshaName === 'Kedoshim' &&
|
|
117
|
+
(day === 26 || day === 28 || day === 6)) {
|
|
118
|
+
// Kedoshim is read separately from Achrei Mot in ~37% of years.
|
|
119
|
+
// When this happens, it is will be read on
|
|
120
|
+
// 26th or 28th of Nisan (Achrei Mot was Shabbat HaGadol, ~10%),
|
|
121
|
+
// or 1st of Iyyar (Rosh Chodesh, ~10%),
|
|
122
|
+
// or 6th of Iyyar (~10%, immediately after Shabbat Machar Chodesh)
|
|
123
|
+
// or 3rd of Iyyar (~6%, "the nominal situation — in which both parashiyyot
|
|
124
|
+
// are read separately and no overriding occasions coincide")
|
|
125
|
+
// http://www.scholar.davidesstein.name/Articles/HaftarotOfEtzHayim--Stein.pdf
|
|
126
|
+
// "The Haftarot of Etz Hayim," David E. S. Stein, Conservative Judaism 54/3 (Spring 2002)
|
|
127
|
+
handleSpecial('Kedoshim following Special Shabbat');
|
|
128
|
+
}
|
|
129
|
+
else if (hd.getMonth() !== months.AV) {
|
|
130
|
+
// Parashat Re'eh is always read in Av on 25, 27, 29 or 30.
|
|
131
|
+
// When it coincides with Erev Rosh Chodesh, the Haftarah is
|
|
132
|
+
// עניה סוערה (Isaiah 54:11-55:5) and not מחר חדש
|
|
133
|
+
const tommorow = hd.next().getDate();
|
|
134
|
+
if (tommorow === 30 || tommorow === 1) {
|
|
135
|
+
handleSpecial('Shabbat Machar Chodesh');
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return { aliyot, reason, haft, seph };
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export { specialReadings2 };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Aliyah, AliyotMap } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Summarizes an `AliyotMap` by collapsing all adjacent aliyot.
|
|
4
|
+
* Finds any non-overlapping parts (e.g. special 7th aliyah or maftir)
|
|
5
|
+
*/
|
|
6
|
+
export declare function makeLeyningParts(aliyot: AliyotMap): Aliyah[];
|
|
7
|
+
/**
|
|
8
|
+
* Returns a string representation of the leyning parts.
|
|
9
|
+
* Separate verse ranges read from the same book are separated
|
|
10
|
+
* by commas, e.g. `Isaiah 6:1-7:6, 9:5-6`.
|
|
11
|
+
* Verse ranges from different books are separated by semicolons,
|
|
12
|
+
* e.g. `Genesis 21:1-34; Numbers 29:1-6`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function makeSummaryFromParts(parts: Aliyah | Aliyah[]): string;
|
|
15
|
+
/**
|
|
16
|
+
* Makes a summary of the leyning, like "Genesis 6:9-11:32"
|
|
17
|
+
*/
|
|
18
|
+
export declare function makeLeyningSummary(aliyot: AliyotMap): string;
|