@hebcal/leyning 6.2.3 → 7.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/README.md +53 -23
- package/dist/bundle.js +418 -448
- package/dist/bundle.min.js +2 -2
- package/dist/index.js +102 -61
- package/dist/index.mjs +102 -62
- package/leyning.d.ts +14 -6
- package/package.json +15 -18
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/leyning
|
|
1
|
+
/*! @hebcal/leyning v7.0.0 */
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var core = require('@hebcal/core');
|
|
@@ -14,10 +14,15 @@ const BOOK = ['', 'Genesis', 'Exodus', 'Leviticus', 'Numbers', 'Deuteronomy'];
|
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Formats parsha as a string
|
|
17
|
-
* @param {string[]} parsha
|
|
17
|
+
* @param {string|string[]} parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
18
18
|
* @return {string}
|
|
19
19
|
*/
|
|
20
20
|
function parshaToString(parsha) {
|
|
21
|
+
if (typeof parsha === 'string') {
|
|
22
|
+
return parsha;
|
|
23
|
+
} else if (!Array.isArray(parsha) || parsha.length === 0 || parsha.length > 2) {
|
|
24
|
+
throw new TypeError(`Bad parsha argument: ${parsha}`);
|
|
25
|
+
}
|
|
21
26
|
let s = parsha[0];
|
|
22
27
|
if (parsha.length == 2) {
|
|
23
28
|
s += '-' + parsha[1];
|
|
@@ -270,6 +275,9 @@ const HOLIDAY_IGNORE_MASK = core.flags.DAF_YOMI | core.flags.OMER_COUNT | core.f
|
|
|
270
275
|
* @return {string} key to look up in holiday-reading.json
|
|
271
276
|
*/
|
|
272
277
|
function getLeyningKeyForEvent(ev, il = false) {
|
|
278
|
+
if (typeof ev.eventTime !== 'undefined') {
|
|
279
|
+
return undefined;
|
|
280
|
+
}
|
|
273
281
|
const mask = ev.getFlags();
|
|
274
282
|
if (mask & HOLIDAY_IGNORE_MASK) {
|
|
275
283
|
return undefined;
|
|
@@ -332,6 +340,9 @@ function getLeyningKeyForEvent(ev, il = false) {
|
|
|
332
340
|
} else if (il && desc == 'Shmini Atzeret') {
|
|
333
341
|
return 'Simchat Torah';
|
|
334
342
|
}
|
|
343
|
+
if (desc === 'Chag HaBanot') {
|
|
344
|
+
return undefined;
|
|
345
|
+
}
|
|
335
346
|
if (isShabbat && 'Shabbat' != desc.substring(0, 7)) {
|
|
336
347
|
if (isRoshChodesh) {
|
|
337
348
|
if (desc === 'Rosh Chodesh Tevet') {
|
|
@@ -376,6 +387,16 @@ function getLeyningKeyForEvent(ev, il = false) {
|
|
|
376
387
|
return undefined;
|
|
377
388
|
}
|
|
378
389
|
|
|
390
|
+
/**
|
|
391
|
+
* Leyning for a parsha hashavua or holiday
|
|
392
|
+
* @typedef {Object} SpecialReading
|
|
393
|
+
* @property {Object<string,Aliyah>} aliyot - Map of aliyot `1` through `7` plus `M` for maftir
|
|
394
|
+
* @property {Object<string,string>} [reason] - Explanations for special readings,
|
|
395
|
+
* keyed by aliyah number, `M` for maftir or `haftara` for Haftarah
|
|
396
|
+
* @property {Aliyah|Aliyah[]} haft - Haftarah object(s)
|
|
397
|
+
* @property {Aliyah|Aliyah[]} seph - Haftarah object(s)
|
|
398
|
+
*/
|
|
399
|
+
|
|
379
400
|
/**
|
|
380
401
|
* @private
|
|
381
402
|
* @param {Object<string,Aliyah>} aliyot
|
|
@@ -419,24 +440,23 @@ function mergeAliyotWithSpecial(aliyot, special) {
|
|
|
419
440
|
* a special maftir or Haftara (for example Shabbat HaGadol, Shabbat Chanukah, Rosh
|
|
420
441
|
* Chodesh or Machar Chodesh, etc.).
|
|
421
442
|
*
|
|
422
|
-
*
|
|
423
|
-
*
|
|
443
|
+
* This function does not modify `aliyot`. Instead, it returns a deep copy
|
|
444
|
+
* with `aliyot['M']` replaced and sets `reason.M`
|
|
445
|
+
* (and in some cases the 6th and 7th aliyah, setting `reason['7']`).
|
|
424
446
|
*
|
|
425
|
-
* If a special Haftarah applies,
|
|
426
|
-
*
|
|
447
|
+
* If a special Haftarah applies, the result will have a `haft` property
|
|
448
|
+
* pointing to Haftarah object and sets `reason.haftara`.
|
|
449
|
+
* @param {string[]} parsha
|
|
427
450
|
* @param {HDate} hd
|
|
428
451
|
* @param {boolean} il
|
|
429
452
|
* @param {Object<string,Aliyah>} aliyot
|
|
430
|
-
* @
|
|
431
|
-
* @param {string[]} parsha
|
|
432
|
-
* @param {boolean} [wantSeph]
|
|
433
|
-
* @return {Aliyah | Aliyah[]}
|
|
453
|
+
* @return {SpecialReading}
|
|
434
454
|
*/
|
|
435
|
-
function
|
|
455
|
+
function specialReadings2(parsha, hd, il, aliyot) {
|
|
436
456
|
let haft;
|
|
437
457
|
let seph;
|
|
438
458
|
let specialHaft = false;
|
|
439
|
-
const
|
|
459
|
+
const reason = {};
|
|
440
460
|
|
|
441
461
|
// eslint-disable-next-line require-jsdoc
|
|
442
462
|
function handleSpecial(key) {
|
|
@@ -454,14 +474,17 @@ function specialReadings(hd, il, aliyot, reason, parsha, wantSeph = false) {
|
|
|
454
474
|
}
|
|
455
475
|
}
|
|
456
476
|
if (special.fullkriyah) {
|
|
457
|
-
|
|
477
|
+
const aliyotMap = clone(aliyot);
|
|
478
|
+
mergeAliyotWithSpecial(aliyotMap, special.fullkriyah);
|
|
458
479
|
Object.keys(special.fullkriyah).map(k => reason[k] = key);
|
|
480
|
+
aliyot = aliyotMap;
|
|
459
481
|
}
|
|
460
482
|
}
|
|
483
|
+
const parshaName = parshaToString(parsha);
|
|
461
484
|
const events0 = core.HebrewCalendar.getHolidaysOnDate(hd, il) || [];
|
|
462
485
|
const events = events0.filter(ev => !(ev.getFlags() & core.flags.ROSH_CHODESH));
|
|
463
486
|
events.forEach(ev => {
|
|
464
|
-
if (ev.getDesc() === 'Shabbat Shuva'
|
|
487
|
+
if (ev.getDesc() === 'Shabbat Shuva') {
|
|
465
488
|
handleSpecial(`Shabbat Shuva (with ${parshaName})`);
|
|
466
489
|
} else {
|
|
467
490
|
const key = getLeyningKeyForEvent(ev, il);
|
|
@@ -486,14 +509,12 @@ function specialReadings(hd, il, aliyot, reason, parsha, wantSeph = false) {
|
|
|
486
509
|
}
|
|
487
510
|
}
|
|
488
511
|
}
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
}
|
|
495
|
-
return haft;
|
|
496
|
-
}
|
|
512
|
+
return {
|
|
513
|
+
aliyot,
|
|
514
|
+
reason,
|
|
515
|
+
haft,
|
|
516
|
+
seph
|
|
517
|
+
};
|
|
497
518
|
}
|
|
498
519
|
|
|
499
520
|
var Bereshit={num:1,hebrew:"בְּרֵאשִׁית",book:1,haft:{k:"Isaiah",b:"42:5",e:"43:10"},seph:{k:"Isaiah",b:"42:5",e:"42:21"},fullkriyah:{"1":["1:1","2:3"],"2":["2:4","2:19"],"3":["2:20","3:21"],"4":["3:22","4:18"],"5":["4:19","4:22"],"6":["4:23","5:24"],"7":["5:25","6:8"],M:["6:5","6:8"]},weekday:{"1":["1:1","1:5"],"2":["1:6","1:8"],"3":["1:9","1:13"]}};var Noach={num:2,hebrew:"נֹחַ",book:1,haft:{k:"Isaiah",b:"54:1",e:"55:5"},seph:{k:"Isaiah",b:"54:1",e:"54:10"},fullkriyah:{"1":["6:9","6:22"],"2":["7:1","7:16"],"3":["7:17","8:14"],"4":["8:15","9:7"],"5":["9:8","9:17"],"6":["9:18","10:32"],"7":["11:1","11:32"],M:["11:29","11:32"]},weekday:{"1":["6:9","6:16"],"2":["6:17","6:19"],"3":["6:20","6:22"]}};var Vayera={num:4,hebrew:"וַיֵּרָא",book:1,haft:{k:"II Kings",b:"4:1",e:"4:37"},seph:{k:"II Kings",b:"4:1",e:"4:23"},fullkriyah:{"1":["18:1","18:14"],"2":["18:15","18:33"],"3":["19:1","19:20"],"4":["19:21","21:4"],"5":["21:5","21:21"],"6":["21:22","21:34"],"7":["22:1","22:24"],M:["22:20","22:24"]},weekday:{"1":["18:1","18:5"],"2":["18:6","18:8"],"3":["18:9","18:14"]}};var Toldot={num:6,hebrew:"תּוֹלְדוֹת",book:1,haft:{k:"Malachi",b:"1:1",e:"2:7"},fullkriyah:{"1":["25:19","26:5"],"2":["26:6","26:12"],"3":["26:13","26:22"],"4":["26:23","26:29"],"5":["26:30","27:27"],"6":["27:28","28:4"],"7":["28:5","28:9"],M:["28:7","28:9"]},weekday:{"1":["25:19","25:22"],"2":["25:23","25:26"],"3":["25:27","26:5"]}};var Vayetzei={num:7,hebrew:"וַיֵּצֵא",book:1,haft:{k:"Hosea",b:"12:13",e:"14:10"},seph:{k:"Hosea",b:"11:7",e:"12:12"},fullkriyah:{"1":["28:10","28:22"],"2":["29:1","29:17"],"3":["29:18","30:13"],"4":["30:14","30:27"],"5":["30:28","31:16"],"6":["31:17","31:42"],"7":["31:43","32:3"],M:["32:1","32:3"]},weekday:{"1":["28:10","28:12"],"2":["28:13","28:17"],"3":["28:18","28:22"]}};var Vayishlach={num:8,hebrew:"וַיִּשְׁלַח",book:1,haft:{k:"Obadiah",b:"1:1",e:"1:21"},fullkriyah:{"1":["32:4","32:13"],"2":["32:14","32:30"],"3":["32:31","33:5"],"4":["33:6","33:20"],"5":["34:1","35:11"],"6":["35:12","36:19"],"7":["36:20","36:43"],M:["36:40","36:43"]},weekday:{"1":["32:4","32:6"],"2":["32:7","32:9"],"3":["32:10","32:13"]}};var Vayeshev={num:9,hebrew:"וַיֵּשֶׁב",book:1,haft:{k:"Amos",b:"2:6",e:"3:8"},fullkriyah:{"1":["37:1","37:11"],"2":["37:12","37:22"],"3":["37:23","37:36"],"4":["38:1","38:30"],"5":["39:1","39:6"],"6":["39:7","39:23"],"7":["40:1","40:23"],M:["40:20","40:23"]},weekday:{"1":["37:1","37:3"],"2":["37:4","37:7"],"3":["37:8","37:11"]}};var Miketz={num:10,hebrew:"מִקֵּץ",book:1,haft:{k:"I Kings",b:"3:15",e:"4:1"},fullkriyah:{"1":["41:1","41:14"],"2":["41:15","41:38"],"3":["41:39","41:52"],"4":["41:53","42:18"],"5":["42:19","43:15"],"6":["43:16","43:29"],"7":["43:30","44:17"],M:["44:14","44:17"]},weekday:{"1":["41:1","41:4"],"2":["41:5","41:7"],"3":["41:8","41:14"]}};var Vayigash={num:11,hebrew:"וַיִּגַּשׁ",book:1,haft:{k:"Ezekiel",b:"37:15",e:"37:28"},fullkriyah:{"1":["44:18","44:30"],"2":["44:31","45:7"],"3":["45:8","45:18"],"4":["45:19","45:27"],"5":["45:28","46:27"],"6":["46:28","47:10"],"7":["47:11","47:27"],M:["47:25","47:27"]},weekday:{"1":["44:18","44:20"],"2":["44:21","44:24"],"3":["44:25","44:30"]}};var Vayechi={num:12,hebrew:"וַיְחִי",book:1,haft:{k:"I Kings",b:"2:1",e:"2:12"},fullkriyah:{"1":["47:28","48:9"],"2":["48:10","48:16"],"3":["48:17","48:22"],"4":["49:1","49:18"],"5":["49:19","49:26"],"6":["49:27","50:20"],"7":["50:21","50:26"],M:["50:23","50:26"]},weekday:{"1":["47:28","47:31"],"2":["48:1","48:3"],"3":["48:4","48:9"]}};var Shemot={num:13,hebrew:"שְׁמוֹת",book:2,haft:[{k:"Isaiah",b:"27:6",e:"28:13"},{k:"Isaiah",b:"29:22",e:"29:23"}],seph:{k:"Jeremiah",b:"1:1",e:"2:3"},fullkriyah:{"1":["1:1","1:17"],"2":["1:18","2:10"],"3":["2:11","2:25"],"4":["3:1","3:15"],"5":["3:16","4:17"],"6":["4:18","4:31"],"7":["5:1","6:1"],M:["5:22","6:1"]},weekday:{"1":["1:1","1:7"],"2":["1:8","1:12"],"3":["1:13","1:17"]}};var Vaera={num:14,hebrew:"וָאֵרָא",book:2,haft:{k:"Ezekiel",b:"28:25",e:"29:21"},fullkriyah:{"1":["6:2","6:13"],"2":["6:14","6:28"],"3":["6:29","7:7"],"4":["7:8","8:6"],"5":["8:7","8:18"],"6":["8:19","9:16"],"7":["9:17","9:35"],M:["9:33","9:35"]},weekday:{"1":["6:2","6:5"],"2":["6:6","6:9"],"3":["6:10","6:13"]}};var Bo={num:15,hebrew:"בֹּא",book:2,haft:{k:"Jeremiah",b:"46:13",e:"46:28"},fullkriyah:{"1":["10:1","10:11"],"2":["10:12","10:23"],"3":["10:24","11:3"],"4":["11:4","12:20"],"5":["12:21","12:28"],"6":["12:29","12:51"],"7":["13:1","13:16"],M:["13:14","13:16"]},weekday:{"1":["10:1","10:3"],"2":["10:4","10:6"],"3":["10:7","10:11"]}};var Beshalach={num:16,hebrew:"בְּשַׁלַּח",book:2,haft:{k:"Judges",b:"4:4",e:"5:31"},seph:{k:"Judges",b:"5:1",e:"5:31"},fullkriyah:{"1":["13:17","14:8"],"2":["14:9","14:14"],"3":["14:15","14:25"],"4":["14:26","15:26"],"5":["15:27","16:10"],"6":["16:11","16:36"],"7":["17:1","17:16"],M:["17:14","17:16"]},weekday:{"1":["13:17","13:22"],"2":["14:1","14:4"],"3":["14:5","14:8"]}};var Yitro={num:17,hebrew:"יִתְרוֹ",book:2,haft:[{k:"Isaiah",b:"6:1",e:"7:6"},{k:"Isaiah",b:"9:5",e:"9:6"}],seph:{k:"Isaiah",b:"6:1",e:"6:13"},fullkriyah:{"1":["18:1","18:12"],"2":["18:13","18:23"],"3":["18:24","18:27"],"4":["19:1","19:6"],"5":["19:7","19:19"],"6":["19:20","20:14"],"7":["20:15","20:23"],M:["20:19","20:23"]},weekday:{"1":["18:1","18:4"],"2":["18:5","18:8"],"3":["18:9","18:12"]}};var Mishpatim={num:18,hebrew:"מִּשְׁפָּטִים",book:2,haft:[{k:"Jeremiah",b:"34:8",e:"34:22"},{k:"Jeremiah",b:"33:25",e:"33:26"}],fullkriyah:{"1":["21:1","21:19"],"2":["21:20","22:3"],"3":["22:4","22:26"],"4":["22:27","23:5"],"5":["23:6","23:19"],"6":["23:20","23:25"],"7":["23:26","24:18"],M:["24:15","24:18"]},weekday:{"1":["21:1","21:6"],"2":["21:7","21:11"],"3":["21:12","21:19"]}};var Terumah={num:19,hebrew:"תְּרוּמָה",book:2,haft:{k:"I Kings",b:"5:26",e:"6:13"},fullkriyah:{"1":["25:1","25:16"],"2":["25:17","25:30"],"3":["25:31","26:14"],"4":["26:15","26:30"],"5":["26:31","26:37"],"6":["27:1","27:8"],"7":["27:9","27:19"],M:["27:17","27:19"]},weekday:{"1":["25:1","25:5"],"2":["25:6","25:9"],"3":["25:10","25:16"]}};var Tetzaveh={num:20,hebrew:"תְּצַוֶּה",book:2,haft:{k:"Ezekiel",b:"43:10",e:"43:27"},fullkriyah:{"1":["27:20","28:12"],"2":["28:13","28:30"],"3":["28:31","28:43"],"4":["29:1","29:18"],"5":["29:19","29:37"],"6":["29:38","29:46"],"7":["30:1","30:10"],M:["30:8","30:10"]},weekday:{"1":["27:20","28:5"],"2":["28:6","28:9"],"3":["28:10","28:12"]}};var Vayakhel={num:22,hebrew:"וַיַּקְהֵל",book:2,haft:{k:"I Kings",b:"7:40",e:"7:50"},seph:{k:"I Kings",b:"7:13",e:"7:26"},fullkriyah:{"1":["35:1","35:20"],"2":["35:21","35:29"],"3":["35:30","36:7"],"4":["36:8","36:19"],"5":["36:20","37:16"],"6":["37:17","37:29"],"7":["38:1","38:20"],M:["38:18","38:20"]},weekday:{"1":["35:1","35:3"],"2":["35:4","35:10"],"3":["35:11","35:20"]}};var Pekudei={num:23,hebrew:"פְקוּדֵי",book:2,haft:{k:"I Kings",b:"7:51",e:"8:21"},seph:{k:"I Kings",b:"7:40",e:"7:50"},fullkriyah:{"1":["38:21","39:1"],"2":["39:2","39:21"],"3":["39:22","39:32"],"4":["39:33","39:43"],"5":["40:1","40:16"],"6":["40:17","40:27"],"7":["40:28","40:38"],M:["40:34","40:38"]},weekday:{"1":["38:21","38:23"],"2":["38:24","38:27"],"3":["38:28","39:1"]}};var Vayikra={num:24,hebrew:"וַיִּקְרָא",book:3,haft:{k:"Isaiah",b:"43:21",e:"44:23"},fullkriyah:{"1":["1:1","1:13"],"2":["1:14","2:6"],"3":["2:7","2:16"],"4":["3:1","3:17"],"5":["4:1","4:26"],"6":["4:27","5:10"],"7":["5:11","5:26"],M:["5:24","5:26"]},weekday:{"1":["1:1","1:4"],"2":["1:5","1:9"],"3":["1:10","1:13"]}};var Tzav={num:25,hebrew:"צַו",book:3,haft:[{k:"Jeremiah",b:"7:21",e:"8:3"},{k:"Jeremiah",b:"9:22",e:"9:23"}],fullkriyah:{"1":["6:1","6:11"],"2":["6:12","7:10"],"3":["7:11","7:38"],"4":["8:1","8:13"],"5":["8:14","8:21"],"6":["8:22","8:29"],"7":["8:30","8:36"],M:["8:33","8:36"]},weekday:{"1":["6:1","6:3"],"2":["6:4","6:6"],"3":["6:7","6:11"]}};var Shmini={num:26,hebrew:"שְּׁמִינִי",book:3,haft:{k:"II Samuel",b:"6:1",e:"7:17"},seph:{k:"II Samuel",b:"6:1",e:"6:19"},fullkriyah:{"1":["9:1","9:16"],"2":["9:17","9:23"],"3":["9:24","10:11"],"4":["10:12","10:15"],"5":["10:16","10:20"],"6":["11:1","11:32"],"7":["11:33","11:47"],M:["11:45","11:47"]},weekday:{"1":["9:1","9:6"],"2":["9:7","9:10"],"3":["9:11","9:16"]}};var Tazria={num:27,hebrew:"תַזְרִיעַ",book:3,haft:{k:"II Kings",b:"4:42",e:"5:19"},fullkriyah:{"1":["12:1","13:5"],"2":["13:6","13:17"],"3":["13:18","13:23"],"4":["13:24","13:28"],"5":["13:29","13:39"],"6":["13:40","13:54"],"7":["13:55","13:59"],M:["13:57","13:59"]},weekday:{"1":["12:1","12:4"],"2":["12:5","12:8"],"3":["13:1","13:5"]}};var Metzora={num:28,hebrew:"מְּצֹרָע",book:3,haft:{k:"II Kings",b:"7:3",e:"7:20"},fullkriyah:{"1":["14:1","14:12"],"2":["14:13","14:20"],"3":["14:21","14:32"],"4":["14:33","14:53"],"5":["14:54","15:15"],"6":["15:16","15:28"],"7":["15:29","15:33"],M:["15:31","15:33"]},weekday:{"1":["14:1","14:5"],"2":["14:6","14:9"],"3":["14:10","14:12"]}};var Kedoshim={num:30,hebrew:"קְדשִׁים",book:3,haft:{k:"Amos",b:"9:7",e:"9:15"},seph:{k:"Ezekiel",b:"20:2",e:"20:20"},fullkriyah:{"1":["19:1","19:14"],"2":["19:15","19:22"],"3":["19:23","19:32"],"4":["19:33","19:37"],"5":["20:1","20:7"],"6":["20:8","20:22"],"7":["20:23","20:27"],M:["20:25","20:27"]},weekday:{"1":["19:1","19:4"],"2":["19:5","19:10"],"3":["19:11","19:14"]}};var Emor={num:31,hebrew:"אֱמוֹר",book:3,haft:{k:"Ezekiel",b:"44:15",e:"44:31"},fullkriyah:{"1":["21:1","21:15"],"2":["21:16","22:16"],"3":["22:17","22:33"],"4":["23:1","23:22"],"5":["23:23","23:32"],"6":["23:33","23:44"],"7":["24:1","24:23"],M:["24:21","24:23"]},weekday:{"1":["21:1","21:6"],"2":["21:7","21:12"],"3":["21:13","21:15"]}};var Behar={num:32,hebrew:"בְּהַר",book:3,haft:{k:"Jeremiah",b:"32:6",e:"32:27"},fullkriyah:{"1":["25:1","25:13"],"2":["25:14","25:18"],"3":["25:19","25:24"],"4":["25:25","25:28"],"5":["25:29","25:38"],"6":["25:39","25:46"],"7":["25:47","26:2"],M:["25:55","26:2"]},weekday:{"1":["25:1","25:3"],"2":["25:4","25:7"],"3":["25:8","25:13"]}};var Bechukotai={num:33,hebrew:"בְּחֻקֹּתַי",book:3,haft:{k:"Jeremiah",b:"16:19",e:"17:14"},fullkriyah:{"1":["26:3","26:5"],"2":["26:6","26:9"],"3":["26:10","26:46"],"4":["27:1","27:15"],"5":["27:16","27:21"],"6":["27:22","27:28"],"7":["27:29","27:34"],M:["27:32","27:34"]},weekday:{"1":["26:3","26:5"],"2":["26:6","26:9"],"3":["26:10","26:13"]}};var Bamidbar={num:34,hebrew:"בְּמִדְבַּר",book:4,haft:{k:"Hosea",b:"2:1",e:"2:22"},fullkriyah:{"1":["1:1","1:19"],"2":["1:20","1:54"],"3":["2:1","2:34"],"4":["3:1","3:13"],"5":["3:14","3:39"],"6":["3:40","3:51"],"7":["4:1","4:20"],M:["4:17","4:20"]},weekday:{"1":["1:1","1:4"],"2":["1:5","1:16"],"3":["1:17","1:19"]}};var Nasso={num:35,hebrew:"נָשׂא",book:4,haft:{k:"Judges",b:"13:2",e:"13:25"},fullkriyah:{"1":["4:21","4:37"],"2":["4:38","4:49"],"3":["5:1","5:10"],"4":["5:11","6:27"],"5":["7:1","7:41"],"6":["7:42","7:71"],"7":["7:72","7:89"],M:["7:87","7:89"]},weekday:{"1":["4:21","4:24"],"2":["4:25","4:28"],"3":["4:29","4:33"]}};var Korach={num:38,hebrew:"קוֹרַח",book:4,haft:{k:"I Samuel",b:"11:14",e:"12:22"},fullkriyah:{"1":["16:1","16:13"],"2":["16:14","16:19"],"3":["16:20","17:8"],"4":["17:9","17:15"],"5":["17:16","17:24"],"6":["17:25","18:20"],"7":["18:21","18:32"],M:["18:30","18:32"]},weekday:{"1":["16:1","16:3"],"2":["16:4","16:7"],"3":["16:8","16:13"]}};var Chukat={num:39,hebrew:"חֻקַּת",book:4,haft:{k:"Judges",b:"11:1",e:"11:33"},fullkriyah:{"1":["19:1","19:17"],"2":["19:18","20:6"],"3":["20:7","20:13"],"4":["20:14","20:21"],"5":["20:22","21:9"],"6":["21:10","21:20"],"7":["21:21","22:1"],M:["21:34","22:1"]},weekday:{"1":["19:1","19:6"],"2":["19:7","19:9"],"3":["19:10","19:17"]}};var Balak={num:40,hebrew:"בָּלָק",book:4,haft:{k:"Micah",b:"5:6",e:"6:8"},fullkriyah:{"1":["22:2","22:12"],"2":["22:13","22:20"],"3":["22:21","22:38"],"4":["22:39","23:12"],"5":["23:13","23:26"],"6":["23:27","24:13"],"7":["24:14","25:9"],M:["25:7","25:9"]},weekday:{"1":["22:2","22:4"],"2":["22:5","22:7"],"3":["22:8","22:12"]}};var Pinchas={num:41,hebrew:"פִּינְחָס",book:4,haft:{k:"I Kings",b:"18:46",e:"19:21"},fullkriyah:{"1":["25:10","26:4"],"2":["26:5","26:51"],"3":["26:52","27:5"],"4":["27:6","27:23"],"5":["28:1","28:15"],"6":["28:16","29:11"],"7":["29:12","30:1"],M:["29:35","30:1"]},weekday:{"1":["25:10","25:12"],"2":["25:13","25:15"],"3":["25:16","26:4"]}};var Matot={num:42,hebrew:"מַּטּוֹת",book:4,haft:{k:"Jeremiah",b:"1:1",e:"2:3"},fullkriyah:{"1":["30:2","30:17"],"2":["31:1","31:12"],"3":["31:13","31:24"],"4":["31:25","31:41"],"5":["31:42","31:54"],"6":["32:1","32:19"],"7":["32:20","32:42"],M:["32:39","32:42"]},weekday:{"1":["30:2","30:9"],"2":["30:10","30:13"],"3":["30:14","30:17"]}};var Masei={num:43,hebrew:"מַסְעֵי",book:4,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"}],fullkriyah:{"1":["33:1","33:10"],"2":["33:11","33:49"],"3":["33:50","34:15"],"4":["34:16","34:29"],"5":["35:1","35:8"],"6":["35:9","35:34"],"7":["36:1","36:13"],M:["36:11","36:13"]},weekday:{"1":["33:1","33:3"],"2":["33:4","33:6"],"3":["33:7","33:10"]}};var Devarim={num:44,hebrew:"דְּבָרִים",book:5,haft:{k:"Isaiah",b:"1:1",e:"1:27"},fullkriyah:{"1":["1:1","1:10"],"2":["1:11","1:21"],"3":["1:22","1:38"],"4":["1:39","2:1"],"5":["2:2","2:30"],"6":["2:31","3:14"],"7":["3:15","3:22"],M:["3:20","3:22"]},weekday:{"1":["1:1","1:3"],"2":["1:4","1:7"],"3":["1:8","1:11"]}};var Vaetchanan={num:45,hebrew:"וָאֶתְחַנַּן",book:5,haft:{k:"Isaiah",b:"40:1",e:"40:26"},fullkriyah:{"1":["3:23","4:4"],"2":["4:5","4:40"],"3":["4:41","4:49"],"4":["5:1","5:18"],"5":["5:19","6:3"],"6":["6:4","6:25"],"7":["7:1","7:11"],M:["7:9","7:11"]},weekday:{"1":["3:23","3:25"],"2":["3:26","4:4"],"3":["4:5","4:8"]}};var Eikev={num:46,hebrew:"עֵקֶב",book:5,haft:{k:"Isaiah",b:"49:14",e:"51:3"},fullkriyah:{"1":["7:12","8:10"],"2":["8:11","9:3"],"3":["9:4","9:29"],"4":["10:1","10:11"],"5":["10:12","11:9"],"6":["11:10","11:21"],"7":["11:22","11:25"],M:["11:22","11:25"]},weekday:{"1":["7:12","7:21"],"2":["7:22","8:3"],"3":["8:4","8:10"]}};var Shoftim={num:48,hebrew:"שׁוֹפְטִים",book:5,haft:{k:"Isaiah",b:"51:12",e:"52:12"},fullkriyah:{"1":["16:18","17:13"],"2":["17:14","17:20"],"3":["18:1","18:5"],"4":["18:6","18:13"],"5":["18:14","19:13"],"6":["19:14","20:9"],"7":["20:10","21:9"],M:["21:7","21:9"]},weekday:{"1":["16:18","16:20"],"2":["16:21","17:10"],"3":["17:11","17:13"]}};var Nitzavim={num:51,hebrew:"נִצָּבִים",book:5,haft:{k:"Isaiah",b:"61:10",e:"63:9"},fullkriyah:{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"],"4":["30:1","30:6"],"5":["30:7","30:10"],"6":["30:11","30:14"],"7":["30:15","30:20"],M:["30:15","30:20"]},weekday:{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"]}};var Vayeilech={num:52,hebrew:"וַיֵּלֶךְ",book:5,haft:{k:"Isaiah",b:"55:6",e:"56:8"},fullkriyah:{"1":["31:1","31:3"],"2":["31:4","31:6"],"3":["31:7","31:9"],"4":["31:10","31:13"],"5":["31:14","31:19"],"6":["31:20","31:24"],"7":["31:25","31:30"],M:["31:28","31:30"]},weekday:{"1":["31:1","31:3"],"2":["31:4","31:6"],"3":["31:7","31:13"]}};var parshiyotObj = {Bereshit:Bereshit,Noach:Noach,"Lech-Lecha":{num:3,hebrew:"לֶךְ־לְךָ",book:1,haft:{k:"Isaiah",b:"40:27",e:"41:16"},fullkriyah:{"1":["12:1","12:13"],"2":["12:14","13:4"],"3":["13:5","13:18"],"4":["14:1","14:20"],"5":["14:21","15:6"],"6":["15:7","17:6"],"7":["17:7","17:27"],M:["17:24","17:27"]},weekday:{"1":["12:1","12:3"],"2":["12:4","12:9"],"3":["12:10","12:13"]}},Vayera:Vayera,"Chayei Sara":{num:5,hebrew:"חַיֵּי שָֹרָה",book:1,haft:{k:"I Kings",b:"1:1",e:"1:31"},fullkriyah:{"1":["23:1","23:16"],"2":["23:17","24:9"],"3":["24:10","24:26"],"4":["24:27","24:52"],"5":["24:53","24:67"],"6":["25:1","25:11"],"7":["25:12","25:18"],M:["25:16","25:18"]},weekday:{"1":["23:1","23:7"],"2":["23:8","23:12"],"3":["23:13","23:16"]}},Toldot:Toldot,Vayetzei:Vayetzei,Vayishlach:Vayishlach,Vayeshev:Vayeshev,Miketz:Miketz,Vayigash:Vayigash,Vayechi:Vayechi,Shemot:Shemot,Vaera:Vaera,Bo:Bo,Beshalach:Beshalach,Yitro:Yitro,Mishpatim:Mishpatim,Terumah:Terumah,Tetzaveh:Tetzaveh,"Ki Tisa":{num:21,hebrew:"כִּי תִשָּׂא",book:2,haft:{k:"I Kings",b:"18:1",e:"18:39"},seph:{k:"I Kings",b:"18:20",e:"18:39"},fullkriyah:{"1":["30:11","31:17"],"2":["31:18","33:11"],"3":["33:12","33:16"],"4":["33:17","33:23"],"5":["34:1","34:9"],"6":["34:10","34:26"],"7":["34:27","34:35"],M:["34:33","34:35"]},weekday:{"1":["30:11","30:13"],"2":["30:14","30:16"],"3":["30:17","30:21"]}},Vayakhel:Vayakhel,Pekudei:Pekudei,Vayikra:Vayikra,Tzav:Tzav,Shmini:Shmini,Tazria:Tazria,Metzora:Metzora,"Achrei Mot":{num:29,hebrew:"אַחֲרֵי מוֹת",book:3,haft:{k:"Ezekiel",b:"22:1",e:"22:19"},seph:{k:"Ezekiel",b:"22:1",e:"22:16"},fullkriyah:{"1":["16:1","16:17"],"2":["16:18","16:24"],"3":["16:25","16:34"],"4":["17:1","17:7"],"5":["17:8","18:5"],"6":["18:6","18:21"],"7":["18:22","18:30"],M:["18:28","18:30"]},weekday:{"1":["16:1","16:6"],"2":["16:7","16:11"],"3":["16:12","16:17"]}},Kedoshim:Kedoshim,Emor:Emor,Behar:Behar,Bechukotai:Bechukotai,Bamidbar:Bamidbar,Nasso:Nasso,"Beha'alotcha":{num:36,hebrew:"בְּהַעֲלֹתְךָ",book:4,haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{"1":["8:1","8:14"],"2":["8:15","8:26"],"3":["9:1","9:14"],"4":["9:15","10:10"],"5":["10:11","10:34"],"6":["10:35","11:29"],"7":["11:30","12:16"],M:["12:14","12:16"]},weekday:{"1":["8:1","8:4"],"2":["8:5","8:9"],"3":["8:10","8:14"]}},"Sh'lach":{num:37,hebrew:"שְׁלַח־לְךָ",book:4,haft:{k:"Joshua",b:"2:1",e:"2:24"},fullkriyah:{"1":["13:1","13:20"],"2":["13:21","14:7"],"3":["14:8","14:25"],"4":["14:26","15:7"],"5":["15:8","15:16"],"6":["15:17","15:26"],"7":["15:27","15:41"],M:["15:37","15:41"]},weekday:{"1":["13:1","13:3"],"2":["13:4","13:16"],"3":["13:17","13:20"]}},Korach:Korach,Chukat:Chukat,Balak:Balak,Pinchas:Pinchas,Matot:Matot,Masei:Masei,Devarim:Devarim,Vaetchanan:Vaetchanan,Eikev:Eikev,"Re'eh":{num:47,hebrew:"רְאֵה",book:5,haft:{k:"Isaiah",b:"54:11",e:"55:5"},fullkriyah:{"1":["11:26","12:10"],"2":["12:11","12:28"],"3":["12:29","13:19"],"4":["14:1","14:21"],"5":["14:22","14:29"],"6":["15:1","15:18"],"7":["15:19","16:17"],M:["16:13","16:17"]},weekday:{"1":["11:26","11:31"],"2":["11:32","12:5"],"3":["12:6","12:10"]}},Shoftim:Shoftim,"Ki Teitzei":{num:49,hebrew:"כִּי־תֵצֵא",book:5,haft:{k:"Isaiah",b:"54:1",e:"54:10"},fullkriyah:{"1":["21:10","21:21"],"2":["21:22","22:7"],"3":["22:8","23:7"],"4":["23:8","23:24"],"5":["23:25","24:4"],"6":["24:5","24:13"],"7":["24:14","25:19"],M:["25:17","25:19"]},weekday:{"1":["21:10","21:14"],"2":["21:15","21:17"],"3":["21:18","21:21"]}},"Ki Tavo":{num:50,hebrew:"כִּי־תָבוֹא",book:5,haft:{k:"Isaiah",b:"60:1",e:"60:22"},fullkriyah:{"1":["26:1","26:11"],"2":["26:12","26:15"],"3":["26:16","26:19"],"4":["27:1","27:10"],"5":["27:11","28:6"],"6":["28:7","28:69"],"7":["29:1","29:8"],M:["29:6","29:8"]},weekday:{"1":["26:1","26:3"],"2":["26:4","26:11"],"3":["26:12","26:15"]}},Nitzavim:Nitzavim,Vayeilech:Vayeilech,"Ha'Azinu":{num:53,hebrew:"הַאֲזִינוּ",book:5,haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":["32:1","32:6"],"2":["32:7","32:12"],"3":["32:13","32:18"],"4":["32:19","32:28"],"5":["32:29","32:39"],"6":["32:40","32:43"],"7":["32:44","32:52"],M:["32:48","32:52"]},weekday:{"1":["32:1","32:3"],"2":["32:4","32:6"],"3":["32:7","32:12"]}},"Vezot Haberakhah":{num:54,hebrew:"וְזֹאת הַבְּרָכָה",book:5,haft:{k:"Joshua",b:"1:1",e:"1:18"},seph:{k:"Joshua",b:"1:1",e:"1:9"},fullkriyah:{"1":["33:1","33:7"],"2":["33:8","33:12"],"3":["33:13","33:17"],"4":["33:18","33:21"],"5":["33:22","33:26"],"6":["33:27","33:29"],"7":["34:1","34:12"]},weekday:{"1":["33:1","33:7"],"2":["33:8","33:12"],"3":["33:13","33:17"]}},"Vayakhel-Pekudei":{num:101,combined:true,p1:"Vayakhel",p2:"Pekudei",num1:22,num2:23,book:2,fullkriyah:{"1":["35:1","35:29"],"2":["35:30","37:16"],"3":["37:17","37:29"],"4":["38:1","39:1"],"5":["39:2","39:21"],"6":["39:22","39:43"],"7":["40:1","40:38"],M:["40:34","40:38"]}},"Tazria-Metzora":{num:102,combined:true,p1:"Tazria",p2:"Metzora",num1:27,num2:28,book:3,fullkriyah:{"1":["12:1","13:23"],"2":["13:24","13:39"],"3":["13:40","13:54"],"4":["13:55","14:20"],"5":["14:21","14:32"],"6":["14:33","15:15"],"7":["15:16","15:33"],M:["15:31","15:33"]}},"Achrei Mot-Kedoshim":{num:103,combined:true,p1:"Achrei Mot",p2:"Kedoshim",num1:29,num2:30,book:3,fullkriyah:{"1":["16:1","16:24"],"2":["16:25","17:7"],"3":["17:8","18:21"],"4":["18:22","19:14"],"5":["19:15","19:32"],"6":["19:33","20:7"],"7":["20:8","20:27"],M:["20:25","20:27"]}},"Behar-Bechukotai":{num:104,combined:true,p1:"Behar",p2:"Bechukotai",num1:32,num2:33,book:3,fullkriyah:{"1":["25:1","25:18"],"2":["25:19","25:28"],"3":["25:29","25:38"],"4":["25:39","26:9"],"5":["26:10","26:46"],"6":["27:1","27:15"],"7":["27:16","27:34"],M:["27:32","27:34"]}},"Chukat-Balak":{num:105,combined:true,p1:"Chukat",p2:"Balak",num1:39,num2:40,book:4,fullkriyah:{"1":["19:1","20:6"],"2":["20:7","20:21"],"3":["20:22","21:20"],"4":["21:21","22:12"],"5":["22:13","22:38"],"6":["22:39","23:26"],"7":["23:27","25:9"],M:["25:7","25:9"]}},"Matot-Masei":{num:106,combined:true,p1:"Matot",p2:"Masei",num1:42,num2:43,book:4,fullkriyah:{"1":["30:2","31:12"],"2":["31:13","31:54"],"3":["32:1","32:19"],"4":["32:20","33:49"],"5":["33:50","34:15"],"6":["34:16","35:8"],"7":["35:9","36:13"],M:["36:11","36:13"]}},"Nitzavim-Vayeilech":{num:107,combined:true,p1:"Nitzavim",p2:"Vayeilech",num1:51,num2:52,book:5,fullkriyah:{"1":["29:9","29:28"],"2":["30:1","30:6"],"3":["30:7","30:14"],"4":["30:15","31:6"],"5":["31:7","31:13"],"6":["31:14","31:19"],"7":["31:20","31:30"],M:["31:28","31:30"]}}};
|
|
@@ -545,8 +566,10 @@ var Bereshit={num:1,hebrew:"בְּרֵאשִׁית",book:1,haft:{k:"Isaiah",b:"4
|
|
|
545
566
|
* @return {Leyning} map of aliyot
|
|
546
567
|
*/
|
|
547
568
|
function getLeyningForHoliday(ev, il = false) {
|
|
548
|
-
if (typeof ev !== 'object' ||
|
|
569
|
+
if (typeof ev !== 'object' || typeof ev.getFlags !== 'function') {
|
|
549
570
|
throw new TypeError(`Bad event argument: ${ev}`);
|
|
571
|
+
} else if (typeof ev.eventTime !== 'undefined') {
|
|
572
|
+
return undefined;
|
|
550
573
|
} else if (ev.getFlags() & core.flags.PARSHA_HASHAVUA) {
|
|
551
574
|
throw new TypeError(`Event should be a holiday: ${ev.getDesc()}`);
|
|
552
575
|
} else if (ev.getFlags() & HOLIDAY_IGNORE_MASK) {
|
|
@@ -626,16 +649,12 @@ function getHaftaraKey(parsha) {
|
|
|
626
649
|
|
|
627
650
|
/**
|
|
628
651
|
* Looks up regular leyning for a weekly parsha with no special readings
|
|
652
|
+
* @private
|
|
629
653
|
* @param {string|string[]} parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
630
654
|
* @return {Leyning} map of aliyot
|
|
631
655
|
*/
|
|
632
|
-
function
|
|
633
|
-
const
|
|
634
|
-
if (!isParshaString && (!Array.isArray(parsha) || parsha.length !== 1 && parsha.length !== 2)) {
|
|
635
|
-
throw new TypeError(`Bad parsha argument: ${parsha}`);
|
|
636
|
-
}
|
|
637
|
-
const name = isParshaString ? parsha : parshaToString(parsha);
|
|
638
|
-
const raw = parshiyotObj[name];
|
|
656
|
+
function getLeyningForParshaShabbatOnly(parsha) {
|
|
657
|
+
const raw = lookupParsha(parsha);
|
|
639
658
|
const fullkriyah = {};
|
|
640
659
|
const book = BOOK[raw.book];
|
|
641
660
|
Object.keys(raw.fullkriyah).forEach(num => {
|
|
@@ -648,7 +667,8 @@ function getLeyningForParsha(parsha) {
|
|
|
648
667
|
fullkriyah[num] = reading;
|
|
649
668
|
});
|
|
650
669
|
Object.values(fullkriyah).map(aliyah => calculateNumVerses(aliyah));
|
|
651
|
-
const
|
|
670
|
+
const name = parshaToString(parsha);
|
|
671
|
+
const parshaNameArray = raw.combined ? [raw.p1, raw.p2] : [name];
|
|
652
672
|
const parts = makeLeyningParts(fullkriyah);
|
|
653
673
|
const summary = makeSummaryFromParts(parts);
|
|
654
674
|
/** @type {Leyning} */
|
|
@@ -677,20 +697,45 @@ function getLeyningForParsha(parsha) {
|
|
|
677
697
|
result.sephardic = makeSummaryFromParts(seph);
|
|
678
698
|
result.sephardicNumV = sumVerses(seph);
|
|
679
699
|
}
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
700
|
+
return result;
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
/**
|
|
704
|
+
* Looks up Monday/Thursday aliyot for a regular parsha
|
|
705
|
+
* @param {string|string[]} parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
706
|
+
* @return {Object<string,Aliyah>} map of aliyot
|
|
707
|
+
*/
|
|
708
|
+
function getWeekdayReading(parsha) {
|
|
709
|
+
const raw = lookupParsha(parsha);
|
|
710
|
+
const parshaMeta = raw.combined ? lookupParsha(raw.p1) : raw;
|
|
711
|
+
const aliyot = parshaMeta.weekday;
|
|
712
|
+
if (!aliyot) {
|
|
713
|
+
throw new Error(`Parsha missing weekday: ${parsha}`);
|
|
693
714
|
}
|
|
715
|
+
const book = BOOK[raw.book];
|
|
716
|
+
const weekday = {};
|
|
717
|
+
for (let i = 1; i <= 3; i++) {
|
|
718
|
+
const num = '' + i;
|
|
719
|
+
const src = aliyot[num];
|
|
720
|
+
const aliyah = {
|
|
721
|
+
k: book,
|
|
722
|
+
b: src[0],
|
|
723
|
+
e: src[1]
|
|
724
|
+
};
|
|
725
|
+
calculateNumVerses(aliyah);
|
|
726
|
+
weekday[num] = aliyah;
|
|
727
|
+
}
|
|
728
|
+
return weekday;
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
/**
|
|
732
|
+
* Looks up regular leyning for a weekly parsha with no special readings
|
|
733
|
+
* @param {string|string[]} parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
734
|
+
* @return {Leyning} map of aliyot
|
|
735
|
+
*/
|
|
736
|
+
function getLeyningForParsha(parsha) {
|
|
737
|
+
const result = getLeyningForParshaShabbatOnly(parsha);
|
|
738
|
+
result.weekday = getWeekdayReading(parsha);
|
|
694
739
|
return result;
|
|
695
740
|
}
|
|
696
741
|
|
|
@@ -702,29 +747,30 @@ function getLeyningForParsha(parsha) {
|
|
|
702
747
|
* @return {Leyning} map of aliyot
|
|
703
748
|
*/
|
|
704
749
|
function getLeyningForParshaHaShavua(ev, il = false) {
|
|
705
|
-
if (
|
|
750
|
+
if (typeof ev !== 'object' || typeof ev.getFlags !== 'function') {
|
|
706
751
|
throw new TypeError(`Bad event argument: ${ev}`);
|
|
707
752
|
} else if (ev.getFlags() != core.flags.PARSHA_HASHAVUA) {
|
|
708
753
|
throw new TypeError(`Event must be parsha hashavua: ${ev.getDesc()}`);
|
|
709
754
|
}
|
|
710
755
|
// first, collect the default aliyot and haftara
|
|
711
756
|
const parsha = ev.parsha;
|
|
712
|
-
const result =
|
|
713
|
-
const reason = {};
|
|
757
|
+
const result = getLeyningForParshaShabbatOnly(parsha);
|
|
714
758
|
const hd = ev.getDate();
|
|
715
759
|
// Now, check for special maftir or haftara on same date
|
|
716
|
-
const
|
|
717
|
-
|
|
718
|
-
|
|
760
|
+
const special = specialReadings2(parsha, hd, il, result.fullkriyah);
|
|
761
|
+
const reason = special.reason;
|
|
762
|
+
if (special.haft) {
|
|
763
|
+
const haft = result.haft = cloneHaftara(special.haft);
|
|
719
764
|
result.haftara = makeSummaryFromParts(haft);
|
|
720
765
|
result.haftaraNumV = sumVerses(haft);
|
|
721
|
-
if (
|
|
722
|
-
const seph = result.seph = cloneHaftara(
|
|
766
|
+
if (special.seph) {
|
|
767
|
+
const seph = result.seph = cloneHaftara(special.seph);
|
|
723
768
|
result.sephardic = makeSummaryFromParts(seph);
|
|
724
769
|
result.sephardicNumV = sumVerses(seph);
|
|
725
770
|
}
|
|
726
771
|
}
|
|
727
772
|
if (reason['7'] || reason['M']) {
|
|
773
|
+
result.fullkriyah = special.aliyot;
|
|
728
774
|
const parts = makeLeyningParts(result.fullkriyah);
|
|
729
775
|
result.summary = makeSummaryFromParts(parts);
|
|
730
776
|
result.summaryParts = parts;
|
|
@@ -745,8 +791,6 @@ function getLeyningForParshaHaShavua(ev, il = false) {
|
|
|
745
791
|
}
|
|
746
792
|
});
|
|
747
793
|
}
|
|
748
|
-
// to avoid confusion, don't include Saturday mincha reading here
|
|
749
|
-
delete result.weekday;
|
|
750
794
|
return result;
|
|
751
795
|
}
|
|
752
796
|
|
|
@@ -841,15 +885,11 @@ function findParshaHaShavua(saturday, il) {
|
|
|
841
885
|
|
|
842
886
|
/**
|
|
843
887
|
* Returns the parsha metadata
|
|
844
|
-
* @param {string|string[]} parsha
|
|
888
|
+
* @param {string|string[]} parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
845
889
|
* @return {ParshaMeta}
|
|
846
890
|
*/
|
|
847
891
|
function lookupParsha(parsha) {
|
|
848
|
-
const
|
|
849
|
-
if (!isParshaString && (!Array.isArray(parsha) || parsha.length !== 1 && parsha.length !== 2)) {
|
|
850
|
-
throw new TypeError(`Bad parsha argument: ${parsha}`);
|
|
851
|
-
}
|
|
852
|
-
const name = isParshaString ? parsha : parshaToString(parsha);
|
|
892
|
+
const name = parshaToString(parsha);
|
|
853
893
|
const raw = parshiyotObj[name];
|
|
854
894
|
if (typeof raw !== 'object') {
|
|
855
895
|
throw new TypeError(`Bad parsha argument: ${parsha}`);
|
|
@@ -1041,6 +1081,7 @@ exports.getLeyningForParshaHaShavua = getLeyningForParshaHaShavua;
|
|
|
1041
1081
|
exports.getLeyningKeyForEvent = getLeyningKeyForEvent;
|
|
1042
1082
|
exports.getLeyningOnDate = getLeyningOnDate;
|
|
1043
1083
|
exports.getParshaDates = getParshaDates;
|
|
1084
|
+
exports.getWeekdayReading = getWeekdayReading;
|
|
1044
1085
|
exports.hasFestival = hasFestival;
|
|
1045
1086
|
exports.lookupFestival = lookupFestival;
|
|
1046
1087
|
exports.lookupParsha = lookupParsha;
|
|
@@ -1048,7 +1089,7 @@ exports.makeLeyningParts = makeLeyningParts;
|
|
|
1048
1089
|
exports.makeLeyningSummary = makeLeyningSummary;
|
|
1049
1090
|
exports.makeSummaryFromParts = makeSummaryFromParts;
|
|
1050
1091
|
exports.parshaToString = parshaToString;
|
|
1051
|
-
exports.
|
|
1092
|
+
exports.specialReadings2 = specialReadings2;
|
|
1052
1093
|
exports.sumVerses = sumVerses;
|
|
1053
1094
|
exports.writeCsvLines = writeCsvLines;
|
|
1054
1095
|
exports.writeFullKriyahCsv = writeFullKriyahCsv;
|