hebcal-leyning
Javascript Torah Reading API for Parashat HaShavua and holidays
Installation
$ npm install @hebcal/leyning
Synopsis
import {HebrewCalendar, HDate, Event} from '@hebcal/core';
import leyning from '@hebcal/leyning';
const options = {sedrot: true, noHolidays: true};
const events = HebrewCalendar.calendar(options);
const ev = events.find((ev) => ev.getDesc() == 'Parashat Pinchas');
const reading = leyning.getLeyningForParshaHaShavua(ev);
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 = leyning.formatAliyahWithBook(aliyah);
if (reading.reason[num]) {
str += ' | ' + reading.reason[num];
}
console.log(`${number}: ${str}`);
}
const triReading = triennial.getTriennialForParshaHaShavua(ev);
for (const [num, aliyah] of Object.entries(triReading)) {
const number = num == 'M' ? 'maftir' : `aliyah ${num}`;
const str = leyning.formatAliyahWithBook(aliyah);
console.log(`Triennial ${number}: ${str}`);
}
Classes
- Triennial
Triennial Torah readings
Constants
- leyning
Main interface to hebcal/leyning
Functions
- getLeyningKeyForEvent(e, [il]) ⇒
string
Based on the event date, type and title, finds the relevant leyning key
- getLeyningForHoliday(e, [il]) ⇒
Leyning
Looks up leyning for a given holiday name. Name should be an
(untranslated) string used in holiday-readons.json. Returns some
of full kriyah aliyot, special Maftir, special Haftarah
- parshaToString(parsha) ⇒
string
Formats parsha as a string
- getHaftaraKey(parsha) ⇒
string
on doubled parshiot, read only the second Haftarah
except for Nitzavim-Vayelech
- getChanukahShabbatKey(e, key) ⇒
string
- getHolidayEvents(hd, il) ⇒
Array.<Event>
Filters out Rosh Chodesh and events that don't occur in this location
- getLeyningForParshaHaShavua(e, [il]) ⇒
Leyning
Looks up leyning for a regular Shabbat parsha.
- formatAliyahWithBook(a) ⇒
string
Formats an aliyah object like "Numbers 28:9 - 28:15"
- getDoubledName(id) ⇒
string
takes a 0-based (Bereshit=0) parsha ID
- getTriennial(year) ⇒
Triennial
Calculates the 3-year readings for a given year
Typedefs
- Aliyah :
Object
Represents an aliyah
- Leyning :
Object
Leyning for a parsha hashavua or holiday
Triennial
Triennial Torah readings
Kind: global class
new Triennial([hebrewYear])
Builds a Triennial object
Param | Type | Description |
---|
[hebrewYear] | number | Hebrew Year (default current year) |
triennial.getReadings() ⇒ Object
Kind: instance method of Triennial
triennial.getStartYear() ⇒ number
Kind: instance method of Triennial
triennial.getLeyningForParshaHaShavua(ev) ⇒ Aliyah
Looks up the leyning for this Parashat HaShavua
Kind: instance method of Triennial
triennial.getThreeYearPattern(id) ⇒ string
First, determine if a doubled parsha is read [T]ogether or [S]eparately
in each of the 3 years. Yields a pattern like 'SSS', 'STS', 'TTT', 'TTS'.
Kind: instance method of Triennial
triennial.cycleReadings(cycleOption) ⇒ Map.<string, Array.<Object>>
Builds a lookup table readings["Bereshit"][0], readings["Matot-Masei"][2]
Kind: instance method of Triennial
Param | Type |
---|
cycleOption | Object |
triennial.cycleReadingsForYear(option, readings, yr)
Kind: instance method of Triennial
Param | Type |
---|
option | string |
readings | Map.<string, Array.<Object>> |
yr | number |
Triennial.getYearNumber(year) ⇒ number
Returns triennial year 1, 2 or 3 based on this Hebrew year
Kind: static method of Triennial
Param | Type | Description |
---|
year | number | Hebrew year |
Triennial.getCycleStartYear(year) ⇒ number
Returns Hebrew year that this 3-year triennial cycle began
Kind: static method of Triennial
Param | Type | Description |
---|
year | number | Hebrew year |
Triennial.getTriennialAliyot() ⇒ Object
Walks parshiyotObj and builds lookup table for triennial aliyot
Kind: static method of Triennial
Triennial.resolveSameAs(parsha, book, triennial) ⇒ Object
Transforms input JSON with sameAs shortcuts like "D.2":"A.3" to
actual aliyot objects for a given variation/year
Kind: static method of Triennial
Param | Type |
---|
parsha | string |
book | string |
triennial | Object |
leyning
Main interface to hebcal/leyning
Kind: global constant
getLeyningKeyForEvent(e, [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 | Description |
---|
e | Event | event |
[il] | boolean | true if Israel holiday scheme |
getLeyningForHoliday(e, [il]) ⇒ Leyning
Looks up leyning for a given holiday name. Name should be an
(untranslated) string used in holiday-readons.json. Returns some
of full kriyah aliyot, special Maftir, special Haftarah
Kind: global function
Returns: Leyning
- map of aliyot
Param | Type | Description |
---|
e | Event | the Hebcal event associated with this leyning |
[il] | boolean | true if Israel holiday scheme |
parshaToString(parsha) ⇒ string
Formats parsha as a string
Kind: global function
Param | Type |
---|
parsha | Array.<string> |
getHaftaraKey(parsha) ⇒ string
on doubled parshiot, read only the second Haftarah
except for Nitzavim-Vayelech
Kind: global function
Param | Type |
---|
parsha | Array.<string> |
getChanukahShabbatKey(e, key) ⇒ string
Kind: global function
getHolidayEvents(hd, il) ⇒ Array.<Event>
Filters out Rosh Chodesh and events that don't occur in this location
Kind: global function
Param | Type | Description |
---|
hd | HDate | Hebrew date |
il | boolean | in Israel |
getLeyningForParshaHaShavua(e, [il]) ⇒ Leyning
Looks up leyning for a regular Shabbat parsha.
Kind: global function
Returns: Leyning
- map of aliyot
Param | Type | Description |
---|
e | Event | the Hebcal event associated with this leyning |
[il] | boolean | in Israel |
formatAliyahWithBook(a) ⇒ string
Formats an aliyah object like "Numbers 28:9 - 28:15"
Kind: global function
Param | Type | Description |
---|
a | Aliyah | aliyah |
getDoubledName(id) ⇒ string
takes a 0-based (Bereshit=0) parsha ID
Kind: global function
getTriennial(year) ⇒ Triennial
Calculates the 3-year readings for a given year
Kind: global function
Param | Type | Description |
---|
year | number | Hebrew year |
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) |
Leyning : Object
Leyning for a parsha hashavua or holiday
Kind: global typedef
Properties
Name | Type | Description |
---|
summary | string | |
haftara | string | Haftarah |
sephardic | string | Haftarah for Sephardic |
fullkriyah | Object.<string, Aliyah> | |
[reason] | Object | |