@hebcal/core 5.3.7 → 5.3.9

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/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v5.3.7 */
1
+ /*! @hebcal/core v5.3.9 */
2
2
  /* eslint-disable @typescript-eslint/no-namespace, no-inner-declarations */
3
3
  /** @private */
4
4
  const lengths = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
@@ -2044,6 +2044,11 @@ class Event {
2044
2044
  * @param {Object} [attrs={}] optional additional attributes (e.g. `eventTimeStr`, `cholHaMoedDay`)
2045
2045
  */
2046
2046
  constructor(date, desc, mask, attrs) {
2047
+ if (!HDate.isHDate(date)) {
2048
+ throw new TypeError(`Invalid Event date: ${date}`);
2049
+ } else if (typeof desc !== 'string') {
2050
+ throw new TypeError(`Invalid Event description: ${desc}`);
2051
+ }
2047
2052
  this.date = date;
2048
2053
  this.desc = desc;
2049
2054
  this.mask = +mask;
@@ -2164,7 +2169,7 @@ class Event {
2164
2169
  * @return {Event}
2165
2170
  */
2166
2171
  clone() {
2167
- const ev = new this.constructor();
2172
+ const ev = new this.constructor(this.date, this.desc, this.mask);
2168
2173
  for (const property in this) {
2169
2174
  if (this.hasOwnProperty(property)) {
2170
2175
  ev[property] = this[property];
@@ -7811,6 +7816,21 @@ class Zmanim {
7811
7816
  this.noaa = new NOAACalculator(gloc, plainDate);
7812
7817
  this.useElevation = Boolean(useElevation);
7813
7818
  }
7819
+ /**
7820
+ * Returns `true` if elevation adjustment is enabled
7821
+ * for zmanim support elevation adjustment
7822
+ * @return {boolean}
7823
+ */
7824
+ getUseElevation() {
7825
+ return this.useElevation;
7826
+ }
7827
+ /**
7828
+ * Enables or disables elevation adjustment for zmanim support elevation adjustment
7829
+ * @param {boolean} useElevation
7830
+ */
7831
+ setUseElevation(useElevation) {
7832
+ this.useElevation = useElevation;
7833
+ }
7814
7834
  /**
7815
7835
  * Convenience function to get the time when sun is above or below the horizon
7816
7836
  * for a certain angle (in degrees).
@@ -8663,8 +8683,12 @@ class OmerEvent extends Event {
8663
8683
  */
8664
8684
  render(locale) {
8665
8685
  locale = locale || Locale.getLocaleName();
8686
+ if (typeof locale === 'string') {
8687
+ locale = locale.toLowerCase();
8688
+ }
8689
+ const isHebrewLocale = locale === 'he' || locale === 'he-x-nonikud' || locale === 'h';
8666
8690
  const omer = this.omer;
8667
- const nth = locale == 'he' ? gematriya(omer) : Locale.ordinal(omer, locale);
8691
+ const nth = isHebrewLocale ? gematriya(omer) : Locale.ordinal(omer, locale);
8668
8692
  return nth + ' ' + Locale.gettext('day of the Omer', locale);
8669
8693
  }
8670
8694
  /**
@@ -9284,7 +9308,7 @@ const PESACH1 = 'Pesach I';
9284
9308
  const CHMPESACH = 'Pesach Shabbat Chol ha-Moed'; // 25
9285
9309
  const PESACH7 = 'Pesach VII'; // 25
9286
9310
  const PESACH8 = 'Pesach VIII';
9287
- const SHAVUOT = 'Shavuot'; // 33
9311
+ const SHAVUOT$1 = 'Shavuot'; // 33
9288
9312
 
9289
9313
  /**
9290
9314
  * Returns an array from start to end
@@ -9314,7 +9338,7 @@ const types = {
9314
9338
  /* Hebrew year that starts on Monday, is `complete' (Heshvan and
9315
9339
  * Kislev each have 30 days), and has Passover start on Thursday. */
9316
9340
  // e.g. 5756
9317
- '0220': [51, 52].concat(EOY, range$1(0, 20), D(21), 23, 24, PESACH, 25, D(26), D(28), 30, D(31), 33, SHAVUOT, range$1(34, 37), D(38), 40, D(41), range$1(43, 49), D(50)),
9341
+ '0220': [51, 52].concat(EOY, range$1(0, 20), D(21), 23, 24, PESACH, 25, D(26), D(28), 30, D(31), 33, SHAVUOT$1, range$1(34, 37), D(38), 40, D(41), range$1(43, 49), D(50)),
9318
9342
  /* Hebrew year that starts on Thursday, is `regular' (Heshvan has 29
9319
9343
  * days and Kislev has 30 days), and has Passover start on Saturday. */
9320
9344
  // e.g. 5701
@@ -9339,7 +9363,7 @@ const types = {
9339
9363
  /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and
9340
9364
  * Kislev each have 29 days), and has Passover start on Thursday. */
9341
9365
  // e.g. 5746
9342
- '1200': [51, 52].concat(CHMSUKOT, range$1(0, 27), CHMPESACH, range$1(28, 33), SHAVUOT, range$1(34, 37), D(38), 40, D(41), range$1(43, 49), D(50)),
9366
+ '1200': [51, 52].concat(CHMSUKOT, range$1(0, 27), CHMPESACH, range$1(28, 33), SHAVUOT$1, range$1(34, 37), D(38), 40, D(41), range$1(43, 49), D(50)),
9343
9367
  /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and
9344
9368
  * Kislev each have 29 days), and has Passover start on Thursday. */
9345
9369
  // e.g. 5746
@@ -9366,7 +9390,7 @@ const types = {
9366
9390
  '170': [].concat(RH, 52, SUKKOT, SHMINI, range$1(0, 27), CHMPESACH, range$1(28, 40), D(41), range$1(43, 49), D(50)),
9367
9391
  /* Hebrew year that starts on Saturday, is `complete' (Heshvan and
9368
9392
  * Kislev each have 30 days), and has Passover start on Thursday. */
9369
- '1720': [].concat(RH, 52, SUKKOT, SHMINI, range$1(0, 27), CHMPESACH, range$1(28, 33), SHAVUOT, range$1(34, 37), D(38), 40, D(41), range$1(43, 49), D(50))
9393
+ '1720': [].concat(RH, 52, SUKKOT, SHMINI, range$1(0, 27), CHMPESACH, range$1(28, 33), SHAVUOT$1, range$1(34, 37), D(38), 40, D(41), range$1(43, 49), D(50))
9370
9394
  };
9371
9395
 
9372
9396
  /* Hebrew year that starts on Monday, is `complete' (Heshvan and
@@ -9555,165 +9579,263 @@ const EREV$2 = flags.EREV;
9555
9579
  const CHOL_HAMOED$1 = flags.CHOL_HAMOED;
9556
9580
  const emojiPesach = '🫓';
9557
9581
  const emojiSukkot = '🌿🍋';
9582
+ const ROSH_HASHANA_II = 'Rosh Hashana II';
9583
+ const EREV_YOM_KIPPUR = 'Erev Yom Kippur';
9584
+ const YOM_KIPPUR = 'Yom Kippur';
9585
+ const EREV_SUKKOT = 'Erev Sukkot';
9586
+ const SUKKOT_I = 'Sukkot I';
9587
+ const SUKKOT_II = 'Sukkot II';
9588
+ const SUKKOT_III_CHM = 'Sukkot III (CH\'\'M)';
9589
+ const SUKKOT_IV_CHM = 'Sukkot IV (CH\'\'M)';
9590
+ const SUKKOT_V_CHM = 'Sukkot V (CH\'\'M)';
9591
+ const SUKKOT_VI_CHM = 'Sukkot VI (CH\'\'M)';
9592
+ const SHMINI_ATZERET = 'Shmini Atzeret';
9593
+ const SIMCHAT_TORAH = 'Simchat Torah';
9594
+ const SUKKOT_II_CHM = 'Sukkot II (CH\'\'M)';
9595
+ const SUKKOT_VII_HOSHANA_RABA = 'Sukkot VII (Hoshana Raba)';
9596
+ const CHANUKAH_1_CANDLE = 'Chanukah: 1 Candle';
9597
+ const TU_BISHVAT = 'Tu BiShvat';
9598
+ const EREV_PURIM = 'Erev Purim';
9599
+ const PURIM = 'Purim';
9600
+ const SHUSHAN_PURIM = 'Shushan Purim';
9601
+ const EREV_PESACH = 'Erev Pesach';
9602
+ const PESACH_I = 'Pesach I';
9603
+ const PESACH_II = 'Pesach II';
9604
+ const PESACH_II_CHM = 'Pesach II (CH\'\'M)';
9605
+ const PESACH_III_CHM = 'Pesach III (CH\'\'M)';
9606
+ const PESACH_IV_CHM = 'Pesach IV (CH\'\'M)';
9607
+ const PESACH_V_CHM = 'Pesach V (CH\'\'M)';
9608
+ const PESACH_VI_CHM = 'Pesach VI (CH\'\'M)';
9609
+ const PESACH_VII = 'Pesach VII';
9610
+ const PESACH_VIII = 'Pesach VIII';
9611
+ const PESACH_SHENI = 'Pesach Sheni';
9612
+ const LAG_BAOMER = 'Lag BaOmer';
9613
+ const EREV_SHAVUOT = 'Erev Shavuot';
9614
+ const SHAVUOT = 'Shavuot';
9615
+ const SHAVUOT_I = 'Shavuot I';
9616
+ const SHAVUOT_II = 'Shavuot II';
9617
+ const TU_BAV = 'Tu B\'Av';
9618
+ const ROSH_HASHANA_LABEHEMOT = 'Rosh Hashana LaBehemot';
9619
+ const EREV_ROSH_HASHANA = 'Erev Rosh Hashana';
9620
+ const YOM_YERUSHALAYIM = 'Yom Yerushalayim';
9621
+ const BEN_GURION_DAY = 'Ben-Gurion Day';
9622
+ const FAMILY_DAY = 'Family Day';
9623
+ const YITZHAK_RABIN_MEMORIAL_DAY = 'Yitzhak Rabin Memorial Day';
9624
+ const HERZL_DAY = 'Herzl Day';
9625
+ const JABOTINSKY_DAY = 'Jabotinsky Day';
9626
+ const SIGD = 'Sigd';
9627
+ const YOM_HAALIYAH = 'Yom HaAliyah';
9628
+ const YOM_HAALIYAH_SCHOOL_OBSERVANCE = 'Yom HaAliyah School Observance';
9629
+ const HEBREW_LANGUAGE_DAY = 'Hebrew Language Day';
9630
+ const holidayDesc$1 = {
9631
+ ROSH_HASHANA_II,
9632
+ EREV_YOM_KIPPUR,
9633
+ YOM_KIPPUR,
9634
+ EREV_SUKKOT,
9635
+ SUKKOT_I,
9636
+ SUKKOT_II,
9637
+ SUKKOT_III_CHM,
9638
+ SUKKOT_IV_CHM,
9639
+ SUKKOT_V_CHM,
9640
+ SUKKOT_VI_CHM,
9641
+ SHMINI_ATZERET,
9642
+ SIMCHAT_TORAH,
9643
+ SUKKOT_II_CHM,
9644
+ SUKKOT_VII_HOSHANA_RABA,
9645
+ CHANUKAH_1_CANDLE,
9646
+ TU_BISHVAT,
9647
+ EREV_PURIM,
9648
+ PURIM,
9649
+ SHUSHAN_PURIM,
9650
+ EREV_PESACH,
9651
+ PESACH_I,
9652
+ PESACH_II,
9653
+ PESACH_II_CHM,
9654
+ PESACH_III_CHM,
9655
+ PESACH_IV_CHM,
9656
+ PESACH_V_CHM,
9657
+ PESACH_VI_CHM,
9658
+ PESACH_VII,
9659
+ PESACH_VIII,
9660
+ PESACH_SHENI,
9661
+ LAG_BAOMER,
9662
+ EREV_SHAVUOT,
9663
+ SHAVUOT,
9664
+ SHAVUOT_I,
9665
+ SHAVUOT_II,
9666
+ TU_BAV,
9667
+ ROSH_HASHANA_LABEHEMOT,
9668
+ EREV_ROSH_HASHANA,
9669
+ YOM_YERUSHALAYIM,
9670
+ BEN_GURION_DAY,
9671
+ FAMILY_DAY,
9672
+ YITZHAK_RABIN_MEMORIAL_DAY,
9673
+ HERZL_DAY,
9674
+ JABOTINSKY_DAY,
9675
+ SIGD,
9676
+ YOM_HAALIYAH,
9677
+ YOM_HAALIYAH_SCHOOL_OBSERVANCE,
9678
+ HEBREW_LANGUAGE_DAY
9679
+ };
9558
9680
  const staticHolidays = [{
9559
9681
  mm: Tishrei,
9560
9682
  dd: 2,
9561
- desc: 'Rosh Hashana II',
9683
+ desc: ROSH_HASHANA_II,
9562
9684
  flags: CHAG$1 | YOM_TOV_ENDS$1,
9563
9685
  emoji: '🍏🍯'
9564
9686
  }, {
9565
9687
  mm: Tishrei,
9566
9688
  dd: 9,
9567
- desc: 'Erev Yom Kippur',
9689
+ desc: EREV_YOM_KIPPUR,
9568
9690
  flags: EREV$2 | LIGHT_CANDLES$1
9569
9691
  }, {
9570
9692
  mm: Tishrei,
9571
9693
  dd: 10,
9572
- desc: 'Yom Kippur',
9694
+ desc: YOM_KIPPUR,
9573
9695
  flags: CHAG$1 | MAJOR_FAST$2 | YOM_TOV_ENDS$1
9574
9696
  }, {
9575
9697
  mm: Tishrei,
9576
9698
  dd: 14,
9577
- desc: 'Erev Sukkot',
9699
+ desc: EREV_SUKKOT,
9578
9700
  flags: CHUL_ONLY$1 | EREV$2 | LIGHT_CANDLES$1,
9579
9701
  emoji: emojiSukkot
9580
9702
  }, {
9581
9703
  mm: Tishrei,
9582
9704
  dd: 15,
9583
- desc: 'Sukkot I',
9705
+ desc: SUKKOT_I,
9584
9706
  flags: CHUL_ONLY$1 | CHAG$1 | LIGHT_CANDLES_TZEIS$2,
9585
9707
  emoji: emojiSukkot
9586
9708
  }, {
9587
9709
  mm: Tishrei,
9588
9710
  dd: 16,
9589
- desc: 'Sukkot II',
9711
+ desc: SUKKOT_II,
9590
9712
  flags: CHUL_ONLY$1 | CHAG$1 | YOM_TOV_ENDS$1,
9591
9713
  emoji: emojiSukkot
9592
9714
  }, {
9593
9715
  mm: Tishrei,
9594
9716
  dd: 17,
9595
- desc: 'Sukkot III (CH\'\'M)',
9717
+ desc: SUKKOT_III_CHM,
9596
9718
  flags: CHUL_ONLY$1 | CHOL_HAMOED$1,
9597
9719
  chmDay: 1,
9598
9720
  emoji: emojiSukkot
9599
9721
  }, {
9600
9722
  mm: Tishrei,
9601
9723
  dd: 18,
9602
- desc: 'Sukkot IV (CH\'\'M)',
9724
+ desc: SUKKOT_IV_CHM,
9603
9725
  flags: CHUL_ONLY$1 | CHOL_HAMOED$1,
9604
9726
  chmDay: 2,
9605
9727
  emoji: emojiSukkot
9606
9728
  }, {
9607
9729
  mm: Tishrei,
9608
9730
  dd: 19,
9609
- desc: 'Sukkot V (CH\'\'M)',
9731
+ desc: SUKKOT_V_CHM,
9610
9732
  flags: CHUL_ONLY$1 | CHOL_HAMOED$1,
9611
9733
  chmDay: 3,
9612
9734
  emoji: emojiSukkot
9613
9735
  }, {
9614
9736
  mm: Tishrei,
9615
9737
  dd: 20,
9616
- desc: 'Sukkot VI (CH\'\'M)',
9738
+ desc: SUKKOT_VI_CHM,
9617
9739
  flags: CHUL_ONLY$1 | CHOL_HAMOED$1,
9618
9740
  chmDay: 4,
9619
9741
  emoji: emojiSukkot
9620
9742
  }, {
9621
9743
  mm: Tishrei,
9622
9744
  dd: 22,
9623
- desc: 'Shmini Atzeret',
9745
+ desc: SHMINI_ATZERET,
9624
9746
  flags: CHUL_ONLY$1 | CHAG$1 | LIGHT_CANDLES_TZEIS$2
9625
9747
  }, {
9626
9748
  mm: Tishrei,
9627
9749
  dd: 23,
9628
- desc: 'Simchat Torah',
9750
+ desc: SIMCHAT_TORAH,
9629
9751
  flags: CHUL_ONLY$1 | CHAG$1 | YOM_TOV_ENDS$1
9630
9752
  }, {
9631
9753
  mm: Tishrei,
9632
9754
  dd: 14,
9633
- desc: 'Erev Sukkot',
9755
+ desc: EREV_SUKKOT,
9634
9756
  flags: IL_ONLY$2 | EREV$2 | LIGHT_CANDLES$1,
9635
9757
  emoji: emojiSukkot
9636
9758
  }, {
9637
9759
  mm: Tishrei,
9638
9760
  dd: 15,
9639
- desc: 'Sukkot I',
9761
+ desc: SUKKOT_I,
9640
9762
  flags: IL_ONLY$2 | CHAG$1 | YOM_TOV_ENDS$1,
9641
9763
  emoji: emojiSukkot
9642
9764
  }, {
9643
9765
  mm: Tishrei,
9644
9766
  dd: 16,
9645
- desc: 'Sukkot II (CH\'\'M)',
9767
+ desc: SUKKOT_II_CHM,
9646
9768
  flags: IL_ONLY$2 | CHOL_HAMOED$1,
9647
9769
  chmDay: 1,
9648
9770
  emoji: emojiSukkot
9649
9771
  }, {
9650
9772
  mm: Tishrei,
9651
9773
  dd: 17,
9652
- desc: 'Sukkot III (CH\'\'M)',
9774
+ desc: SUKKOT_III_CHM,
9653
9775
  flags: IL_ONLY$2 | CHOL_HAMOED$1,
9654
9776
  chmDay: 2,
9655
9777
  emoji: emojiSukkot
9656
9778
  }, {
9657
9779
  mm: Tishrei,
9658
9780
  dd: 18,
9659
- desc: 'Sukkot IV (CH\'\'M)',
9781
+ desc: SUKKOT_IV_CHM,
9660
9782
  flags: IL_ONLY$2 | CHOL_HAMOED$1,
9661
9783
  chmDay: 3,
9662
9784
  emoji: emojiSukkot
9663
9785
  }, {
9664
9786
  mm: Tishrei,
9665
9787
  dd: 19,
9666
- desc: 'Sukkot V (CH\'\'M)',
9788
+ desc: SUKKOT_V_CHM,
9667
9789
  flags: IL_ONLY$2 | CHOL_HAMOED$1,
9668
9790
  chmDay: 4,
9669
9791
  emoji: emojiSukkot
9670
9792
  }, {
9671
9793
  mm: Tishrei,
9672
9794
  dd: 20,
9673
- desc: 'Sukkot VI (CH\'\'M)',
9795
+ desc: SUKKOT_VI_CHM,
9674
9796
  flags: IL_ONLY$2 | CHOL_HAMOED$1,
9675
9797
  chmDay: 5,
9676
9798
  emoji: emojiSukkot
9677
9799
  }, {
9678
9800
  mm: Tishrei,
9679
9801
  dd: 22,
9680
- desc: 'Shmini Atzeret',
9802
+ desc: SHMINI_ATZERET,
9681
9803
  flags: IL_ONLY$2 | CHAG$1 | YOM_TOV_ENDS$1
9682
9804
  }, {
9683
9805
  mm: Tishrei,
9684
9806
  dd: 21,
9685
- desc: 'Sukkot VII (Hoshana Raba)',
9807
+ desc: SUKKOT_VII_HOSHANA_RABA,
9686
9808
  flags: LIGHT_CANDLES$1 | CHOL_HAMOED$1,
9687
9809
  chmDay: -1,
9688
9810
  emoji: emojiSukkot
9689
9811
  }, {
9690
9812
  mm: Kislev,
9691
9813
  dd: 24,
9692
- desc: 'Chanukah: 1 Candle',
9814
+ desc: CHANUKAH_1_CANDLE,
9693
9815
  flags: EREV$2 | MINOR_HOLIDAY$2 | CHANUKAH_CANDLES$2,
9694
9816
  emoji: '🕎1️⃣'
9695
9817
  }, {
9696
9818
  mm: Shvat,
9697
9819
  dd: 15,
9698
- desc: 'Tu BiShvat',
9820
+ desc: TU_BISHVAT,
9699
9821
  flags: MINOR_HOLIDAY$2,
9700
9822
  emoji: '🌳'
9701
9823
  }, {
9702
9824
  mm: Adar2,
9703
9825
  dd: 13,
9704
- desc: 'Erev Purim',
9826
+ desc: EREV_PURIM,
9705
9827
  flags: EREV$2 | MINOR_HOLIDAY$2,
9706
9828
  emoji: '🎭️📜'
9707
9829
  }, {
9708
9830
  mm: Adar2,
9709
9831
  dd: 14,
9710
- desc: 'Purim',
9832
+ desc: PURIM,
9711
9833
  flags: MINOR_HOLIDAY$2,
9712
9834
  emoji: '🎭️📜'
9713
9835
  }, {
9714
9836
  mm: Adar2,
9715
9837
  dd: 15,
9716
- desc: 'Shushan Purim',
9838
+ desc: SHUSHAN_PURIM,
9717
9839
  flags: MINOR_HOLIDAY$2,
9718
9840
  emoji: '🎭️📜'
9719
9841
  },
@@ -9721,54 +9843,54 @@ const staticHolidays = [{
9721
9843
  {
9722
9844
  mm: Nisan,
9723
9845
  dd: 14,
9724
- desc: 'Erev Pesach',
9846
+ desc: EREV_PESACH,
9725
9847
  flags: IL_ONLY$2 | EREV$2 | LIGHT_CANDLES$1,
9726
9848
  emoji: '🫓🍷'
9727
9849
  }, {
9728
9850
  mm: Nisan,
9729
9851
  dd: 15,
9730
- desc: 'Pesach I',
9852
+ desc: PESACH_I,
9731
9853
  flags: IL_ONLY$2 | CHAG$1 | YOM_TOV_ENDS$1,
9732
9854
  emoji: emojiPesach
9733
9855
  }, {
9734
9856
  mm: Nisan,
9735
9857
  dd: 16,
9736
- desc: 'Pesach II (CH\'\'M)',
9858
+ desc: PESACH_II_CHM,
9737
9859
  flags: IL_ONLY$2 | CHOL_HAMOED$1,
9738
9860
  chmDay: 1,
9739
9861
  emoji: emojiPesach
9740
9862
  }, {
9741
9863
  mm: Nisan,
9742
9864
  dd: 17,
9743
- desc: 'Pesach III (CH\'\'M)',
9865
+ desc: PESACH_III_CHM,
9744
9866
  flags: IL_ONLY$2 | CHOL_HAMOED$1,
9745
9867
  chmDay: 2,
9746
9868
  emoji: emojiPesach
9747
9869
  }, {
9748
9870
  mm: Nisan,
9749
9871
  dd: 18,
9750
- desc: 'Pesach IV (CH\'\'M)',
9872
+ desc: PESACH_IV_CHM,
9751
9873
  flags: IL_ONLY$2 | CHOL_HAMOED$1,
9752
9874
  chmDay: 3,
9753
9875
  emoji: emojiPesach
9754
9876
  }, {
9755
9877
  mm: Nisan,
9756
9878
  dd: 19,
9757
- desc: 'Pesach V (CH\'\'M)',
9879
+ desc: PESACH_V_CHM,
9758
9880
  flags: IL_ONLY$2 | CHOL_HAMOED$1,
9759
9881
  chmDay: 4,
9760
9882
  emoji: emojiPesach
9761
9883
  }, {
9762
9884
  mm: Nisan,
9763
9885
  dd: 20,
9764
- desc: 'Pesach VI (CH\'\'M)',
9886
+ desc: PESACH_VI_CHM,
9765
9887
  flags: IL_ONLY$2 | CHOL_HAMOED$1 | LIGHT_CANDLES$1,
9766
9888
  chmDay: 5,
9767
9889
  emoji: emojiPesach
9768
9890
  }, {
9769
9891
  mm: Nisan,
9770
9892
  dd: 21,
9771
- desc: 'Pesach VII',
9893
+ desc: PESACH_VII,
9772
9894
  flags: IL_ONLY$2 | CHAG$1 | YOM_TOV_ENDS$1,
9773
9895
  emoji: emojiPesach
9774
9896
  },
@@ -9776,112 +9898,112 @@ const staticHolidays = [{
9776
9898
  {
9777
9899
  mm: Nisan,
9778
9900
  dd: 14,
9779
- desc: 'Erev Pesach',
9901
+ desc: EREV_PESACH,
9780
9902
  flags: CHUL_ONLY$1 | EREV$2 | LIGHT_CANDLES$1,
9781
9903
  emoji: '🫓🍷'
9782
9904
  }, {
9783
9905
  mm: Nisan,
9784
9906
  dd: 15,
9785
- desc: 'Pesach I',
9907
+ desc: PESACH_I,
9786
9908
  flags: CHUL_ONLY$1 | CHAG$1 | LIGHT_CANDLES_TZEIS$2,
9787
9909
  emoji: '🫓🍷'
9788
9910
  }, {
9789
9911
  mm: Nisan,
9790
9912
  dd: 16,
9791
- desc: 'Pesach II',
9913
+ desc: PESACH_II,
9792
9914
  flags: CHUL_ONLY$1 | CHAG$1 | YOM_TOV_ENDS$1,
9793
9915
  emoji: emojiPesach
9794
9916
  }, {
9795
9917
  mm: Nisan,
9796
9918
  dd: 17,
9797
- desc: 'Pesach III (CH\'\'M)',
9919
+ desc: PESACH_III_CHM,
9798
9920
  flags: CHUL_ONLY$1 | CHOL_HAMOED$1,
9799
9921
  chmDay: 1,
9800
9922
  emoji: emojiPesach
9801
9923
  }, {
9802
9924
  mm: Nisan,
9803
9925
  dd: 18,
9804
- desc: 'Pesach IV (CH\'\'M)',
9926
+ desc: PESACH_IV_CHM,
9805
9927
  flags: CHUL_ONLY$1 | CHOL_HAMOED$1,
9806
9928
  chmDay: 2,
9807
9929
  emoji: emojiPesach
9808
9930
  }, {
9809
9931
  mm: Nisan,
9810
9932
  dd: 19,
9811
- desc: 'Pesach V (CH\'\'M)',
9933
+ desc: PESACH_V_CHM,
9812
9934
  flags: CHUL_ONLY$1 | CHOL_HAMOED$1,
9813
9935
  chmDay: 3,
9814
9936
  emoji: emojiPesach
9815
9937
  }, {
9816
9938
  mm: Nisan,
9817
9939
  dd: 20,
9818
- desc: 'Pesach VI (CH\'\'M)',
9940
+ desc: PESACH_VI_CHM,
9819
9941
  flags: CHUL_ONLY$1 | CHOL_HAMOED$1 | LIGHT_CANDLES$1,
9820
9942
  chmDay: 4,
9821
9943
  emoji: emojiPesach
9822
9944
  }, {
9823
9945
  mm: Nisan,
9824
9946
  dd: 21,
9825
- desc: 'Pesach VII',
9947
+ desc: PESACH_VII,
9826
9948
  flags: CHUL_ONLY$1 | CHAG$1 | LIGHT_CANDLES_TZEIS$2,
9827
9949
  emoji: emojiPesach
9828
9950
  }, {
9829
9951
  mm: Nisan,
9830
9952
  dd: 22,
9831
- desc: 'Pesach VIII',
9953
+ desc: PESACH_VIII,
9832
9954
  flags: CHUL_ONLY$1 | CHAG$1 | YOM_TOV_ENDS$1,
9833
9955
  emoji: emojiPesach
9834
9956
  }, {
9835
9957
  mm: Iyyar,
9836
9958
  dd: 14,
9837
- desc: 'Pesach Sheni',
9959
+ desc: PESACH_SHENI,
9838
9960
  flags: MINOR_HOLIDAY$2
9839
9961
  }, {
9840
9962
  mm: Iyyar,
9841
9963
  dd: 18,
9842
- desc: 'Lag BaOmer',
9964
+ desc: LAG_BAOMER,
9843
9965
  flags: MINOR_HOLIDAY$2,
9844
9966
  emoji: '🔥'
9845
9967
  }, {
9846
9968
  mm: Sivan,
9847
9969
  dd: 5,
9848
- desc: 'Erev Shavuot',
9970
+ desc: EREV_SHAVUOT,
9849
9971
  flags: EREV$2 | LIGHT_CANDLES$1,
9850
9972
  emoji: '⛰️🌸'
9851
9973
  }, {
9852
9974
  mm: Sivan,
9853
9975
  dd: 6,
9854
- desc: 'Shavuot',
9976
+ desc: SHAVUOT,
9855
9977
  flags: IL_ONLY$2 | CHAG$1 | YOM_TOV_ENDS$1,
9856
9978
  emoji: '⛰️🌸'
9857
9979
  }, {
9858
9980
  mm: Sivan,
9859
9981
  dd: 6,
9860
- desc: 'Shavuot I',
9982
+ desc: SHAVUOT_I,
9861
9983
  flags: CHUL_ONLY$1 | CHAG$1 | LIGHT_CANDLES_TZEIS$2,
9862
9984
  emoji: '⛰️🌸'
9863
9985
  }, {
9864
9986
  mm: Sivan,
9865
9987
  dd: 7,
9866
- desc: 'Shavuot II',
9988
+ desc: SHAVUOT_II,
9867
9989
  flags: CHUL_ONLY$1 | CHAG$1 | YOM_TOV_ENDS$1,
9868
9990
  emoji: '⛰️🌸'
9869
9991
  }, {
9870
9992
  mm: Av,
9871
9993
  dd: 15,
9872
- desc: 'Tu B\'Av',
9994
+ desc: TU_BAV,
9873
9995
  flags: MINOR_HOLIDAY$2,
9874
9996
  emoji: '❤️'
9875
9997
  }, {
9876
9998
  mm: Elul,
9877
9999
  dd: 1,
9878
- desc: 'Rosh Hashana LaBehemot',
10000
+ desc: ROSH_HASHANA_LABEHEMOT,
9879
10001
  flags: MINOR_HOLIDAY$2,
9880
10002
  emoji: '🐑'
9881
10003
  }, {
9882
10004
  mm: Elul,
9883
10005
  dd: 29,
9884
- desc: 'Erev Rosh Hashana',
10006
+ desc: EREV_ROSH_HASHANA,
9885
10007
  flags: EREV$2 | LIGHT_CANDLES$1,
9886
10008
  emoji: '🍏🍯'
9887
10009
  }];
@@ -9889,63 +10011,63 @@ const staticModernHolidays = [{
9889
10011
  firstYear: 5727,
9890
10012
  mm: Iyyar,
9891
10013
  dd: 28,
9892
- desc: 'Yom Yerushalayim',
10014
+ desc: YOM_YERUSHALAYIM,
9893
10015
  chul: true
9894
10016
  }, {
9895
10017
  firstYear: 5737,
9896
10018
  mm: Kislev,
9897
10019
  dd: 6,
9898
- desc: 'Ben-Gurion Day',
10020
+ desc: BEN_GURION_DAY,
9899
10021
  satPostponeToSun: true,
9900
10022
  friPostponeToSun: true
9901
10023
  }, {
9902
10024
  firstYear: 5750,
9903
10025
  mm: Shvat,
9904
10026
  dd: 30,
9905
- desc: 'Family Day'
10027
+ desc: FAMILY_DAY
9906
10028
  }, {
9907
10029
  firstYear: 5758,
9908
10030
  mm: Cheshvan,
9909
10031
  dd: 12,
9910
- desc: 'Yitzhak Rabin Memorial Day',
10032
+ desc: YITZHAK_RABIN_MEMORIAL_DAY,
9911
10033
  friSatMovetoThu: true
9912
10034
  }, {
9913
10035
  firstYear: 5764,
9914
10036
  mm: Iyyar,
9915
10037
  dd: 10,
9916
- desc: 'Herzl Day',
10038
+ desc: HERZL_DAY,
9917
10039
  satPostponeToSun: true
9918
10040
  }, {
9919
10041
  firstYear: 5765,
9920
10042
  mm: Tamuz,
9921
10043
  dd: 29,
9922
- desc: 'Jabotinsky Day',
10044
+ desc: JABOTINSKY_DAY,
9923
10045
  satPostponeToSun: true
9924
10046
  }, {
9925
10047
  firstYear: 5769,
9926
10048
  mm: Cheshvan,
9927
10049
  dd: 29,
9928
- desc: 'Sigd',
10050
+ desc: SIGD,
9929
10051
  chul: true,
9930
10052
  suppressEmoji: true
9931
10053
  }, {
9932
10054
  firstYear: 5777,
9933
10055
  mm: Nisan,
9934
10056
  dd: 10,
9935
- desc: 'Yom HaAliyah',
10057
+ desc: YOM_HAALIYAH,
9936
10058
  chul: true
9937
10059
  }, {
9938
10060
  firstYear: 5777,
9939
10061
  mm: Cheshvan,
9940
10062
  dd: 7,
9941
- desc: 'Yom HaAliyah School Observance'
10063
+ desc: YOM_HAALIYAH_SCHOOL_OBSERVANCE
9942
10064
  },
9943
10065
  // https://www.gov.il/he/departments/policies/2012_des5234
9944
10066
  {
9945
10067
  firstYear: 5773,
9946
10068
  mm: months.TEVET,
9947
10069
  dd: 21,
9948
- desc: 'Hebrew Language Day',
10070
+ desc: HEBREW_LANGUAGE_DAY,
9949
10071
  friSatMovetoThu: true
9950
10072
  }];
9951
10073
 
@@ -9979,6 +10101,67 @@ const MODERN_HOLIDAY$1 = flags.MODERN_HOLIDAY;
9979
10101
  const MAJOR_FAST$1 = flags.MAJOR_FAST;
9980
10102
  const MINOR_HOLIDAY$1 = flags.MINOR_HOLIDAY;
9981
10103
  const EREV$1 = flags.EREV;
10104
+ const SHABBAT_SHUVA = 'Shabbat Shuva';
10105
+ const CHAG_HABANOT = 'Chag HaBanot';
10106
+ const SHABBAT_SHEKALIM = 'Shabbat Shekalim';
10107
+ const SHABBAT_ZACHOR = 'Shabbat Zachor';
10108
+ const TAANIT_ESTHER = 'Ta\'anit Esther';
10109
+ const SHABBAT_PARAH = 'Shabbat Parah';
10110
+ const SHABBAT_HACHODESH = 'Shabbat HaChodesh';
10111
+ const SHABBAT_HAGADOL = 'Shabbat HaGadol';
10112
+ const TAANIT_BECHOROT = 'Ta\'anit Bechorot';
10113
+ const LEIL_SELICHOT = 'Leil Selichot';
10114
+ const PURIM_MESHULASH = 'Purim Meshulash';
10115
+ const PURIM_KATAN = 'Purim Katan';
10116
+ const SHUSHAN_PURIM_KATAN = 'Shushan Purim Katan';
10117
+ const YOM_HASHOAH = 'Yom HaShoah';
10118
+ const YOM_HAZIKARON = 'Yom HaZikaron';
10119
+ const YOM_HAATZMA_UT = 'Yom HaAtzma\'ut';
10120
+ const TZOM_GEDALIAH = 'Tzom Gedaliah';
10121
+ const TZOM_TAMMUZ = 'Tzom Tammuz';
10122
+ const SHABBAT_CHAZON = 'Shabbat Chazon';
10123
+ const EREV_TISHA_BAV = 'Erev Tish\'a B\'Av';
10124
+ const TISHA_BAV = 'Tish\'a B\'Av';
10125
+ const SHABBAT_NACHAMU = 'Shabbat Nachamu';
10126
+ const SHABBAT_SHIRAH = 'Shabbat Shirah';
10127
+ const BIRKAT_HACHAMAH = 'Birkat Hachamah';
10128
+ const CHANUKAH_8TH_DAY = 'Chanukah: 8th Day';
10129
+ const ASARA_BTEVET = 'Asara B\'Tevet';
10130
+
10131
+ /**
10132
+ * Transliterated names of holidays, used by `Event.getDesc()`
10133
+ * @readonly
10134
+ * @enum {string}
10135
+ */
10136
+ const holidayDesc = {
10137
+ ...holidayDesc$1,
10138
+ SHABBAT_SHUVA,
10139
+ CHAG_HABANOT,
10140
+ SHABBAT_SHEKALIM,
10141
+ SHABBAT_ZACHOR,
10142
+ TAANIT_ESTHER,
10143
+ SHABBAT_PARAH,
10144
+ SHABBAT_HACHODESH,
10145
+ SHABBAT_HAGADOL,
10146
+ TAANIT_BECHOROT,
10147
+ LEIL_SELICHOT,
10148
+ PURIM_MESHULASH,
10149
+ PURIM_KATAN,
10150
+ SHUSHAN_PURIM_KATAN,
10151
+ YOM_HASHOAH,
10152
+ YOM_HAZIKARON,
10153
+ YOM_HAATZMA_UT,
10154
+ TZOM_GEDALIAH,
10155
+ TZOM_TAMMUZ,
10156
+ SHABBAT_CHAZON,
10157
+ EREV_TISHA_BAV,
10158
+ TISHA_BAV,
10159
+ SHABBAT_NACHAMU,
10160
+ SHABBAT_SHIRAH,
10161
+ BIRKAT_HACHAMAH,
10162
+ CHANUKAH_8TH_DAY,
10163
+ ASARA_BTEVET
10164
+ };
9982
10165
 
9983
10166
  /** Represents a built-in holiday like Pesach, Purim or Tu BiShvat */
9984
10167
  class HolidayEvent extends Event {
@@ -10022,15 +10205,15 @@ class HolidayEvent extends Event {
10022
10205
  const desc = this.getDesc();
10023
10206
  // Don't depend on flags.MINOR_HOLIDAY always being set
10024
10207
  switch (desc) {
10025
- case 'Lag BaOmer':
10026
- case 'Leil Selichot':
10027
- case 'Pesach Sheni':
10028
- case 'Erev Purim':
10029
- case 'Purim Katan':
10030
- case 'Shushan Purim':
10031
- case 'Tu B\'Av':
10032
- case 'Tu BiShvat':
10033
- case 'Rosh Hashana LaBehemot':
10208
+ case holidayDesc$1.LAG_BAOMER:
10209
+ case LEIL_SELICHOT:
10210
+ case holidayDesc$1.PESACH_SHENI:
10211
+ case holidayDesc$1.EREV_PURIM:
10212
+ case PURIM_KATAN:
10213
+ case holidayDesc$1.SHUSHAN_PURIM:
10214
+ case holidayDesc$1.TU_BAV:
10215
+ case holidayDesc$1.TU_BISHVAT:
10216
+ case holidayDesc$1.ROSH_HASHANA_LABEHEMOT:
10034
10217
  return ['holiday', 'minor'];
10035
10218
  default:
10036
10219
  return ['holiday', 'major'];
@@ -10288,11 +10471,11 @@ function getHolidaysForYear_(year) {
10288
10471
  add(new RoshHashanaEvent(RH, year, CHAG | LIGHT_CANDLES_TZEIS$1));
10289
10472
 
10290
10473
  // Variable date holidays
10291
- add(new HolidayEvent(new HDate(3 + (RH.getDay() == THU), TISHREI$1, year), 'Tzom Gedaliah', MINOR_FAST$1));
10474
+ add(new HolidayEvent(new HDate(3 + (RH.getDay() == THU), TISHREI$1, year), TZOM_GEDALIAH, MINOR_FAST$1));
10292
10475
  // first SAT after RH
10293
- add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, 7 + RH.abs())), 'Shabbat Shuva', SPECIAL_SHABBAT$1));
10476
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, 7 + RH.abs())), SHABBAT_SHUVA, SPECIAL_SHABBAT$1));
10294
10477
  const rchTevet = HDate.shortKislev(year) ? new HDate(1, TEVET, year) : new HDate(30, KISLEV, year);
10295
- add(new HolidayEvent(rchTevet, 'Chag HaBanot', MINOR_HOLIDAY$1));
10478
+ add(new HolidayEvent(rchTevet, CHAG_HABANOT, MINOR_HOLIDAY$1));
10296
10479
  // yes, we know Kislev 30-32 are wrong
10297
10480
  // HDate() corrects the month automatically
10298
10481
  for (let candles = 2; candles <= 8; candles++) {
@@ -10302,37 +10485,37 @@ function getHolidaysForYear_(year) {
10302
10485
  emoji: chanukahEmoji + KEYCAP_DIGITS[candles]
10303
10486
  }));
10304
10487
  }
10305
- add(new HolidayEvent(new HDate(32, KISLEV, year), 'Chanukah: 8th Day', MINOR_HOLIDAY$1, {
10488
+ add(new HolidayEvent(new HDate(32, KISLEV, year), CHANUKAH_8TH_DAY, MINOR_HOLIDAY$1, {
10306
10489
  chanukahDay: 8,
10307
10490
  emoji: chanukahEmoji
10308
10491
  }));
10309
- add(new AsaraBTevetEvent(new HDate(10, TEVET, year), 'Asara B\'Tevet', MINOR_FAST$1));
10492
+ add(new AsaraBTevetEvent(new HDate(10, TEVET, year), ASARA_BTEVET, MINOR_FAST$1));
10310
10493
  const pesachAbs = pesach.abs();
10311
- add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 43)), 'Shabbat Shekalim', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 30)), 'Shabbat Zachor', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == TUE ? 33 : 31)), 'Ta\'anit Esther', MINOR_FAST$1));
10312
- add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14) - 7), 'Shabbat Parah', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14)), 'Shabbat HaChodesh', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 1)), 'Shabbat HaGadol', SPECIAL_SHABBAT$1), new HolidayEvent(
10494
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 43)), SHABBAT_SHEKALIM, SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 30)), SHABBAT_ZACHOR, SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == TUE ? 33 : 31)), TAANIT_ESTHER, MINOR_FAST$1));
10495
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14) - 7), SHABBAT_PARAH, SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14)), SHABBAT_HACHODESH, SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 1)), SHABBAT_HAGADOL, SPECIAL_SHABBAT$1), new HolidayEvent(
10313
10496
  // if the fast falls on Shabbat, move to Thursday
10314
- pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate(14, NISAN$1, year), 'Ta\'anit Bechorot', MINOR_FAST$1));
10315
- add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, new HDate(1, TISHREI$1, year + 1).abs() - 4)), 'Leil Selichot', MINOR_HOLIDAY$1, {
10497
+ pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate(14, NISAN$1, year), TAANIT_BECHOROT, MINOR_FAST$1));
10498
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, new HDate(1, TISHREI$1, year + 1).abs() - 4)), LEIL_SELICHOT, MINOR_HOLIDAY$1, {
10316
10499
  emoji: '🕍'
10317
10500
  }));
10318
10501
  if (pesach.getDay() == SUN) {
10319
- add(new HolidayEvent(new HDate(16, ADAR_II, year), 'Purim Meshulash', MINOR_HOLIDAY$1));
10502
+ add(new HolidayEvent(new HDate(16, ADAR_II, year), PURIM_MESHULASH, MINOR_HOLIDAY$1));
10320
10503
  }
10321
10504
  if (HDate.isLeapYear(year)) {
10322
- add(new HolidayEvent(new HDate(14, ADAR_I, year), 'Purim Katan', MINOR_HOLIDAY$1, {
10505
+ add(new HolidayEvent(new HDate(14, ADAR_I, year), PURIM_KATAN, MINOR_HOLIDAY$1, {
10323
10506
  emoji: '🎭️'
10324
10507
  }));
10325
- add(new HolidayEvent(new HDate(15, ADAR_I, year), 'Shushan Purim Katan', MINOR_HOLIDAY$1, {
10508
+ add(new HolidayEvent(new HDate(15, ADAR_I, year), SHUSHAN_PURIM_KATAN, MINOR_HOLIDAY$1, {
10326
10509
  emoji: '🎭️'
10327
10510
  }));
10328
10511
  }
10329
10512
  const nisan27dt = dateYomHaShoah(year);
10330
10513
  if (nisan27dt) {
10331
- add(new HolidayEvent(nisan27dt, 'Yom HaShoah', MODERN_HOLIDAY$1));
10514
+ add(new HolidayEvent(nisan27dt, YOM_HASHOAH, MODERN_HOLIDAY$1));
10332
10515
  }
10333
10516
  const yomHaZikaronDt = dateYomHaZikaron(year);
10334
10517
  if (yomHaZikaronDt) {
10335
- add(new HolidayEvent(yomHaZikaronDt, 'Yom HaZikaron', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(yomHaZikaronDt.next(), 'Yom HaAtzma\'ut', MODERN_HOLIDAY$1, emojiIsraelFlag));
10518
+ add(new HolidayEvent(yomHaZikaronDt, YOM_HAZIKARON, MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(yomHaZikaronDt.next(), YOM_HAATZMA_UT, MODERN_HOLIDAY$1, emojiIsraelFlag));
10336
10519
  }
10337
10520
  for (const h of staticModernHolidays) {
10338
10521
  if (year >= h.firstYear) {
@@ -10361,9 +10544,9 @@ function getHolidaysForYear_(year) {
10361
10544
  observed: true
10362
10545
  };
10363
10546
  }
10364
- add(new HolidayEvent(tamuz17, 'Tzom Tammuz', MINOR_FAST$1, tamuz17attrs));
10547
+ add(new HolidayEvent(tamuz17, TZOM_TAMMUZ, MINOR_FAST$1, tamuz17attrs));
10365
10548
  let av9dt = new HDate(9, AV, year);
10366
- let av9title = 'Tish\'a B\'Av';
10549
+ let av9title = TISHA_BAV;
10367
10550
  let av9attrs;
10368
10551
  if (av9dt.getDay() == SAT$1) {
10369
10552
  av9dt = av9dt.next();
@@ -10373,7 +10556,7 @@ function getHolidaysForYear_(year) {
10373
10556
  av9title += ' (observed)';
10374
10557
  }
10375
10558
  const av9abs = av9dt.abs();
10376
- add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs)), 'Shabbat Chazon', SPECIAL_SHABBAT$1), new HolidayEvent(av9dt.prev(), 'Erev Tish\'a B\'Av', EREV$1 | MAJOR_FAST$1, av9attrs), new HolidayEvent(av9dt, av9title, MAJOR_FAST$1, av9attrs), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs + 7)), 'Shabbat Nachamu', SPECIAL_SHABBAT$1));
10559
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs)), SHABBAT_CHAZON, SPECIAL_SHABBAT$1), new HolidayEvent(av9dt.prev(), EREV_TISHA_BAV, EREV$1 | MAJOR_FAST$1, av9attrs), new HolidayEvent(av9dt, av9title, MAJOR_FAST$1, av9attrs), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs + 7)), SHABBAT_NACHAMU, SPECIAL_SHABBAT$1));
10377
10560
  const monthsInYear = HDate.monthsInYear(year);
10378
10561
  for (let month = 1; month <= monthsInYear; month++) {
10379
10562
  const monthName = HDate.getMonthName(month, year);
@@ -10406,13 +10589,13 @@ function getHolidaysForYear_(year) {
10406
10589
  }
10407
10590
  const sedra = getSedra_(year, false);
10408
10591
  const beshalachHd = sedra.find(15);
10409
- add(new HolidayEvent(beshalachHd, 'Shabbat Shirah', SPECIAL_SHABBAT$1));
10592
+ add(new HolidayEvent(beshalachHd, SHABBAT_SHIRAH, SPECIAL_SHABBAT$1));
10410
10593
 
10411
10594
  // Birkat Hachamah appears only once every 28 years
10412
10595
  const birkatHaChama = getBirkatHaChama(year);
10413
10596
  if (birkatHaChama) {
10414
10597
  const hd = new HDate(birkatHaChama);
10415
- add(new HolidayEvent(hd, 'Birkat Hachamah', MINOR_HOLIDAY$1, {
10598
+ add(new HolidayEvent(hd, BIRKAT_HACHAMAH, MINOR_HOLIDAY$1, {
10416
10599
  emoji: '☀️'
10417
10600
  }));
10418
10601
  }
@@ -10485,7 +10668,7 @@ class DailyLearning {
10485
10668
  }
10486
10669
 
10487
10670
  // DO NOT EDIT THIS AUTO-GENERATED FILE!
10488
- const version = '5.3.7';
10671
+ const version = '5.3.9';
10489
10672
 
10490
10673
  const NONE$1 = 0;
10491
10674
  const HALF = 1;
@@ -10853,7 +11036,7 @@ var poHe = {
10853
11036
  "Birkat Hachamah": ["בִרְכַּת הַחַמָּה"],
10854
11037
  "Shushan Purim Katan": ["שׁוּשָׁן פּוּרִים קָטָן"],
10855
11038
  "Purim Meshulash": ["פּוּרִים מְשׁוּלָּשׁ"],
10856
- "after sunset": ["אחרי השקיעה"],
11039
+ "after sunset": ["לְאַחַר הַשְׁקִיעָה"],
10857
11040
  "Yerushalmi": ["יְרוּשַׁלְמִי"],
10858
11041
  "Chag HaBanot": ["חַג הַבָּנוֹת"],
10859
11042
  "Joshua": ["יְהוֹשׁוּעַ"],
@@ -12002,4 +12185,4 @@ function appendHolidayAndRelated(candlesEv, events, ev, options, isFriday, isSat
12002
12185
  return candlesEv;
12003
12186
  }
12004
12187
 
12005
- export { AsaraBTevetEvent, CandleLightingEvent, DailyLearning, Event, GeoLocation, HDate, HavdalahEvent, HebrewCalendar, HebrewDateEvent, HolidayEvent, Locale, Location, MevarchimChodeshEvent, Molad, MoladEvent, NOAACalculator, OmerEvent, ParshaEvent, RoshChodeshEvent, RoshHashanaEvent, Sedra, TimedEvent, Zmanim, flags, gematriya, gematriyaStrToNum, greg, months, parshiot, version };
12188
+ export { AsaraBTevetEvent, CandleLightingEvent, DailyLearning, Event, GeoLocation, HDate, HavdalahEvent, HebrewCalendar, HebrewDateEvent, HolidayEvent, Locale, Location, MevarchimChodeshEvent, Molad, MoladEvent, NOAACalculator, OmerEvent, ParshaEvent, RoshChodeshEvent, RoshHashanaEvent, Sedra, TimedEvent, Zmanim, flags, gematriya, gematriyaStrToNum, greg, holidayDesc, months, parshiot, version };