diff --git a/src/hebrewcalendar/HebrewDateFormatter.ts b/src/hebrewcalendar/HebrewDateFormatter.ts index 11892d9..7dfd9da 100644 --- a/src/hebrewcalendar/HebrewDateFormatter.ts +++ b/src/hebrewcalendar/HebrewDateFormatter.ts @@ -1,6 +1,6 @@ import {Daf} from "./Daf"; import {JewishDate} from "./JewishDate"; -import {JewishCalendar} from "./JewishCalendar"; +import {JewishCalendar, Parsha} from "./JewishCalendar"; /** * The HebrewDateFormatter class formats a {@link JewishDate}. @@ -10,8 +10,10 @@ import {JewishCalendar} from "./JewishCalendar"; * * * @see net.sourceforge.zmanim.hebrewcalendar.JewishDate @@ -27,6 +29,144 @@ export class HebrewDateFormatter { private useFinalFormLetters: boolean = false; private weekFormat: "dddd" | "ddd" | null = null; + private transliteratedParshaMap: Record = { + [Parsha.NONE]: '', + [Parsha.BERESHIS]: 'Bereshis', + [Parsha.NOACH]: 'Noach', + [Parsha.LECH_LECHA]: 'Lech Lecha', + [Parsha.VAYERA]: 'Vayera', + [Parsha.CHAYEI_SARA]: 'Chayei Sara', + [Parsha.TOLDOS]: 'Toldos', + [Parsha.VAYETZEI]: 'Vayetzei', + [Parsha.VAYISHLACH]: 'Vayishlach', + [Parsha.VAYESHEV]: 'Vayeshev', + [Parsha.MIKETZ]: 'Miketz', + [Parsha.VAYIGASH]: 'Vayigash', + [Parsha.VAYECHI]: 'Vayechi', + [Parsha.SHEMOS]: 'Shemos', + [Parsha.VAERA]: 'Vaera', + [Parsha.BO]: 'Bo', + [Parsha.BESHALACH]: 'Beshalach', + [Parsha.YISRO]: 'Yisro', + [Parsha.MISHPATIM]: 'Mishpatim', + [Parsha.TERUMAH]: 'Terumah', + [Parsha.TETZAVEH]: 'Tetzaveh', + [Parsha.KI_SISA]: 'Ki Sisa', + [Parsha.VAYAKHEL]: 'Vayakhel', + [Parsha.PEKUDEI]: 'Pekudei', + [Parsha.VAYIKRA]: 'Vayikra', + [Parsha.TZAV]: 'Tzav', + [Parsha.SHMINI]: 'Shmini', + [Parsha.TAZRIA]: 'Tazria', + [Parsha.METZORA]: 'Metzora', + [Parsha.ACHREI_MOS]: 'Achrei Mos', + [Parsha.KEDOSHIM]: 'Kedoshim', + [Parsha.EMOR]: 'Emor', + [Parsha.BEHAR]: 'Behar', + [Parsha.BECHUKOSAI]: 'Bechukosai', + [Parsha.BAMIDBAR]: 'Bamidbar', + [Parsha.NASSO]: 'Nasso', + [Parsha.BEHAALOSCHA]: 'Beha\'aloscha', + [Parsha.SHLACH]: 'Sh\'lach', + [Parsha.KORACH]: 'Korach', + [Parsha.CHUKAS]: 'Chukas', + [Parsha.BALAK]: 'Balak', + [Parsha.PINCHAS]: 'Pinchas', + [Parsha.MATOS]: 'Matos', + [Parsha.MASEI]: 'Masei', + [Parsha.DEVARIM]: 'Devarim', + [Parsha.VAESCHANAN]: 'Vaeschanan', + [Parsha.EIKEV]: 'Eikev', + [Parsha.REEH]: 'Re\'eh', + [Parsha.SHOFTIM]: 'Shoftim', + [Parsha.KI_SEITZEI]: 'Ki Seitzei', + [Parsha.KI_SAVO]: 'Ki Savo', + [Parsha.NITZAVIM]: 'Nitzavim', + [Parsha.VAYEILECH]: 'Vayeilech', + [Parsha.HAAZINU]: 'Ha\'Azinu', + [Parsha.VZOS_HABERACHA]: 'Vezos Habracha', + [Parsha.VAYAKHEL_PEKUDEI]: 'Vayakhel Pekudei', + [Parsha.TAZRIA_METZORA]: 'Tazria Metzora', + [Parsha.ACHREI_MOS_KEDOSHIM]: 'Achrei Mos Kedoshim', + [Parsha.BEHAR_BECHUKOSAI]: 'Behar Bechukosai', + [Parsha.CHUKAS_BALAK]: 'Chukas Balak', + [Parsha.MATOS_MASEI]: 'Matos Masei', + [Parsha.NITZAVIM_VAYEILECH]: 'Nitzavim Vayeilech', + [Parsha.SHKALIM]: 'Shekalim', + [Parsha.ZACHOR]: 'Zachor', + [Parsha.PARA]: 'Parah', + [Parsha.HACHODESH]: 'Hachodesh', + }; + + private hebrewParshaMap: Record = { + [Parsha.NONE]: '', + [Parsha.BERESHIS]: '\u05D1\u05E8\u05D0\u05E9\u05D9\u05EA', + [Parsha.NOACH]: '\u05E0\u05D7', + [Parsha.LECH_LECHA]: '\u05DC\u05DA \u05DC\u05DA', + [Parsha.VAYERA]: '\u05D5\u05D9\u05E8\u05D0', + [Parsha.CHAYEI_SARA]: '\u05D7\u05D9\u05D9 \u05E9\u05E8\u05D4', + [Parsha.TOLDOS]: '\u05EA\u05D5\u05DC\u05D3\u05D5\u05EA', + [Parsha.VAYETZEI]: '\u05D5\u05D9\u05E6\u05D0', + [Parsha.VAYISHLACH]: '\u05D5\u05D9\u05E9\u05DC\u05D7', + [Parsha.VAYESHEV]: '\u05D5\u05D9\u05E9\u05D1', + [Parsha.MIKETZ]: '\u05DE\u05E7\u05E5', + [Parsha.VAYIGASH]: '\u05D5\u05D9\u05D2\u05E9', + [Parsha.VAYECHI]: '\u05D5\u05D9\u05D7\u05D9', + [Parsha.SHEMOS]: '\u05E9\u05DE\u05D5\u05EA', + [Parsha.VAERA]: '\u05D5\u05D0\u05E8\u05D0', + [Parsha.BO]: '\u05D1\u05D0', + [Parsha.BESHALACH]: '\u05D1\u05E9\u05DC\u05D7', + [Parsha.YISRO]: '\u05D9\u05EA\u05E8\u05D5', + [Parsha.MISHPATIM]: '\u05DE\u05E9\u05E4\u05D8\u05D9\u05DD', + [Parsha.TERUMAH]: '\u05EA\u05E8\u05D5\u05DE\u05D4', + [Parsha.TETZAVEH]: '\u05EA\u05E6\u05D5\u05D4', + [Parsha.KI_SISA]: '\u05DB\u05D9 \u05EA\u05E9\u05D0', + [Parsha.VAYAKHEL]: '\u05D5\u05D9\u05E7\u05D4\u05DC', + [Parsha.PEKUDEI]: '\u05E4\u05E7\u05D5\u05D3\u05D9', + [Parsha.VAYIKRA]: '\u05D5\u05D9\u05E7\u05E8\u05D0', + [Parsha.TZAV]: '\u05E6\u05D5', + [Parsha.SHMINI]: '\u05E9\u05DE\u05D9\u05E0\u05D9', + [Parsha.TAZRIA]: '\u05EA\u05D6\u05E8\u05D9\u05E2', + [Parsha.METZORA]: '\u05DE\u05E6\u05E8\u05E2', + [Parsha.ACHREI_MOS]: '\u05D0\u05D7\u05E8\u05D9 \u05DE\u05D5\u05EA', + [Parsha.KEDOSHIM]: '\u05E7\u05D3\u05D5\u05E9\u05D9\u05DD', + [Parsha.EMOR]: '\u05D0\u05DE\u05D5\u05E8', + [Parsha.BEHAR]: '\u05D1\u05D4\u05E8', + [Parsha.BECHUKOSAI]: '\u05D1\u05D7\u05E7\u05EA\u05D9', + [Parsha.BAMIDBAR]: '\u05D1\u05DE\u05D3\u05D1\u05E8', + [Parsha.NASSO]: '\u05E0\u05E9\u05D0', + [Parsha.BEHAALOSCHA]: '\u05D1\u05D4\u05E2\u05DC\u05EA\u05DA', + [Parsha.SHLACH]: '\u05E9\u05DC\u05D7 \u05DC\u05DA', + [Parsha.KORACH]: '\u05E7\u05E8\u05D7', + [Parsha.CHUKAS]: '\u05D7\u05D5\u05E7\u05EA', + [Parsha.BALAK]: '\u05D1\u05DC\u05E7', + [Parsha.PINCHAS]: '\u05E4\u05D9\u05E0\u05D7\u05E1', + [Parsha.MATOS]: '\u05DE\u05D8\u05D5\u05EA', + [Parsha.MASEI]: '\u05DE\u05E1\u05E2\u05D9', + [Parsha.DEVARIM]: '\u05D3\u05D1\u05E8\u05D9\u05DD', + [Parsha.VAESCHANAN]: '\u05D5\u05D0\u05EA\u05D7\u05E0\u05DF', + [Parsha.EIKEV]: '\u05E2\u05E7\u05D1', + [Parsha.REEH]: '\u05E8\u05D0\u05D4', + [Parsha.SHOFTIM]: '\u05E9\u05D5\u05E4\u05D8\u05D9\u05DD', + [Parsha.KI_SEITZEI]: '\u05DB\u05D9 \u05EA\u05E6\u05D0', + [Parsha.KI_SAVO]: '\u05DB\u05D9 \u05EA\u05D1\u05D5\u05D0', + [Parsha.NITZAVIM]: '\u05E0\u05D9\u05E6\u05D1\u05D9\u05DD', + [Parsha.VAYEILECH]: '\u05D5\u05D9\u05DC\u05DA', + [Parsha.HAAZINU]: '\u05D4\u05D0\u05D6\u05D9\u05E0\u05D5', + [Parsha.VZOS_HABERACHA]: '\u05D5\u05D6\u05D0\u05EA \u05D4\u05D1\u05E8\u05DB\u05D4 ', + [Parsha.VAYAKHEL_PEKUDEI]: '\u05D5\u05D9\u05E7\u05D4\u05DC \u05E4\u05E7\u05D5\u05D3\u05D9', + [Parsha.TAZRIA_METZORA]: '\u05EA\u05D6\u05E8\u05D9\u05E2 \u05DE\u05E6\u05E8\u05E2', + [Parsha.ACHREI_MOS_KEDOSHIM]: '\u05D0\u05D7\u05E8\u05D9 \u05DE\u05D5\u05EA \u05E7\u05D3\u05D5\u05E9\u05D9\u05DD', + [Parsha.BEHAR_BECHUKOSAI]: '\u05D1\u05D4\u05E8 \u05D1\u05D7\u05E7\u05EA\u05D9', + [Parsha.CHUKAS_BALAK]: '\u05D7\u05D5\u05E7\u05EA \u05D1\u05DC\u05E7', + [Parsha.MATOS_MASEI]: '\u05DE\u05D8\u05D5\u05EA \u05DE\u05E1\u05E2\u05D9', + [Parsha.NITZAVIM_VAYEILECH]: '\u05E0\u05D9\u05E6\u05D1\u05D9\u05DD \u05D5\u05D9\u05DC\u05DA', + [Parsha.SHKALIM]: '\u05E9\u05E7\u05DC\u05D9\u05DD', + [Parsha.ZACHOR]: '\u05D6\u05DB\u05D5\u05E8', + [Parsha.PARA]: '\u05E4\u05E8\u05D4', + [Parsha.HACHODESH]: '\u05D4\u05D7\u05D3\u05E9', + }; + /** * returns if the {@link #formatDayOfWeek(JewishDate)} will use the long format such as * ראשון or short such as א when formatting the day of week in @@ -171,6 +311,15 @@ export class HebrewDateFormatter { return index === -1 ? "" : this.hebrewFormat ? HebrewDateFormatter.hebrewHolidays[index] : this.transliteratedHolidays[index]; } + /** + * Formats a day as Rosh Chodesh in the format of in the format of ראש + * חודש שבט or Rosh Chodesh Shevat. If it + * is not Rosh Chodesh, an empty String will be returned. + * @param jewishCalendar the JewishCalendar + * @return The formatted String in the format of ראש + * חודש שבט or Rosh Chodesh Shevat. If it + * is not Rosh Chodesh, an empty String will be returned. + */ public formatRoshChodesh(jewishCalendar: JewishCalendar): string { if (!jewishCalendar.isRoshChodesh()) { return ""; @@ -281,7 +430,10 @@ export class HebrewDateFormatter { } /** - * Unicode list of Hebrew months. + * Unicode list of Hebrew months in the format of ["\u05E0\u05D9\u05E1\u05DF","\u05D0\u05D9\u05D9\u05E8", + * "\u05E1\u05D9\u05D5\u05DF","\u05EA\u05DE\u05D5\u05D6","\u05D0\u05D1","\u05D0\u05DC\u05D5\u05DC", + * "\u05EA\u05E9\u05E8\u05D9","\u05D7\u05E9\u05D5\u05DF","\u05DB\u05E1\u05DC\u05D5","\u05D8\u05D1\u05EA", + * "\u05E9\u05D1\u05D8","\u05D0\u05D3\u05E8","\u05D0\u05D3\u05E8 \u05D1","\u05D0\u05D3\u05E8 \u05D0"] * * @see #formatMonth(JewishDate) */ @@ -292,78 +444,9 @@ export class HebrewDateFormatter { "\u05D0\u05D3\u05E8 \u05D0" ]; /** - * list of transliterated parshiyos using the default Ashkenazi pronunciation. The formatParsha method uses this - * for transliterated parsha display. This list can be overridden (for Sephardi English transliteration for example) - * by setting the {@link #setTransliteratedParshiosList(String[])}. - * - * @see #formatParsha(JewishCalendar) - */ - private transliteratedParshios: string[] = [ "Bereshis", "Noach", "Lech Lecha", "Vayera", "Chayei Sara", "Toldos", - "Vayetzei", "Vayishlach", "Vayeshev", "Miketz", "Vayigash", "Vayechi", "Shemos", "Vaera", "Bo", - "Beshalach", "Yisro", "Mishpatim", "Terumah", "Tetzaveh", "Ki Sisa", "Vayakhel", "Pekudei", "Vayikra", - "Tzav", "Shmini", "Tazria", "Metzora", "Achrei Mos", "Kedoshim", "Emor", "Behar", "Bechukosai", "Bamidbar", - "Nasso", "Beha'aloscha", "Sh'lach", "Korach", "Chukas", "Balak", "Pinchas", "Matos", "Masei", "Devarim", - "Vaeschanan", "Eikev", "Re'eh", "Shoftim", "Ki Seitzei", "Ki Savo", "Nitzavim", "Vayeilech", "Ha'Azinu", - "Vayakhel Pekudei", "Tazria Metzora", "Achrei Mos Kedoshim", "Behar Bechukosai", "Chukas Balak", - "Matos Masei", "Nitzavim Vayeilech" ]; - - /** - * Retruns the list of transliterated parshiyos used by this formatter. - * - * @return the list of transliterated Parshios - */ - public getTransliteratedParshiosList(): string[] { - return this.transliteratedParshios; - } - - /** - * Setter method to allow overriding of the default list of parshiyos transliterated into into Latin chars. The - * default uses Ashkenazi American English transliteration. - * - * @param transliteratedParshios - * the transliterated Parshios to set - * @see #getTransliteratedParshiosList() - */ - public setTransliteratedParshiosList(transliteratedParshios: string[]): void { - this.transliteratedParshios = transliteratedParshios; - } - - /** - * Unicode list of Hebrew parshiyos. - */ - private hebrewParshiyos: string[] = [ "\u05D1\u05E8\u05D0\u05E9\u05D9\u05EA", "\u05E0\u05D7", - "\u05DC\u05DA \u05DC\u05DA", "\u05D5\u05D9\u05E8\u05D0", "\u05D7\u05D9\u05D9 \u05E9\u05E8\u05D4", - "\u05EA\u05D5\u05DC\u05D3\u05D5\u05EA", "\u05D5\u05D9\u05E6\u05D0", "\u05D5\u05D9\u05E9\u05DC\u05D7", - "\u05D5\u05D9\u05E9\u05D1", "\u05DE\u05E7\u05E5", "\u05D5\u05D9\u05D2\u05E9", "\u05D5\u05D9\u05D7\u05D9", - - "\u05E9\u05DE\u05D5\u05EA", "\u05D5\u05D0\u05E8\u05D0", "\u05D1\u05D0", "\u05D1\u05E9\u05DC\u05D7", - "\u05D9\u05EA\u05E8\u05D5", "\u05DE\u05E9\u05E4\u05D8\u05D9\u05DD", "\u05EA\u05E8\u05D5\u05DE\u05D4", - "\u05EA\u05E6\u05D5\u05D4", "\u05DB\u05D9 \u05EA\u05E9\u05D0", "\u05D5\u05D9\u05E7\u05D4\u05DC", - "\u05E4\u05E7\u05D5\u05D3\u05D9", - - "\u05D5\u05D9\u05E7\u05E8\u05D0", "\u05E6\u05D5", "\u05E9\u05DE\u05D9\u05E0\u05D9", - "\u05EA\u05D6\u05E8\u05D9\u05E2", "\u05DE\u05E6\u05E8\u05E2", - "\u05D0\u05D7\u05E8\u05D9 \u05DE\u05D5\u05EA", "\u05E7\u05D3\u05D5\u05E9\u05D9\u05DD", - "\u05D0\u05DE\u05D5\u05E8", "\u05D1\u05D4\u05E8", "\u05D1\u05D7\u05E7\u05EA\u05D9", - - "\u05D1\u05DE\u05D3\u05D1\u05E8", "\u05E0\u05E9\u05D0", "\u05D1\u05D4\u05E2\u05DC\u05EA\u05DA", - "\u05E9\u05DC\u05D7 \u05DC\u05DA", "\u05E7\u05E8\u05D7", "\u05D7\u05D5\u05E7\u05EA", "\u05D1\u05DC\u05E7", - "\u05E4\u05D9\u05E0\u05D7\u05E1", "\u05DE\u05D8\u05D5\u05EA", "\u05DE\u05E1\u05E2\u05D9", - - "\u05D3\u05D1\u05E8\u05D9\u05DD", "\u05D5\u05D0\u05EA\u05D7\u05E0\u05DF", "\u05E2\u05E7\u05D1", - "\u05E8\u05D0\u05D4", "\u05E9\u05D5\u05E4\u05D8\u05D9\u05DD", "\u05DB\u05D9 \u05EA\u05E6\u05D0", - "\u05DB\u05D9 \u05EA\u05D1\u05D5\u05D0", "\u05E0\u05D9\u05E6\u05D1\u05D9\u05DD", - "\u05D5\u05D9\u05DC\u05DA", "\u05D4\u05D0\u05D6\u05D9\u05E0\u05D5", - - "\u05D5\u05D9\u05E7\u05D4\u05DC \u05E4\u05E7\u05D5\u05D3\u05D9", - "\u05EA\u05D6\u05E8\u05D9\u05E2 \u05DE\u05E6\u05E8\u05E2", - "\u05D0\u05D7\u05E8\u05D9 \u05DE\u05D5\u05EA \u05E7\u05D3\u05D5\u05E9\u05D9\u05DD", - "\u05D1\u05D4\u05E8 \u05D1\u05D7\u05E7\u05EA\u05D9", "\u05D7\u05D5\u05E7\u05EA \u05D1\u05DC\u05E7", - "\u05DE\u05D8\u05D5\u05EA \u05DE\u05E1\u05E2\u05D9", - "\u05E0\u05D9\u05E6\u05D1\u05D9\u05DD \u05D5\u05D9\u05DC\u05DA" ]; - - /** - * Unicode list of Hebrew days of week. + * Unicode list of Hebrew days of week in the format of ["ראשון", + * "שני","שלישי","רביעי", + * "חמישי","ששי","שבת"] */ private static readonly hebrewDaysOfWeek: string[] = [ "\u05E8\u05D0\u05E9\u05D5\u05DF", "\u05E9\u05E0\u05D9", "\u05E9\u05DC\u05D9\u05E9\u05D9", "\u05E8\u05D1\u05D9\u05E2\u05D9", "\u05D7\u05DE\u05D9\u05E9\u05D9", @@ -403,47 +486,11 @@ export class HebrewDateFormatter { } } - /** - * If the formatter is set to format in Hebrew, returns a string of the current parsha(ios) in Hebrew for example - * בראשית or ניצבים - * וילך or an empty string if there are none. If not set to Hebrew, it returns a string - * of the parsha(ios) transliterated into Latin chars. The default uses Ashkenazi pronunciation in typical American - * English spelling, for example Bereshis or Nitzavim Vayeilech or an empty string if there are none. - * - * @param jewishCalendar the JewishCalendar Object - * @return today's parsha(ios) in Hebrew for example, if the formatter is set to format in Hebrew, returns a string - * of the current parsha(ios) in Hebrew for example בראשית or - * ניצבים וילך or an empty string if - * there are none. If not set to Hebrew, it returns a string of the parsha(ios) transliterated into Latin - * chars. The default uses Ashkenazi pronunciation in typical American English spelling, for example - * Bereshis or Nitzavim Vayeilech or an empty string if there are none. - */ -/* - public formatParsha(jewishCalendar: JewishCalendar): string { - const index: number = jewishCalendar.getParshaIndex(); - return index === -1 ? "" : this.hebrewFormat ? this.hebrewParshiyos[index] : this.transliteratedParshios[index]; - } -*/ - - /** - * Returns a string of the parsha(ios) transliterated into Latin chars. The default uses Ashkenazi pronunciation in - * typical American English spelling, for example Bereshis or Nitzavim Vayeilech or an empty string if there are - * none. - * - * @param jewishCalendar the JewishCalendar Object - * @return a string of the parsha(ios) transliterated into Latin chars. The default uses Ashkenazi pronunciation in - * typical American English spelling, for example Bereshis or Nitzavim Vayeilech or an empty string if there - * are none. - */ - // private getTransliteratedParsha(JewishCalendar jewishCalendar): String { - // return getTransliteratedParsha(jewishCalendar.getParshaIndex()); - // } - /** * Returns whether the class is set to use the Geresh ׳ and Gershayim ״ in formatting Hebrew dates and - * numbers. When true and output would look like כ״א שבט - * תשך׳. When set to false, this output would display as כא שבט - * תשך. + * numbers. When true and output would look like כ״א שבט תש״כ + * (or כ״א שבט תש״ך). When set to false, this output + * would display as כא שבט תשכ. * * @return true if set to use the Geresh ׳ and Gershayim ״ in formatting Hebrew dates and numbers. */ @@ -453,9 +500,11 @@ export class HebrewDateFormatter { /** * Sets whether to use the Geresh ׳ and Gershayim ״ in formatting Hebrew dates and numbers. The default - * value is true and output would look like כ״א שבט - * תשך׳. When set to false, this output would display as כא שבט - * תשך. + * value is true and output would look like כ״א שבט תש״כ + * (or כ״א שבט תש״ך). When set to false, this output would + * display as כא שבט תשכ (or + * כא שבט תשך). Single digit days or month or years such as כ׳ + * שבט ו׳ אלפים show the use of the Geresh. * * @param useGershGershayim * set to false to omit the Geresh ׳ and Gershayim ״ in formatting @@ -466,7 +515,8 @@ export class HebrewDateFormatter { /** * Returns whether the class is set to use the מנצפ״ך letters when - * formatting years ending in 20, 40, 50, 80 and 90. Traditionally non-final form letters are used, so the year + * formatting years ending in 20, 40, 50, 80 and 90 to produce תש״פ if false or + * or תש״ף if true. Traditionally non-final form letters are used, so the year * 5780 would be formatted as תש״פ if the default false is used here. If this returns * true, the format תש״ף would be used. * @@ -687,6 +737,9 @@ export class HebrewDateFormatter { * @param num * the number to be formatted. It will trow an IllegalArgumentException if the number is < 0 or > 9999. * @return the Hebrew formatted number such as תשכ״ט + * @see #isUseFinalFormLetters() + * @see #isUseGershGershayim() + * @see #isHebrewFormat() * */ public formatHebrewNumber(num: number): string { @@ -772,4 +825,72 @@ export class HebrewDateFormatter { } return sb; } + + /** + * Returns the list of transliterated parshiyos used by this formatter. + * + * @return the list of transliterated Parshios + */ + public getTransliteratedParshiosList(): Record { + return this.transliteratedParshaMap; + } + + /** + * Setter method to allow overriding of the default list of parshiyos transliterated into into Latin chars. The + * default uses Ashkenazi American English transliteration. + * + * @param transliteratedParshaMap + * the transliterated Parshios as an EnumMap to set + * @see #getTransliteratedParshiosList() + */ + public setTransliteratedParshiosList(transliteratedParshaMap: Record): void { + this.transliteratedParshaMap = transliteratedParshaMap; + } + + /** + * Returns a String with the name of the current parsha(ios). If the formatter is set to format in Hebrew, returns + * a string of the current parsha(ios) in Hebrew for example בראשית or + * ניצבים וילך or an empty string if there + * are none. If not set to Hebrew, it returns a string of the parsha(ios) transliterated into Latin chars. The + * default uses Ashkenazi pronunciation in typical American English spelling, for example Bereshis or + * Nitzavim Vayeilech or an empty string if there are none. + * + * @param jewishCalendar the JewishCalendar Object + * @return today's parsha(ios) in Hebrew for example, if the formatter is set to format in Hebrew, returns a string + * of the current parsha(ios) in Hebrew for example בראשית or + * ניצבים וילך or an empty string if + * there are none. If not set to Hebrew, it returns a string of the parsha(ios) transliterated into Latin + * chars. The default uses Ashkenazi pronunciation in typical American English spelling, for example + * Bereshis or Nitzavim Vayeilech or an empty string if there are none. + */ + public formatParsha(jewishCalendar: JewishCalendar): string { + const parsha: Parsha = jewishCalendar.getParsha(); + return this.hebrewFormat + ? this.hebrewParshaMap[parsha] || '' + : this.transliteratedParshaMap[parsha] || ''; + } + + /** + * Returns a String with the name of the current special parsha of Shekalim, Zachor, Parah or Hachodesh or an + * empty String for a non-special parsha. If the formatter is set to format in Hebrew, it returns a string of + * the current special parsha in Hebrew, for example שקלים, + * זכור, פרה or החדש. An empty + * string if the date is not a special parsha. If not set to Hebrew, it returns a string of the special parsha + * transliterated into Latin chars. The default uses Ashkenazi pronunciation in typical American English spelling + * Shekalim, Zachor, Parah or Hachodesh. + * + * @param jewishCalendar the JewishCalendar Object + * @return today's special parsha. If the formatter is set to format in Hebrew, returns a string + * of the current special parsha in Hebrew for in the format of שקלים, + * זכור, פרה or החדש or an empty + * string if there are none. If not set to Hebrew, it returns a string of the special parsha transliterated + * into Latin chars. The default uses Ashkenazi pronunciation in typical American English spelling of Shekalim, + * Zachor, Parah or Hachodesh. An empty string if there are none. + */ + public formatSpecialParsha(jewishCalendar: JewishCalendar): string { + const specialParsha: Parsha = jewishCalendar.getSpecialShabbos(); + return this.hebrewFormat + ? this.hebrewParshaMap[specialParsha] || '' + : this.transliteratedParshaMap[specialParsha] || ''; + } } diff --git a/src/hebrewcalendar/JewishCalendar.ts b/src/hebrewcalendar/JewishCalendar.ts index 47f13b8..74edc27 100644 --- a/src/hebrewcalendar/JewishCalendar.ts +++ b/src/hebrewcalendar/JewishCalendar.ts @@ -7,7 +7,7 @@ import {YerushalmiYomiCalculator} from "./YerushalmiYomiCalculator"; import * as MomentTimezone from "moment-timezone"; import Moment = MomentTimezone.Moment; -enum Parshah { +export enum Parsha { NONE, BERESHIS, NOACH, LECH_LECHA, VAYERA, CHAYEI_SARA, TOLDOS, VAYETZEI, VAYISHLACH, VAYESHEV, MIKETZ, VAYIGASH, VAYECHI, SHEMOS, VAERA, BO, BESHALACH, YISRO, MISHPATIM, TERUMAH, TETZAVEH, KI_SISA, VAYAKHEL, @@ -26,7 +26,7 @@ enum Parshah { * from his C++ code. It was refactored to fit the KosherJava Zmanim API with simplification of the code, enhancements * and some bug fixing. The class allows setting whether the holiday and parsha scheme follows the Israel scheme or outside Israel * scheme. The default is the outside Israel scheme. - * The parsha code was ported by Y Paritcher from libzmanim + * The parsha code was ported by Y Paritcher from his libzmanim code. * * TODO: Some do not belong in this class, but here is a partial list of what should still be implemented in some form: *
    @@ -38,7 +38,7 @@ enum Parshah { * @see java.util.Calendar * @author © Y Paritcher 2019 * @author © Avrom Finkelstien 2002 - * @author © Eliyahu Hershfeld 2011 - 2016 + * @author © Eliyahu Hershfeld 2011 - 2019 */ export class JewishCalendar extends JewishDate { public static readonly EREV_PESACH: number = 0; @@ -78,25 +78,24 @@ export class JewishCalendar extends JewishDate { private inIsrael: boolean = false; private useModernHolidays: boolean = false; - public static readonly parshah = Parshah; - public static readonly parshahlist: Parshah[][] = [ - [Parshah.NONE, Parshah.VAYEILECH, Parshah.HAAZINU, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL_PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.NONE, Parshah.SHMINI, Parshah.TAZRIA_METZORA, Parshah.ACHREI_MOS_KEDOSHIM, Parshah.EMOR, Parshah.BEHAR_BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM_VAYEILECH], - [Parshah.NONE, Parshah.VAYEILECH, Parshah.HAAZINU, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL_PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.NONE, Parshah.SHMINI, Parshah.TAZRIA_METZORA, Parshah.ACHREI_MOS_KEDOSHIM, Parshah.EMOR, Parshah.BEHAR_BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NONE, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS_BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM_VAYEILECH], - [Parshah.NONE, Parshah.HAAZINU, Parshah.NONE, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL_PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.NONE, Parshah.NONE, Parshah.SHMINI, Parshah.TAZRIA_METZORA, Parshah.ACHREI_MOS_KEDOSHIM, Parshah.EMOR, Parshah.BEHAR_BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM], - [Parshah.NONE, Parshah.HAAZINU, Parshah.NONE, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL, Parshah.PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.NONE, Parshah.SHMINI, Parshah.TAZRIA_METZORA, Parshah.ACHREI_MOS_KEDOSHIM, Parshah.EMOR, Parshah.BEHAR_BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM], - [Parshah.NONE, Parshah.NONE, Parshah.HAAZINU, Parshah.NONE, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL_PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.NONE, Parshah.SHMINI, Parshah.TAZRIA_METZORA, Parshah.ACHREI_MOS_KEDOSHIM, Parshah.EMOR, Parshah.BEHAR_BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM], - [Parshah.NONE, Parshah.NONE, Parshah.HAAZINU, Parshah.NONE, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL_PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.NONE, Parshah.SHMINI, Parshah.TAZRIA_METZORA, Parshah.ACHREI_MOS_KEDOSHIM, Parshah.EMOR, Parshah.BEHAR_BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM_VAYEILECH], - [Parshah.NONE, Parshah.VAYEILECH, Parshah.HAAZINU, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL, Parshah.PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.SHMINI, Parshah.TAZRIA, Parshah.METZORA, Parshah.NONE, Parshah.ACHREI_MOS, Parshah.KEDOSHIM, Parshah.EMOR, Parshah.BEHAR, Parshah.BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NONE, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS_BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM_VAYEILECH], - [Parshah.NONE, Parshah.VAYEILECH, Parshah.HAAZINU, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL, Parshah.PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.SHMINI, Parshah.TAZRIA, Parshah.METZORA, Parshah.NONE, Parshah.NONE, Parshah.ACHREI_MOS, Parshah.KEDOSHIM, Parshah.EMOR, Parshah.BEHAR, Parshah.BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM], - [Parshah.NONE, Parshah.HAAZINU, Parshah.NONE, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL, Parshah.PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.SHMINI, Parshah.TAZRIA, Parshah.METZORA, Parshah.ACHREI_MOS, Parshah.NONE, Parshah.KEDOSHIM, Parshah.EMOR, Parshah.BEHAR, Parshah.BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS, Parshah.MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM], - [Parshah.NONE, Parshah.HAAZINU, Parshah.NONE, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL, Parshah.PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.SHMINI, Parshah.TAZRIA, Parshah.METZORA, Parshah.ACHREI_MOS, Parshah.NONE, Parshah.KEDOSHIM, Parshah.EMOR, Parshah.BEHAR, Parshah.BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS, Parshah.MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM_VAYEILECH], - [Parshah.NONE, Parshah.NONE, Parshah.HAAZINU, Parshah.NONE, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL, Parshah.PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.SHMINI, Parshah.TAZRIA, Parshah.METZORA, Parshah.NONE, Parshah.ACHREI_MOS, Parshah.KEDOSHIM, Parshah.EMOR, Parshah.BEHAR, Parshah.BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM_VAYEILECH], - [Parshah.NONE, Parshah.NONE, Parshah.HAAZINU, Parshah.NONE, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL, Parshah.PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.SHMINI, Parshah.TAZRIA, Parshah.METZORA, Parshah.NONE, Parshah.ACHREI_MOS, Parshah.KEDOSHIM, Parshah.EMOR, Parshah.BEHAR, Parshah.BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NONE, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS_BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM_VAYEILECH], - [Parshah.NONE, Parshah.VAYEILECH, Parshah.HAAZINU, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL_PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.NONE, Parshah.SHMINI, Parshah.TAZRIA_METZORA, Parshah.ACHREI_MOS_KEDOSHIM, Parshah.EMOR, Parshah.BEHAR_BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM_VAYEILECH], - [Parshah.NONE, Parshah.HAAZINU, Parshah.NONE, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL_PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.NONE, Parshah.SHMINI, Parshah.TAZRIA_METZORA, Parshah.ACHREI_MOS_KEDOSHIM, Parshah.EMOR, Parshah.BEHAR, Parshah.BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM], - [Parshah.NONE, Parshah.VAYEILECH, Parshah.HAAZINU, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL, Parshah.PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.SHMINI, Parshah.TAZRIA, Parshah.METZORA, Parshah.NONE, Parshah.ACHREI_MOS, Parshah.KEDOSHIM, Parshah.EMOR, Parshah.BEHAR, Parshah.BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM_VAYEILECH], - [Parshah.NONE, Parshah.VAYEILECH, Parshah.HAAZINU, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL, Parshah.PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.SHMINI, Parshah.TAZRIA, Parshah.METZORA, Parshah.NONE, Parshah.ACHREI_MOS, Parshah.KEDOSHIM, Parshah.EMOR, Parshah.BEHAR, Parshah.BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS, Parshah.MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM], - [Parshah.NONE, Parshah.NONE, Parshah.HAAZINU, Parshah.NONE, Parshah.NONE, Parshah.BERESHIS, Parshah.NOACH, Parshah.LECH_LECHA, Parshah.VAYERA, Parshah.CHAYEI_SARA, Parshah.TOLDOS, Parshah.VAYETZEI, Parshah.VAYISHLACH, Parshah.VAYESHEV, Parshah.MIKETZ, Parshah.VAYIGASH, Parshah.VAYECHI, Parshah.SHEMOS, Parshah.VAERA, Parshah.BO, Parshah.BESHALACH, Parshah.YISRO, Parshah.MISHPATIM, Parshah.TERUMAH, Parshah.TETZAVEH, Parshah.KI_SISA, Parshah.VAYAKHEL, Parshah.PEKUDEI, Parshah.VAYIKRA, Parshah.TZAV, Parshah.SHMINI, Parshah.TAZRIA, Parshah.METZORA, Parshah.NONE, Parshah.ACHREI_MOS, Parshah.KEDOSHIM, Parshah.EMOR, Parshah.BEHAR, Parshah.BECHUKOSAI, Parshah.BAMIDBAR, Parshah.NASSO, Parshah.BEHAALOSCHA, Parshah.SHLACH, Parshah.KORACH, Parshah.CHUKAS, Parshah.BALAK, Parshah.PINCHAS, Parshah.MATOS_MASEI, Parshah.DEVARIM, Parshah.VAESCHANAN, Parshah.EIKEV, Parshah.REEH, Parshah.SHOFTIM, Parshah.KI_SEITZEI, Parshah.KI_SAVO, Parshah.NITZAVIM_VAYEILECH] + public static readonly parshalist: Parsha[][] = [ + [Parsha.NONE, Parsha.VAYEILECH, Parsha.HAAZINU, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL_PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.NONE, Parsha.SHMINI, Parsha.TAZRIA_METZORA, Parsha.ACHREI_MOS_KEDOSHIM, Parsha.EMOR, Parsha.BEHAR_BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM_VAYEILECH], + [Parsha.NONE, Parsha.VAYEILECH, Parsha.HAAZINU, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL_PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.NONE, Parsha.SHMINI, Parsha.TAZRIA_METZORA, Parsha.ACHREI_MOS_KEDOSHIM, Parsha.EMOR, Parsha.BEHAR_BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NONE, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS_BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM_VAYEILECH], + [Parsha.NONE, Parsha.HAAZINU, Parsha.NONE, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL_PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.NONE, Parsha.NONE, Parsha.SHMINI, Parsha.TAZRIA_METZORA, Parsha.ACHREI_MOS_KEDOSHIM, Parsha.EMOR, Parsha.BEHAR_BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM], + [Parsha.NONE, Parsha.HAAZINU, Parsha.NONE, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL, Parsha.PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.NONE, Parsha.SHMINI, Parsha.TAZRIA_METZORA, Parsha.ACHREI_MOS_KEDOSHIM, Parsha.EMOR, Parsha.BEHAR_BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM], + [Parsha.NONE, Parsha.NONE, Parsha.HAAZINU, Parsha.NONE, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL_PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.NONE, Parsha.SHMINI, Parsha.TAZRIA_METZORA, Parsha.ACHREI_MOS_KEDOSHIM, Parsha.EMOR, Parsha.BEHAR_BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM], + [Parsha.NONE, Parsha.NONE, Parsha.HAAZINU, Parsha.NONE, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL_PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.NONE, Parsha.SHMINI, Parsha.TAZRIA_METZORA, Parsha.ACHREI_MOS_KEDOSHIM, Parsha.EMOR, Parsha.BEHAR_BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM_VAYEILECH], + [Parsha.NONE, Parsha.VAYEILECH, Parsha.HAAZINU, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL, Parsha.PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.SHMINI, Parsha.TAZRIA, Parsha.METZORA, Parsha.NONE, Parsha.ACHREI_MOS, Parsha.KEDOSHIM, Parsha.EMOR, Parsha.BEHAR, Parsha.BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NONE, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS_BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM_VAYEILECH], + [Parsha.NONE, Parsha.VAYEILECH, Parsha.HAAZINU, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL, Parsha.PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.SHMINI, Parsha.TAZRIA, Parsha.METZORA, Parsha.NONE, Parsha.NONE, Parsha.ACHREI_MOS, Parsha.KEDOSHIM, Parsha.EMOR, Parsha.BEHAR, Parsha.BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM], + [Parsha.NONE, Parsha.HAAZINU, Parsha.NONE, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL, Parsha.PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.SHMINI, Parsha.TAZRIA, Parsha.METZORA, Parsha.ACHREI_MOS, Parsha.NONE, Parsha.KEDOSHIM, Parsha.EMOR, Parsha.BEHAR, Parsha.BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS, Parsha.MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM], + [Parsha.NONE, Parsha.HAAZINU, Parsha.NONE, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL, Parsha.PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.SHMINI, Parsha.TAZRIA, Parsha.METZORA, Parsha.ACHREI_MOS, Parsha.NONE, Parsha.KEDOSHIM, Parsha.EMOR, Parsha.BEHAR, Parsha.BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS, Parsha.MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM_VAYEILECH], + [Parsha.NONE, Parsha.NONE, Parsha.HAAZINU, Parsha.NONE, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL, Parsha.PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.SHMINI, Parsha.TAZRIA, Parsha.METZORA, Parsha.NONE, Parsha.ACHREI_MOS, Parsha.KEDOSHIM, Parsha.EMOR, Parsha.BEHAR, Parsha.BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM_VAYEILECH], + [Parsha.NONE, Parsha.NONE, Parsha.HAAZINU, Parsha.NONE, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL, Parsha.PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.SHMINI, Parsha.TAZRIA, Parsha.METZORA, Parsha.NONE, Parsha.ACHREI_MOS, Parsha.KEDOSHIM, Parsha.EMOR, Parsha.BEHAR, Parsha.BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NONE, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS_BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM_VAYEILECH], + [Parsha.NONE, Parsha.VAYEILECH, Parsha.HAAZINU, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL_PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.NONE, Parsha.SHMINI, Parsha.TAZRIA_METZORA, Parsha.ACHREI_MOS_KEDOSHIM, Parsha.EMOR, Parsha.BEHAR_BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM_VAYEILECH], + [Parsha.NONE, Parsha.HAAZINU, Parsha.NONE, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL_PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.NONE, Parsha.SHMINI, Parsha.TAZRIA_METZORA, Parsha.ACHREI_MOS_KEDOSHIM, Parsha.EMOR, Parsha.BEHAR, Parsha.BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM], + [Parsha.NONE, Parsha.VAYEILECH, Parsha.HAAZINU, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL, Parsha.PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.SHMINI, Parsha.TAZRIA, Parsha.METZORA, Parsha.NONE, Parsha.ACHREI_MOS, Parsha.KEDOSHIM, Parsha.EMOR, Parsha.BEHAR, Parsha.BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM_VAYEILECH], + [Parsha.NONE, Parsha.VAYEILECH, Parsha.HAAZINU, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL, Parsha.PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.SHMINI, Parsha.TAZRIA, Parsha.METZORA, Parsha.NONE, Parsha.ACHREI_MOS, Parsha.KEDOSHIM, Parsha.EMOR, Parsha.BEHAR, Parsha.BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS, Parsha.MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM], + [Parsha.NONE, Parsha.NONE, Parsha.HAAZINU, Parsha.NONE, Parsha.NONE, Parsha.BERESHIS, Parsha.NOACH, Parsha.LECH_LECHA, Parsha.VAYERA, Parsha.CHAYEI_SARA, Parsha.TOLDOS, Parsha.VAYETZEI, Parsha.VAYISHLACH, Parsha.VAYESHEV, Parsha.MIKETZ, Parsha.VAYIGASH, Parsha.VAYECHI, Parsha.SHEMOS, Parsha.VAERA, Parsha.BO, Parsha.BESHALACH, Parsha.YISRO, Parsha.MISHPATIM, Parsha.TERUMAH, Parsha.TETZAVEH, Parsha.KI_SISA, Parsha.VAYAKHEL, Parsha.PEKUDEI, Parsha.VAYIKRA, Parsha.TZAV, Parsha.SHMINI, Parsha.TAZRIA, Parsha.METZORA, Parsha.NONE, Parsha.ACHREI_MOS, Parsha.KEDOSHIM, Parsha.EMOR, Parsha.BEHAR, Parsha.BECHUKOSAI, Parsha.BAMIDBAR, Parsha.NASSO, Parsha.BEHAALOSCHA, Parsha.SHLACH, Parsha.KORACH, Parsha.CHUKAS, Parsha.BALAK, Parsha.PINCHAS, Parsha.MATOS_MASEI, Parsha.DEVARIM, Parsha.VAESCHANAN, Parsha.EIKEV, Parsha.REEH, Parsha.SHOFTIM, Parsha.KI_SEITZEI, Parsha.KI_SAVO, Parsha.NITZAVIM_VAYEILECH] ]; /** @@ -221,7 +220,9 @@ export class JewishCalendar extends JewishDate { } /** - * return the type of year for parshah calculations. + * Return the type of year for parsha calculations. + * @return the type of year for parsha calculations. + * @todo Use constants in this class. */ private getYearType(): number { const yearWday: number = (JewishCalendar.getJewishCalendarElapsedDays(this.getJewishYear()) + 1) % 7; @@ -281,68 +282,70 @@ export class JewishCalendar extends JewishDate { } /** - * returns a Parshah enum with the weeks parshah if it is Shabbos. - * returns NONE if a weekday or if there is no parshah that week (for example Yomtov is on Shabbos) - * @return the current parshah + * Returns a parsha enum with the weeks parsha if it is Shabbos. + * returns NONE if a weekday or if there is no parsha that week (for example Yomtov is on Shabbos) + * @return the current parsha */ - public getParshahIndex(): Parshah { + public getParsha(): Parsha { const yearType: number = this.getYearType(); const yearWday: number = JewishCalendar.getJewishCalendarElapsedDays(this.getJewishYear()) % 7; const day: number = yearWday + this.getDaysSinceStartOfJewishYear(); - if (this.getDayOfWeek() !== 7) {return Parshah.NONE} + if (this.getDayOfWeek() !== 7) { + return Parsha.NONE + } if (yearType >= 0) { - return JewishCalendar.parshahlist[yearType][day / 7]; + return JewishCalendar.parshalist[yearType][day / 7]; } - return Parshah.NONE; + return Parsha.NONE; } /** - * returns a Parshah enum if the week is one of the four parshahs if it is Shabbos. + * returns a parsha enum if the week is one of the four parshiyos if it is Shabbos. * returns NONE if a weekday - * @return one of the four parshahs + * @return one of the four parshiyos on those shabbosim. */ - public getSpecialShabbos(): Parshah { - if (this.getDayOfWeek() !== 7) { + public getSpecialShabbos(): Parsha { + if (this.getDayOfWeek() === 7) { if ((this.getJewishMonth() === 11 && !this.isJewishLeapYear()) || (this.getJewishMonth() === 12 && this.isJewishLeapYear())) { if (this.getJewishDayOfMonth() === 25 || this.getJewishDayOfMonth() === 27 || this.getJewishDayOfMonth() === 29) { - return Parshah.SHKALIM; + return Parsha.SHKALIM; } } if ((this.getJewishMonth() === 12 && !this.isJewishLeapYear()) || this.getJewishMonth() === 13) { if (this.getJewishDayOfMonth() === 1) { - return Parshah.SHKALIM; + return Parsha.SHKALIM; } if (this.getJewishDayOfMonth() === 8 || this.getJewishDayOfMonth() === 9 || this.getJewishDayOfMonth() === 11 || this.getJewishDayOfMonth() === 13) { - return Parshah.ZACHOR; + return Parsha.ZACHOR; } if (this.getJewishDayOfMonth() === 18 || this.getJewishDayOfMonth() === 20 || this.getJewishDayOfMonth() === 22 || this.getJewishDayOfMonth() === 23) { - return Parshah.PARA; + return Parsha.PARA; } if (this.getJewishDayOfMonth() === 25 || this.getJewishDayOfMonth() === 27 || this.getJewishDayOfMonth() === 29) { - return Parshah.HACHODESH; + return Parsha.HACHODESH; } } if (this.getJewishMonth() === 1 && this.getJewishDayOfMonth() === 1) { - return Parshah.HACHODESH; + return Parsha.HACHODESH; } } - return Parshah.NONE; + return Parsha.NONE; } /**