@hebcal/leyning v8.1.9
@hebcal/leyning
Javascript Torah Reading API for Parashat HaShavua and holidays
This package includes both traditional (full kriyah) and weekday Torah readings.
Triennial Torah Readings have moved to @hebcal/triennial
Installation
$ npm install @hebcal/leyning
Synopsis
import {HebrewCalendar, HDate, Event} from '@hebcal/core';
import {getLeyningForParshaHaShavua, formatAliyahWithBook} from '@hebcal/leyning';
const events = HebrewCalendar.calendar({sedrot: true, noHolidays: true});
const ev = events.find((ev) => ev.getDesc() == 'Parashat Pinchas');
const reading = getLeyningForParshaHaShavua(ev, false);
console.log(`${ev.getDesc()}: ${reading.summary}`);
console.log(`Haftara: ${reading.haftara}`);
for (const [num, aliyah] of Object.entries(reading.fullkriyah)) {
const number = num == 'M' ? 'maftir' : `aliyah ${num}`;
let str = formatAliyahWithBook(aliyah);
if (reading.reason[num]) {
str += ' | ' + reading.reason[num];
}
str += ` (${aliyah.v} verses)`;
console.log(`${number}: ${str}`);
}
Constants
Functions
Typedefs
BOOK : Array.<string>
Names of the books of the Torah. BOOK1 === 'Genesis'
Kind: global constant
Read only: true
parshaToString(parsha) ⇒ string
Formats parsha as a string
Kind: global function
Param | Type | Description |
---|---|---|
parsha | string | Array.<string> | untranslated name like 'Pinchas' or 'Pinchas' or 'Matot','Masei' |
clone(src) ⇒ any
Makes a deep copy of the src object using JSON stringify and parse
Kind: global function
Param | Type |
---|---|
src | any |
calculateNumVerses(aliyah) ⇒ number
Calculates the number of verses in an aliyah or haftara based on
the b
(begin verse), e
(end verse) and k
(book).
Modifies aliyah
by setting the v
field.
Kind: global function
Param | Type |
---|---|
aliyah | Aliyah |
formatAliyahWithBook(a) ⇒ string
Formats an aliyah object like "Numbers 28:9-28:15"
Kind: global function
Param | Type | Description |
---|---|---|
a | Aliyah | aliyah |
formatAliyahShort(aliyah, showBook) ⇒ string
Formats an aliyah object like "Numbers 28:9-15"
Kind: global function
Param | Type |
---|---|
aliyah | Aliyah |
showBook | boolean |
sumVerses(aliyot) ⇒ number
Returns the total number of verses in an array of Aliyah (or haftarah) objects
Kind: global function
Param | Type |
---|---|
aliyot | Aliyah | Array.<Aliyah> |
makeLeyningParts(aliyot) ⇒ Array.<Aliyah>
Summarizes an AliyotMap
by collapsing all adjacent aliyot.
Finds any non-overlapping parts (e.g. special 7th aliyah or maftir)
Kind: global function
Param | Type |
---|---|
aliyot | Object.<string, Aliyah> |
makeSummaryFromParts(parts) ⇒ string
Returns a string representation of the leyning parts.
Separate verse ranges read from the same book are separated
by commas, e.g. Isaiah 6:1-7:6, 9:5-6
.
Verse ranges from different books are separated by semicolons,
e.g. Genesis 21:1-34; Numbers 29:1-6
.
Kind: global function
Param | Type |
---|---|
parts | Aliyah | Array.<Aliyah> |
makeLeyningSummary(aliyot) ⇒ string
Makes a summary of the leyning, like "Genesis 6:9-11:32"
Kind: global function
Param | Type |
---|---|
aliyot | Object.<string, Aliyah> |
hasFestival(holiday) ⇒ boolean
Is there a special festival Torah Reading for holiday
?
Kind: global function
Param | Type |
---|---|
holiday | string |
lookupFestival(holiday) ⇒ any
Returns the raw metadata for festival reading for holiday
Kind: global function
Param | Type |
---|---|
holiday | string |
getLeyningKeyForEvent(ev, il) ⇒ string
Based on the event date, type and title, finds the relevant leyning key
Kind: global function
Returns: string - key to look up in holiday-reading.json
Param | Type | Default | Description |
---|---|---|---|
ev | Event | event | |
il | boolean | false | true if Israel holiday scheme |
specialReadings2(parsha, hd, il, aliyot) ⇒ SpecialReading
Determines if the regular parashat haShavua coincides with an event that requires a special maftir or Haftara (for example Shabbat HaGadol, Shabbat Chanukah, Rosh Chodesh or Machar Chodesh, etc.).
This function does not modify aliyot
. Instead, it returns a deep copy
with aliyot['M']
replaced and sets reason.M
(and in some cases the 6th and 7th aliyah, setting reason['7']
).
If a special Haftarah applies, the result will have a haft
property
pointing to Haftarah object and sets reason.haftara
.
Kind: global function
Param | Type |
---|---|
parsha | Array.<string> |
hd | HDate |
il | boolean |
aliyot | Object.<string, Aliyah> |
getLeyningForHolidayKey(key, cholHaMoedDay, il) ⇒ Leyning
Looks up leyning for a given holiday key. Key should be an (untranslated) string used in holiday-readings.json. Returns some of full kriyah aliyot, special Maftir, special Haftarah
Kind: global function
Returns: Leyning - map of aliyot
Param | Type | Description |
---|---|---|
key | string | name from holiday-readings.json to find |
cholHaMoedDay | number | |
il | boolean |
getLeyningForHoliday(ev, il) ⇒ Leyning
Looks up leyning for a given holiday. Returns some of full kriyah aliyot, special Maftir, special Haftarah
Kind: global function
Returns: Leyning - map of aliyot
Param | Type | Default | Description |
---|---|---|---|
ev | Event | the Hebcal event associated with this leyning | |
il | boolean | false | true if Israel holiday scheme |
makeLeyningNames(parsha) ⇒ LeyningNames
Transliterated English and Hebrew names of this parsha
Kind: global function
Param | Type | Description |
---|---|---|
parsha | string | Array.<string> | untranslated name like 'Pinchas' or 'Pinchas' or 'Matot','Masei' |
getWeekdayReading(parsha) ⇒ Object.<string, Aliyah>
Looks up Monday/Thursday aliyot for a regular parsha
Kind: global function
Returns: Object.<string, Aliyah> - map of aliyot
Param | Type | Description |
---|---|---|
parsha | string | Array.<string> | untranslated name like 'Pinchas' or 'Pinchas' or 'Matot','Masei' |
getLeyningForParsha(parsha) ⇒ Leyning
Looks up regular leyning for a weekly parsha with no special readings
Kind: global function
Returns: Leyning - map of aliyot
Param | Type | Description |
---|---|---|
parsha | string | Array.<string> | untranslated name like 'Pinchas' or 'Pinchas' or 'Matot','Masei' |
getLeyningForParshaHaShavua(ev, il) ⇒ Leyning
Looks up leyning for a regular Shabbat parsha, including any special maftir or Haftara.
Kind: global function
Returns: Leyning - map of aliyot
Param | Type | Default | Description |
---|---|---|---|
ev | Event | the Hebcal event associated with this leyning | |
il | boolean | false | in Israel |
lookupParsha(parsha) ⇒ ParshaMeta
Returns the parsha metadata
Kind: global function
Param | Type | Description |
---|---|---|
parsha | string | Array.<string> | untranslated name like 'Pinchas' or 'Pinchas' or 'Matot','Masei' |
getLeyningOnDate(hdate, il, wantarray) ⇒ Leyning | Array.<Leyning>
Looks up leyning for a regular Shabbat, Monday/Thursday weekday or holiday.
If hdate
coincides with a holiday that has Torah reading, returns the
reading for that day (see getLeyningForHoliday)
Otherwise, if hdate
is a Saturday, returns getLeyningForParshaHaShavua
Otherwise, if hdate
is a Monday or Thursday, returns Leyning for the
Parashat haShavua, containing only the weekday
aliyot (no fullkriyah
).
Otherwise, returns undefined
.
Kind: global function
Returns: Leyning | Array.<Leyning> - map of aliyot
Param | Type | Default | Description |
---|---|---|---|
hdate | HDate | Hebrew Date | |
il | boolean | in Israel | |
wantarray | boolean | false | to return an array of 0 or more readings |
writeCsvLines(stream, ev, reading, il, isParsha)
Formats reading for CSV
Kind: global function
Param | Type |
---|---|
stream | fs.WriteStream |
ev | Event |
reading | Leyning |
il | boolean |
isParsha | boolean |
Aliyah : Object
Represents an aliyah
Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
k | string | Book (e.g. "Numbers") |
b | string | beginning verse (e.g. "28:9") |
e | string | ending verse (e.g. "28:15") |
v | number | number of verses |
p | number | parsha number (1=Bereshit, 54=Vezot HaBracha) |
SpecialReading : Object
Leyning for a parsha hashavua or holiday
Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
aliyot | Object.<string, Aliyah> | Map of aliyot 1 through 7 plus M for maftir |
reason | Object.<string, string> | Explanations for special readings, keyed by aliyah number, M for maftir or haftara for Haftarah |
haft | Aliyah | Array.<Aliyah> | Haftarah object(s) |
seph | Aliyah | Array.<Aliyah> | Haftarah object(s) |
LeyningNames : Object
Name of the parsha hashavua or holiday
Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
en | string | English |
he | string | Hebrew (with nikud) |
Leyning : Object
Leyning for a parsha hashavua or holiday
Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
name | LeyningNames | |
parsha | Array.<string> | An array of either 1 (regular) or 2 (doubled parsha). undefined for holiday readings |
parshaNum | number | Array.<number> | 1 for Bereshit, 2 for Noach, etc. undefined for holiday readings |
summary | string | Such as Genesis 1:1 - 6:8 |
haft | Aliyah | Array.<Aliyah> | Haftarah object(s) |
haftara | string | Haftarah, such as Isaiah 42:5 – 43:11 |
haftaraNumV | number | Number of verses in the Haftarah |
seph | Aliyah | Array.<Aliyah> | Haftarah object(s) for Sephardim |
sephardic | string | Haftarah for Sephardim, such as Isaiah 42:5 - 42:21 |
sephardicNumV | number | Number of verses in the Haftarah for Sephardim |
fullkriyah | Object.<string, Aliyah> | Map of aliyot 1 through 7 plus M for maftir |
weekday | Object.<string, Aliyah> | Optional map of weekday Torah Readings aliyot 1 through 3 for Monday and Thursday |
reason | Object.<string, string> | Explanations for special readings, keyed by aliyah number, M for maftir or haftara for Haftarah |
megillah | Object.<string, Aliyah> | Optional map of megillah reading. Song of Songs is read on the sabbath of Passover week, the Book of Ruth on Shavuot, Lamentations on Tisha be-Av, Ecclesiastes on the sabbath of the week of Sukkoth, and the Book of Esther on Purim. |
ParshaMeta : Object
Parsha metadata
Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
num | number | 1 for Bereshit, 2 for Noach, etc. undefined for holiday readings |
hebrew | string | parsha name in Hebrew with niqud |
book | number | 1 for Genesis, 2 for Exodus, 5 for Deuteronomy |
haft | Aliyah | Array.<Aliyah> | Haftarah object(s) |
seph | Aliyah | Array.<Aliyah> | Haftarah object(s) for Sephardim |
fullkriyah | Object.<string, Array.<string>> | Map of aliyot 1 through 7 plus M for maftir |
weekday | Object.<string, Array.<string>> | Map of weekday Torah Readings aliyot 1 through 3 for Monday and Thursday |
2 days ago
1 month ago
2 months ago
2 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
5 months ago
5 months ago
8 months ago
8 months ago
8 months ago
7 months ago
5 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago