Wondering what’s next for npm?Check out our public roadmap! »

    @hebcal/leyning
    TypeScript icon, indicating that this package has built-in type declarations

    4.3.0 • Public • Published

    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

    addSefariaLinksToLeyning(aliyot, showBook)

    Makes Sefaria links by adding href, verses and num attributes to each aliyah. CAUTION: Modifies the aliyot parameter instead of making a copy.

    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. Returns some of full kriyah aliyot, special Maftir, special Haftarah

    getLeyningForHolidayKey(key)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

    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

    getTriennialForParshaHaShavua(ev, [context])TriennialAliyot | Object.<string, Aliyah>

    Looks up the triennial leyning for this Parashat HaShavua

    Typedefs

    Aliyah : Object

    Represents an aliyah

    Leyning : Object

    Leyning for a parsha hashavua or holiday

    TriennialAliyot : Object

    Represents triennial aliyot for a given date

    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.getReading(parsha, yearNum) ⇒ Object.<string, Aliyah>

    Kind: instance method of Triennial
    Returns: Object.<string, Aliyah> - a map of aliyot 1-7 plus "M"

    Param Type Description
    parsha string parsha name ("Bereshit" or "Achrei Mot-Kedoshim")
    yearNum number 0 through 2 for which year of Triennial cycle

    triennial.getStartYear() ⇒ number

    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

    Param Type
    id number

    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

    addSefariaLinksToLeyning(aliyot, showBook)

    Makes Sefaria links by adding href, verses and num attributes to each aliyah. CAUTION: Modifies the aliyot parameter instead of making a copy.

    Kind: global function

    Param Type Description
    aliyot Object.<string, Aliyah> aliyah map to decorate
    showBook boolean display the book name in the verses field (e.g. for special Maftir)

    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 Default Description
    e Event event
    [il] boolean false true if Israel holiday scheme

    getLeyningForHoliday(e, [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
    e Event the Hebcal event associated with this leyning
    [il] boolean false true if Israel holiday scheme

    getLeyningForHolidayKey(key) ⇒ 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

    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

    Param Type
    e Event
    key string

    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 Default Description
    e Event the Hebcal event associated with this leyning
    [il] boolean false 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

    Param Type
    id number

    getTriennial(year) ⇒ Triennial

    Calculates the 3-year readings for a given year

    Kind: global function

    Param Type Description
    year number Hebrew year

    getTriennialForParshaHaShavua(ev, [context]) ⇒ TriennialAliyot | Object.<string, Aliyah>

    Looks up the triennial leyning for this Parashat HaShavua

    Kind: global function
    Returns: TriennialAliyot | Object.<string, Aliyah> - a map of aliyot 1-7 plus "M"

    Param Type Default Description
    ev Event
    [context] boolean false returns a reading wrapper object which includes date, yearNum and aliyot

    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

    TriennialAliyot : Object

    Represents triennial aliyot for a given date

    Kind: global typedef
    Properties

    Name Type Description
    aliyot Object.<string, Aliyah> a map of aliyot 1-7 plus "M"
    yearNum number year number, 0-2
    date Date Shabbat date for when this parsha is read in this 3-year cycle
    [readSeparately] boolean true if a double parsha is read separately in year yearNum
    [date1] Date Shabbat date of the first part of a read-separately aliyah pair
    [date2] Date Shabbat date of the second part of a read-separately aliyah pair

    Install

    npm i @hebcal/leyning

    DownloadsWeekly Downloads

    77

    Version

    4.3.0

    License

    BSD-2-Clause

    Unpacked Size

    491 kB

    Total Files

    9

    Last publish

    Collaborators

    • avatar