@hebcal/core 5.3.9 → 5.3.10

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.9 */
1
+ /*! @hebcal/core v5.3.10 */
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];
@@ -9627,55 +9627,161 @@ const SIGD = 'Sigd';
9627
9627
  const YOM_HAALIYAH = 'Yom HaAliyah';
9628
9628
  const YOM_HAALIYAH_SCHOOL_OBSERVANCE = 'Yom HaAliyah School Observance';
9629
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,
9630
+
9631
+ /**
9632
+ * Transliterated names of holidays, used by `Event.getDesc()`
9633
+ * @readonly
9634
+ * @enum {string}
9635
+ */
9636
+ const holidayDesc = {
9637
+ /** Asara B'Tevet */
9638
+ ASARA_BTEVET: 'Asara B\'Tevet',
9639
+ /** Birkat Hachamah */
9640
+ BIRKAT_HACHAMAH: 'Birkat Hachamah',
9641
+ /** Chag HaBanot */
9642
+ CHAG_HABANOT: 'Chag HaBanot',
9643
+ /** Chanukah: 8th Day */
9644
+ CHANUKAH_8TH_DAY: 'Chanukah: 8th Day',
9645
+ /** Erev Tish'a B'Av */
9646
+ EREV_TISHA_BAV: 'Erev Tish\'a B\'Av',
9647
+ /** Leil Selichot */
9648
+ LEIL_SELICHOT: 'Leil Selichot',
9649
+ /** Purim Katan */
9650
+ PURIM_KATAN: 'Purim Katan',
9651
+ /** Purim Meshulash */
9652
+ PURIM_MESHULASH: 'Purim Meshulash',
9653
+ /** Shabbat Chazon */
9654
+ SHABBAT_CHAZON: 'Shabbat Chazon',
9655
+ /** Shabbat HaChodesh */
9656
+ SHABBAT_HACHODESH: 'Shabbat HaChodesh',
9657
+ /** Shabbat HaGadol */
9658
+ SHABBAT_HAGADOL: 'Shabbat HaGadol',
9659
+ /** Shabbat Nachamu */
9660
+ SHABBAT_NACHAMU: 'Shabbat Nachamu',
9661
+ /** Shabbat Parah */
9662
+ SHABBAT_PARAH: 'Shabbat Parah',
9663
+ /** Shabbat Shekalim */
9664
+ SHABBAT_SHEKALIM: 'Shabbat Shekalim',
9665
+ /** Shabbat Shirah */
9666
+ SHABBAT_SHIRAH: 'Shabbat Shirah',
9667
+ /** Shabbat Shuva */
9668
+ SHABBAT_SHUVA: 'Shabbat Shuva',
9669
+ /** Shabbat Zachor */
9670
+ SHABBAT_ZACHOR: 'Shabbat Zachor',
9671
+ /** Shushan Purim Katan */
9672
+ SHUSHAN_PURIM_KATAN: 'Shushan Purim Katan',
9673
+ /** Ta'anit Bechorot */
9674
+ TAANIT_BECHOROT: 'Ta\'anit Bechorot',
9675
+ /** Ta'anit Esther */
9676
+ TAANIT_ESTHER: 'Ta\'anit Esther',
9677
+ /** Tish'a B'Av */
9678
+ TISHA_BAV: 'Tish\'a B\'Av',
9679
+ /** Tzom Gedaliah */
9680
+ TZOM_GEDALIAH: 'Tzom Gedaliah',
9681
+ /** Tzom Tammuz */
9682
+ TZOM_TAMMUZ: 'Tzom Tammuz',
9683
+ /** Yom HaAtzma'ut */
9684
+ YOM_HAATZMA_UT: 'Yom HaAtzma\'ut',
9685
+ /** Yom HaShoah */
9686
+ YOM_HASHOAH: 'Yom HaShoah',
9687
+ /** Yom HaZikaron */
9688
+ YOM_HAZIKARON: 'Yom HaZikaron',
9689
+ /** Ben-Gurion Day */
9690
+ BEN_GURION_DAY,
9691
+ /** Chanukah: 1 Candle */
9645
9692
  CHANUKAH_1_CANDLE,
9646
- TU_BISHVAT,
9647
- EREV_PURIM,
9648
- PURIM,
9649
- SHUSHAN_PURIM,
9693
+ /** Erev Pesach */
9650
9694
  EREV_PESACH,
9695
+ /** Erev Purim */
9696
+ EREV_PURIM,
9697
+ /** Erev Rosh Hashana */
9698
+ EREV_ROSH_HASHANA,
9699
+ /** Erev Shavuot */
9700
+ EREV_SHAVUOT,
9701
+ /** Erev Sukkot */
9702
+ EREV_SUKKOT,
9703
+ /** Erev Yom Kippur */
9704
+ EREV_YOM_KIPPUR,
9705
+ /** Family Day */
9706
+ FAMILY_DAY,
9707
+ /** Hebrew Language Day */
9708
+ HEBREW_LANGUAGE_DAY,
9709
+ /** Herzl Day */
9710
+ HERZL_DAY,
9711
+ /** Jabotinsky Day */
9712
+ JABOTINSKY_DAY,
9713
+ /** Lag BaOmer */
9714
+ LAG_BAOMER,
9715
+ /** Pesach I */
9651
9716
  PESACH_I,
9717
+ /** Pesach II */
9652
9718
  PESACH_II,
9653
- PESACH_II_CHM,
9719
+ /** Pesach III (CH''M) */
9654
9720
  PESACH_III_CHM,
9721
+ /** Pesach II (CH''M) */
9722
+ PESACH_II_CHM,
9723
+ /** Pesach IV (CH''M) */
9655
9724
  PESACH_IV_CHM,
9656
- PESACH_V_CHM,
9657
- PESACH_VI_CHM,
9725
+ /** Pesach Sheni */
9726
+ PESACH_SHENI,
9727
+ /** Pesach VII */
9658
9728
  PESACH_VII,
9729
+ /** Pesach VIII */
9659
9730
  PESACH_VIII,
9660
- PESACH_SHENI,
9661
- LAG_BAOMER,
9662
- EREV_SHAVUOT,
9731
+ /** Pesach VI (CH''M) */
9732
+ PESACH_VI_CHM,
9733
+ /** Pesach V (CH''M) */
9734
+ PESACH_V_CHM,
9735
+ /** Purim */
9736
+ PURIM,
9737
+ /** Rosh Hashana II */
9738
+ ROSH_HASHANA_II,
9739
+ /** Rosh Hashana LaBehemot */
9740
+ ROSH_HASHANA_LABEHEMOT,
9741
+ /** Shavuot */
9663
9742
  SHAVUOT,
9743
+ /** Shavuot I */
9664
9744
  SHAVUOT_I,
9745
+ /** Shavuot II */
9665
9746
  SHAVUOT_II,
9747
+ /** Shmini Atzeret */
9748
+ SHMINI_ATZERET,
9749
+ /** Shushan Purim */
9750
+ SHUSHAN_PURIM,
9751
+ /** Sigd */
9752
+ SIGD,
9753
+ /** Simchat Torah */
9754
+ SIMCHAT_TORAH,
9755
+ /** Sukkot I */
9756
+ SUKKOT_I,
9757
+ /** Sukkot II */
9758
+ SUKKOT_II,
9759
+ /** Sukkot III (CH''M) */
9760
+ SUKKOT_III_CHM,
9761
+ /** Sukkot II (CH''M) */
9762
+ SUKKOT_II_CHM,
9763
+ /** Sukkot IV (CH''M) */
9764
+ SUKKOT_IV_CHM,
9765
+ /** Sukkot VII (Hoshana Raba) */
9766
+ SUKKOT_VII_HOSHANA_RABA,
9767
+ /** Sukkot VI (CH''M) */
9768
+ SUKKOT_VI_CHM,
9769
+ /** Sukkot V (CH''M) */
9770
+ SUKKOT_V_CHM,
9771
+ /** Tu B\'Av */
9666
9772
  TU_BAV,
9667
- ROSH_HASHANA_LABEHEMOT,
9668
- EREV_ROSH_HASHANA,
9669
- YOM_YERUSHALAYIM,
9670
- BEN_GURION_DAY,
9671
- FAMILY_DAY,
9773
+ /** Tu BiShvat */
9774
+ TU_BISHVAT,
9775
+ /** Yitzhak Rabin Memorial Day */
9672
9776
  YITZHAK_RABIN_MEMORIAL_DAY,
9673
- HERZL_DAY,
9674
- JABOTINSKY_DAY,
9675
- SIGD,
9777
+ /** Yom HaAliyah */
9676
9778
  YOM_HAALIYAH,
9779
+ /** Yom HaAliyah School Observance */
9677
9780
  YOM_HAALIYAH_SCHOOL_OBSERVANCE,
9678
- HEBREW_LANGUAGE_DAY
9781
+ /** Yom Kippur */
9782
+ YOM_KIPPUR,
9783
+ /** Yom Yerushalayim */
9784
+ YOM_YERUSHALAYIM
9679
9785
  };
9680
9786
  const staticHolidays = [{
9681
9787
  mm: Tishrei,
@@ -10101,67 +10207,6 @@ const MODERN_HOLIDAY$1 = flags.MODERN_HOLIDAY;
10101
10207
  const MAJOR_FAST$1 = flags.MAJOR_FAST;
10102
10208
  const MINOR_HOLIDAY$1 = flags.MINOR_HOLIDAY;
10103
10209
  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
- };
10165
10210
 
10166
10211
  /** Represents a built-in holiday like Pesach, Purim or Tu BiShvat */
10167
10212
  class HolidayEvent extends Event {
@@ -10205,15 +10250,15 @@ class HolidayEvent extends Event {
10205
10250
  const desc = this.getDesc();
10206
10251
  // Don't depend on flags.MINOR_HOLIDAY always being set
10207
10252
  switch (desc) {
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:
10253
+ case holidayDesc.LAG_BAOMER:
10254
+ case holidayDesc.LEIL_SELICHOT:
10255
+ case holidayDesc.PESACH_SHENI:
10256
+ case holidayDesc.EREV_PURIM:
10257
+ case holidayDesc.PURIM_KATAN:
10258
+ case holidayDesc.SHUSHAN_PURIM:
10259
+ case holidayDesc.TU_BAV:
10260
+ case holidayDesc.TU_BISHVAT:
10261
+ case holidayDesc.ROSH_HASHANA_LABEHEMOT:
10217
10262
  return ['holiday', 'minor'];
10218
10263
  default:
10219
10264
  return ['holiday', 'major'];
@@ -10371,7 +10416,7 @@ class YomKippurKatanEvent extends HolidayEvent {
10371
10416
  * @param {string} nextMonthName name of the upcoming month
10372
10417
  */
10373
10418
  constructor(date, nextMonthName) {
10374
- super(date, `${ykk} ${nextMonthName}`, flags.MINOR_FAST | flags.YOM_KIPPUR_KATAN);
10419
+ super(date, `${ykk} ${nextMonthName}`, MINOR_FAST$1 | flags.YOM_KIPPUR_KATAN);
10375
10420
  this.nextMonthName = nextMonthName;
10376
10421
  this.memo = `Minor Day of Atonement on the day preceeding Rosh Chodesh ${nextMonthName}`;
10377
10422
  }
@@ -10471,11 +10516,11 @@ function getHolidaysForYear_(year) {
10471
10516
  add(new RoshHashanaEvent(RH, year, CHAG | LIGHT_CANDLES_TZEIS$1));
10472
10517
 
10473
10518
  // Variable date holidays
10474
- add(new HolidayEvent(new HDate(3 + (RH.getDay() == THU), TISHREI$1, year), TZOM_GEDALIAH, MINOR_FAST$1));
10519
+ add(new HolidayEvent(new HDate(3 + (RH.getDay() == THU), TISHREI$1, year), holidayDesc.TZOM_GEDALIAH, MINOR_FAST$1));
10475
10520
  // first SAT after RH
10476
- add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, 7 + RH.abs())), SHABBAT_SHUVA, SPECIAL_SHABBAT$1));
10521
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, 7 + RH.abs())), holidayDesc.SHABBAT_SHUVA, SPECIAL_SHABBAT$1));
10477
10522
  const rchTevet = HDate.shortKislev(year) ? new HDate(1, TEVET, year) : new HDate(30, KISLEV, year);
10478
- add(new HolidayEvent(rchTevet, CHAG_HABANOT, MINOR_HOLIDAY$1));
10523
+ add(new HolidayEvent(rchTevet, holidayDesc.CHAG_HABANOT, MINOR_HOLIDAY$1));
10479
10524
  // yes, we know Kislev 30-32 are wrong
10480
10525
  // HDate() corrects the month automatically
10481
10526
  for (let candles = 2; candles <= 8; candles++) {
@@ -10485,37 +10530,38 @@ function getHolidaysForYear_(year) {
10485
10530
  emoji: chanukahEmoji + KEYCAP_DIGITS[candles]
10486
10531
  }));
10487
10532
  }
10488
- add(new HolidayEvent(new HDate(32, KISLEV, year), CHANUKAH_8TH_DAY, MINOR_HOLIDAY$1, {
10533
+ add(new HolidayEvent(new HDate(32, KISLEV, year), holidayDesc.CHANUKAH_8TH_DAY, MINOR_HOLIDAY$1, {
10489
10534
  chanukahDay: 8,
10490
10535
  emoji: chanukahEmoji
10491
10536
  }));
10492
- add(new AsaraBTevetEvent(new HDate(10, TEVET, year), ASARA_BTEVET, MINOR_FAST$1));
10537
+ add(new AsaraBTevetEvent(new HDate(10, TEVET, year), holidayDesc.ASARA_BTEVET, MINOR_FAST$1));
10493
10538
  const pesachAbs = pesach.abs();
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(
10539
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 43)), holidayDesc.SHABBAT_SHEKALIM, SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 30)), holidayDesc.SHABBAT_ZACHOR, SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == TUE ? 33 : 31)), holidayDesc.TAANIT_ESTHER, MINOR_FAST$1));
10540
+ const haChodeshAbs = HDate.dayOnOrBefore(SAT$1, pesachAbs - 14);
10541
+ add(new HolidayEvent(new HDate(haChodeshAbs - 7), holidayDesc.SHABBAT_PARAH, SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(haChodeshAbs), holidayDesc.SHABBAT_HACHODESH, SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 1)), holidayDesc.SHABBAT_HAGADOL, SPECIAL_SHABBAT$1), new HolidayEvent(
10496
10542
  // if the fast falls on Shabbat, move to Thursday
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, {
10543
+ pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate(14, NISAN$1, year), holidayDesc.TAANIT_BECHOROT, MINOR_FAST$1));
10544
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, new HDate(1, TISHREI$1, year + 1).abs() - 4)), holidayDesc.LEIL_SELICHOT, MINOR_HOLIDAY$1, {
10499
10545
  emoji: '🕍'
10500
10546
  }));
10501
10547
  if (pesach.getDay() == SUN) {
10502
- add(new HolidayEvent(new HDate(16, ADAR_II, year), PURIM_MESHULASH, MINOR_HOLIDAY$1));
10548
+ add(new HolidayEvent(new HDate(16, ADAR_II, year), holidayDesc.PURIM_MESHULASH, MINOR_HOLIDAY$1));
10503
10549
  }
10504
10550
  if (HDate.isLeapYear(year)) {
10505
- add(new HolidayEvent(new HDate(14, ADAR_I, year), PURIM_KATAN, MINOR_HOLIDAY$1, {
10551
+ add(new HolidayEvent(new HDate(14, ADAR_I, year), holidayDesc.PURIM_KATAN, MINOR_HOLIDAY$1, {
10506
10552
  emoji: '🎭️'
10507
10553
  }));
10508
- add(new HolidayEvent(new HDate(15, ADAR_I, year), SHUSHAN_PURIM_KATAN, MINOR_HOLIDAY$1, {
10554
+ add(new HolidayEvent(new HDate(15, ADAR_I, year), holidayDesc.SHUSHAN_PURIM_KATAN, MINOR_HOLIDAY$1, {
10509
10555
  emoji: '🎭️'
10510
10556
  }));
10511
10557
  }
10512
10558
  const nisan27dt = dateYomHaShoah(year);
10513
10559
  if (nisan27dt) {
10514
- add(new HolidayEvent(nisan27dt, YOM_HASHOAH, MODERN_HOLIDAY$1));
10560
+ add(new HolidayEvent(nisan27dt, holidayDesc.YOM_HASHOAH, MODERN_HOLIDAY$1));
10515
10561
  }
10516
10562
  const yomHaZikaronDt = dateYomHaZikaron(year);
10517
10563
  if (yomHaZikaronDt) {
10518
- add(new HolidayEvent(yomHaZikaronDt, YOM_HAZIKARON, MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(yomHaZikaronDt.next(), YOM_HAATZMA_UT, MODERN_HOLIDAY$1, emojiIsraelFlag));
10564
+ add(new HolidayEvent(yomHaZikaronDt, holidayDesc.YOM_HAZIKARON, MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(yomHaZikaronDt.next(), holidayDesc.YOM_HAATZMA_UT, MODERN_HOLIDAY$1, emojiIsraelFlag));
10519
10565
  }
10520
10566
  for (const h of staticModernHolidays) {
10521
10567
  if (year >= h.firstYear) {
@@ -10544,9 +10590,9 @@ function getHolidaysForYear_(year) {
10544
10590
  observed: true
10545
10591
  };
10546
10592
  }
10547
- add(new HolidayEvent(tamuz17, TZOM_TAMMUZ, MINOR_FAST$1, tamuz17attrs));
10593
+ add(new HolidayEvent(tamuz17, holidayDesc.TZOM_TAMMUZ, MINOR_FAST$1, tamuz17attrs));
10548
10594
  let av9dt = new HDate(9, AV, year);
10549
- let av9title = TISHA_BAV;
10595
+ let av9title = holidayDesc.TISHA_BAV;
10550
10596
  let av9attrs;
10551
10597
  if (av9dt.getDay() == SAT$1) {
10552
10598
  av9dt = av9dt.next();
@@ -10556,7 +10602,7 @@ function getHolidaysForYear_(year) {
10556
10602
  av9title += ' (observed)';
10557
10603
  }
10558
10604
  const av9abs = av9dt.abs();
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));
10605
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs)), holidayDesc.SHABBAT_CHAZON, SPECIAL_SHABBAT$1), new HolidayEvent(av9dt.prev(), holidayDesc.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)), holidayDesc.SHABBAT_NACHAMU, SPECIAL_SHABBAT$1));
10560
10606
  const monthsInYear = HDate.monthsInYear(year);
10561
10607
  for (let month = 1; month <= monthsInYear; month++) {
10562
10608
  const monthName = HDate.getMonthName(month, year);
@@ -10589,13 +10635,13 @@ function getHolidaysForYear_(year) {
10589
10635
  }
10590
10636
  const sedra = getSedra_(year, false);
10591
10637
  const beshalachHd = sedra.find(15);
10592
- add(new HolidayEvent(beshalachHd, SHABBAT_SHIRAH, SPECIAL_SHABBAT$1));
10638
+ add(new HolidayEvent(beshalachHd, holidayDesc.SHABBAT_SHIRAH, SPECIAL_SHABBAT$1));
10593
10639
 
10594
10640
  // Birkat Hachamah appears only once every 28 years
10595
10641
  const birkatHaChama = getBirkatHaChama(year);
10596
10642
  if (birkatHaChama) {
10597
10643
  const hd = new HDate(birkatHaChama);
10598
- add(new HolidayEvent(hd, BIRKAT_HACHAMAH, MINOR_HOLIDAY$1, {
10644
+ add(new HolidayEvent(hd, holidayDesc.BIRKAT_HACHAMAH, MINOR_HOLIDAY$1, {
10599
10645
  emoji: '☀️'
10600
10646
  }));
10601
10647
  }
@@ -10668,7 +10714,7 @@ class DailyLearning {
10668
10714
  }
10669
10715
 
10670
10716
  // DO NOT EDIT THIS AUTO-GENERATED FILE!
10671
- const version = '5.3.9';
10717
+ const version = '5.3.10';
10672
10718
 
10673
10719
  const NONE$1 = 0;
10674
10720
  const HALF = 1;
@@ -11081,7 +11127,8 @@ var poHe = {
11081
11127
  "Tzom Gedaliah (Mincha)": ["צוֹם גְּדַלְיָה מִנחָה"],
11082
11128
  "Tzom Tammuz (Mincha)": ["צוֹם תָּמוּז מִנחָה"],
11083
11129
  "Molad": ["מוֹלָד הָלְּבָנָה"],
11084
- "chalakim": ["חֲלָקִים"]
11130
+ "chalakim": ["חֲלָקִים"],
11131
+ "Pirkei Avot": ["פִּרְקֵי אָבוֹת"]
11085
11132
  }
11086
11133
  }
11087
11134
  };
package/hebcal.d.ts CHANGED
@@ -119,6 +119,9 @@ declare module '@hebcal/core' {
119
119
  * Gets the Hebrew month (1=NISAN, 7=TISHREI) of this Hebrew date
120
120
  */
121
121
  getMonth(): number;
122
+ /**
123
+ * The Tishrei-based month of the date. 1 is Tishrei, 7 is Nisan, 13 is Elul in a leap year
124
+ */
122
125
  getTishreiMonth(): number;
123
126
  /**
124
127
  * Number of days in the month of this Hebrew date
@@ -160,12 +163,51 @@ declare module '@hebcal/core' {
160
163
  */
161
164
  renderGematriya(suppressNikud?: boolean): string;
162
165
 
166
+ /**
167
+ * Returns an `HDate` representing the a dayNumber before the current date.
168
+ * @example
169
+ * new HDate(new Date('Wednesday February 19, 2014')).before(6).greg() // Sat Feb 15 2014
170
+ * @param {number} day day of week (Sunday=0, Saturday=6)
171
+ */
163
172
  before(day: number): HDate;
173
+ /**
174
+ * Returns an `HDate` representing the a dayNumber on or before the current date.
175
+ * @example
176
+ * new HDate(new Date('Wednesday February 19, 2014')).onOrBefore(6).greg() // Sat Feb 15 2014
177
+ * new HDate(new Date('Saturday February 22, 2014')).onOrBefore(6).greg() // Sat Feb 22 2014
178
+ * new HDate(new Date('Sunday February 23, 2014')).onOrBefore(6).greg() // Sat Feb 22 2014
179
+ * @param {number} day day of week (Sunday=0, Saturday=6)
180
+ */
164
181
  onOrBefore(day: number): HDate;
182
+ /**
183
+ * Returns an `HDate` representing the nearest dayNumber to the current date
184
+ * @example
185
+ * new HDate(new Date('Wednesday February 19, 2014')).nearest(6).greg() // Sat Feb 22 2014
186
+ * new HDate(new Date('Tuesday February 18, 2014')).nearest(6).greg() // Sat Feb 15 2014
187
+ * @param {number} day day of week (Sunday=0, Saturday=6)
188
+ */
165
189
  nearest(day: number): HDate;
190
+ /**
191
+ * Returns an `HDate` representing the a dayNumber on or after the current date.
192
+ * @example
193
+ * new HDate(new Date('Wednesday February 19, 2014')).onOrAfter(6).greg() // Sat Feb 22 2014
194
+ * new HDate(new Date('Saturday February 22, 2014')).onOrAfter(6).greg() // Sat Feb 22 2014
195
+ * new HDate(new Date('Sunday February 23, 2014')).onOrAfter(6).greg() // Sat Mar 01 2014
196
+ * @param {number} day day of week (Sunday=0, Saturday=6)
197
+ */
166
198
  onOrAfter(day: number): HDate;
199
+ /**
200
+ * Returns an `HDate` representing the a dayNumber after the current date.
201
+ * @example
202
+ * new HDate(new Date('Wednesday February 19, 2014')).after(6).greg() // Sat Feb 22 2014
203
+ * new HDate(new Date('Saturday February 22, 2014')).after(6).greg() // Sat Mar 01 2014
204
+ * new HDate(new Date('Sunday February 23, 2014')).after(6).greg() // Sat Mar 01 2014
205
+ * @param {number} day day of week (Sunday=0, Saturday=6)
206
+ */
167
207
  after(day: number): HDate;
208
+ /** Returns the next Hebrew date */
168
209
  next(): HDate;
210
+ /** Returns the previous Hebrew date */
169
211
  prev(): HDate;
170
212
  /**
171
213
  * Returns a cloned HDate object with a specified amount of time added
@@ -188,6 +230,9 @@ declare module '@hebcal/core' {
188
230
  */
189
231
  deltaDays(other: HDate): number;
190
232
 
233
+ /**
234
+ * Compares this date to another date, returning `true` if the dates match.
235
+ */
191
236
  isSameDate(other: HDate): boolean;
192
237
 
193
238
  /**
@@ -268,6 +313,16 @@ declare module '@hebcal/core' {
268
313
  */
269
314
  static monthFromName(c: string | number): number;
270
315
 
316
+ /**
317
+ * Note: Applying this function to d+6 gives us the DAYNAME on or after an
318
+ * absolute day d. Similarly, applying it to d+3 gives the DAYNAME nearest to
319
+ * absolute date d, applying it to d-1 gives the DAYNAME previous to absolute
320
+ * date d, and applying it to d+7 gives the DAYNAME following absolute date d.
321
+ * @param {number} dayOfWeek - Day of Week (0=Sunday, 6=Saturday)
322
+ * @param {number} abs - R.D. number of days
323
+ */
324
+ static dayOnOrBefore(dayOfWeek: number, abs: number): number;
325
+
271
326
  /**
272
327
  * Construct a new instance of `HDate` from a Gematriya-formatted string
273
328
  * @example
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hebcal/core",
3
- "version": "5.3.9",
3
+ "version": "5.3.10",
4
4
  "author": "Michael J. Radwin (https://github.com/mjradwin)",
5
5
  "contributors": [
6
6
  "Eyal Schachter (https://github.com/Scimonster)",
package/po/he.po CHANGED
@@ -926,3 +926,6 @@ msgstr "מוֹלָד הָלְּבָנָה"
926
926
 
927
927
  msgid "chalakim"
928
928
  msgstr "חֲלָקִים"
929
+
930
+ msgid "Pirkei Avot"
931
+ msgstr "פִּרְקֵי אָבוֹת"