@hebcal/core 6.8.2 β†’ 6.9.0

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.
Files changed (95) hide show
  1. package/README.md +262 -4
  2. package/dist/bundle.js +1400 -942
  3. package/dist/bundle.js.map +1 -1
  4. package/dist/bundle.min.js +18 -17
  5. package/dist/bundle.min.js.map +1 -1
  6. package/dist/esm/CalOptions.d.ts +11 -1
  7. package/dist/esm/DailyLearning.d.ts +4 -4
  8. package/dist/esm/DailyLearning.js +5 -5
  9. package/dist/esm/DailyLearning.js.map +1 -1
  10. package/dist/esm/HebrewDateEvent.js +1 -1
  11. package/dist/esm/HolidayEvent.d.ts +7 -2
  12. package/dist/esm/HolidayEvent.js +8 -3
  13. package/dist/esm/HolidayEvent.js.map +1 -1
  14. package/dist/esm/MevarchimChodeshEvent.d.ts +2 -1
  15. package/dist/esm/MevarchimChodeshEvent.js +3 -2
  16. package/dist/esm/MevarchimChodeshEvent.js.map +1 -1
  17. package/dist/esm/ParshaEvent.d.ts +13 -0
  18. package/dist/esm/ParshaEvent.js +14 -1
  19. package/dist/esm/ParshaEvent.js.map +1 -1
  20. package/dist/esm/TimedEvent.d.ts +12 -4
  21. package/dist/esm/TimedEvent.js +13 -5
  22. package/dist/esm/TimedEvent.js.map +1 -1
  23. package/dist/esm/YomKippurKatanEvent.d.ts +2 -1
  24. package/dist/esm/YomKippurKatanEvent.js +3 -2
  25. package/dist/esm/YomKippurKatanEvent.js.map +1 -1
  26. package/dist/esm/ashkenazi.po.js +1 -1
  27. package/dist/esm/calendar.d.ts +17 -7
  28. package/dist/esm/calendar.js +23 -10
  29. package/dist/esm/calendar.js.map +1 -1
  30. package/dist/esm/candles.d.ts +19 -1
  31. package/dist/esm/candles.js +20 -2
  32. package/dist/esm/candles.js.map +1 -1
  33. package/dist/esm/cities.json.js +1 -1
  34. package/dist/esm/event.d.ts +2 -4
  35. package/dist/esm/event.js +3 -5
  36. package/dist/esm/event.js.map +1 -1
  37. package/dist/esm/getStartAndEnd.js +1 -1
  38. package/dist/esm/hallel.js +1 -1
  39. package/dist/esm/he-x-NoNikud.po.js +1 -1
  40. package/dist/esm/he.po.js +1 -1
  41. package/dist/esm/hebcal.d.ts +31 -96
  42. package/dist/esm/hebcal.js +34 -107
  43. package/dist/esm/hebcal.js.map +1 -1
  44. package/dist/esm/holidays.d.ts +8 -1
  45. package/dist/esm/holidays.js +2 -2
  46. package/dist/esm/holidays.js.map +1 -1
  47. package/dist/esm/index.d.ts +3 -1
  48. package/dist/esm/index.js +3 -1
  49. package/dist/esm/index.js.map +1 -1
  50. package/dist/esm/isAssurBemlacha.js +6 -3
  51. package/dist/esm/isAssurBemlacha.js.map +1 -1
  52. package/dist/esm/isAveilut.js +1 -1
  53. package/dist/esm/isFastDay.d.ts +1 -1
  54. package/dist/esm/isFastDay.js +2 -2
  55. package/dist/esm/isFastDay.js.map +1 -1
  56. package/dist/esm/locale.js +1 -1
  57. package/dist/esm/location.d.ts +37 -9
  58. package/dist/esm/location.js +38 -10
  59. package/dist/esm/location.js.map +1 -1
  60. package/dist/esm/modern.js +1 -1
  61. package/dist/esm/molad.d.ts +26 -20
  62. package/dist/esm/molad.js +27 -21
  63. package/dist/esm/molad.js.map +1 -1
  64. package/dist/esm/moladBase.d.ts +11 -0
  65. package/dist/esm/moladBase.js +12 -1
  66. package/dist/esm/moladBase.js.map +1 -1
  67. package/dist/esm/moladDate.d.ts +10 -6
  68. package/dist/esm/moladDate.js +25 -18
  69. package/dist/esm/moladDate.js.map +1 -1
  70. package/dist/esm/omer.d.ts +19 -3
  71. package/dist/esm/omer.js +20 -4
  72. package/dist/esm/omer.js.map +1 -1
  73. package/dist/esm/parshaName.js +1 -1
  74. package/dist/esm/parshaYear.d.ts +2 -2
  75. package/dist/esm/parshaYear.js +3 -3
  76. package/dist/esm/parshaYear.js.map +1 -1
  77. package/dist/esm/pkgVersion.d.ts +1 -1
  78. package/dist/esm/pkgVersion.js +2 -2
  79. package/dist/esm/pkgVersion.js.map +1 -1
  80. package/dist/esm/reformatTimeStr.d.ts +14 -2
  81. package/dist/esm/reformatTimeStr.js +15 -3
  82. package/dist/esm/reformatTimeStr.js.map +1 -1
  83. package/dist/esm/sedra.d.ts +44 -18
  84. package/dist/esm/sedra.js +39 -17
  85. package/dist/esm/sedra.js.map +1 -1
  86. package/dist/esm/sefira.json.js +1 -1
  87. package/dist/esm/staticHolidays.d.ts +0 -2
  88. package/dist/esm/staticHolidays.js +1 -3
  89. package/dist/esm/staticHolidays.js.map +1 -1
  90. package/dist/esm/string.js +1 -1
  91. package/dist/esm/tachanun.js +1 -1
  92. package/dist/esm/zmanim.d.ts +177 -142
  93. package/dist/esm/zmanim.js +183 -148
  94. package/dist/esm/zmanim.js.map +1 -1
  95. package/package.json +8 -9
package/dist/esm/sedra.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v6.8.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v6.9.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
2
  import { HDate, months } from '@hebcal/hdate';
3
3
  import QuickLRU from 'quick-lru';
4
4
  import './locale.js';
@@ -58,14 +58,14 @@ function yearType(hyear) {
58
58
  * Israel and the Diaspora diverge in some years when the 8th day of Pesach
59
59
  * or the 2nd day of Shavuot fall on Shabbat).
60
60
  *
61
- * Prefer {@link getSedra} (or {@link HebrewCalendar.getSedra}) over
61
+ * Prefer {@link getSedra} over
62
62
  * calling this constructor directly, since both cache their results.
63
63
  *
64
64
  * @example
65
65
  * import {Sedra, HDate, months} from '@hebcal/core';
66
66
  * const sedra = new Sedra(5784, false);
67
67
  * const result = sedra.lookup(new HDate(15, months.CHESHVAN, 5784));
68
- * console.log(result.parsha); // ['Lech-Lecha']
68
+ * console.log(result.parsha); // ['Vayera']
69
69
  */
70
70
  class Sedra {
71
71
  year;
@@ -118,15 +118,20 @@ class Sedra {
118
118
  * @example
119
119
  * import {Sedra} from '@hebcal/core';
120
120
  * const sedra = new Sedra(5784, false);
121
- * sedra.find('Noach')?.toString(); // '15 Cheshvan 5784'
122
- * sedra.find(1)?.toString(); // same, by 0-based index
123
- * sedra.find('Matot-Masei')?.toString(); // null in 5784 β€” read separately
124
- * sedra.find(['Matot', 'Masei']); // also null in 5784
121
+ * sedra.find('Noach')?.toString(); // '6 Cheshvan 5784'
122
+ * sedra.find(1)?.toString(); // '6 Cheshvan 5784', by 0-based index
123
+ * // Matot and Masei are doubled in 5784, so the pair has a date...
124
+ * sedra.find('Matot-Masei')?.toString(); // '28 Tamuz 5784'
125
+ * sedra.find(['Matot', 'Masei'])?.toString(); // '28 Tamuz 5784'
126
+ * // ...but neither half is read on its own that year:
127
+ * sedra.find('Matot'); // null
125
128
  * @param parsha if a `string`, specified with Sephardic transliterations
126
129
  * like `'Noach'` or `'Matot-Masei'`. If an array, must be a 1- or 2-element
127
130
  * array such as `['Noach']` or `['Matot', 'Masei']`. If a `number`, should
128
131
  * be a 0-based parsha index (`0` for Bereshit, `1` for Noach) or a negative
129
- * number for a doubled parsha (e.g. `-21` for Vayakhel-Pekudei)
132
+ * number for a doubled parsha (e.g. `-21` for Vayakhel-Pekudei).
133
+ * Note that this index is 0-based, unlike {@link SedraResult.num} which
134
+ * is 1-based.
130
135
  */
131
136
  find(parsha) {
132
137
  if (typeof parsha === 'number') {
@@ -189,12 +194,19 @@ class Sedra {
189
194
  * will return the date of `'Matot'` alone.
190
195
  * @example
191
196
  * import {Sedra} from '@hebcal/core';
197
+ * // Matot and Masei are doubled in 5784, so each half resolves to the
198
+ * // date of the combined reading:
192
199
  * const sedra = new Sedra(5784, false);
193
- * // Matot-Masei is split in 5784; both individual halves resolve:
194
- * sedra.findContaining('Matot')?.toString(); // '22 Tamuz 5784'
195
- * sedra.findContaining('Masei')?.toString(); // '29 Tamuz 5784'
196
- * // Asking for the doubled name returns the date of the first half:
197
- * sedra.findContaining('Matot-Masei')?.toString(); // '22 Tamuz 5784'
200
+ * sedra.findContaining('Matot')?.toString(); // '28 Tamuz 5784'
201
+ * sedra.findContaining('Masei')?.toString(); // '28 Tamuz 5784'
202
+ * @example
203
+ * import {Sedra} from '@hebcal/core';
204
+ * // They are read separately in 5795, so each half has its own date, and
205
+ * // asking for the doubled name returns the date of the first half:
206
+ * const sedra = new Sedra(5795, false);
207
+ * sedra.findContaining('Matot')?.toString(); // '21 Tamuz 5795'
208
+ * sedra.findContaining('Masei')?.toString(); // '28 Tamuz 5795'
209
+ * sedra.findContaining('Matot-Masei')?.toString(); // '21 Tamuz 5795'
198
210
  */
199
211
  findContaining(parsha) {
200
212
  const hdate = this.find(parsha);
@@ -276,11 +288,11 @@ class Sedra {
276
288
  * @example
277
289
  * import {Sedra, HDate, months} from '@hebcal/core';
278
290
  * const sedra = new Sedra(5784, false);
279
- * // A weekday β€” returns the upcoming Shabbat's reading
280
- * const result = sedra.lookup(new HDate(13, months.CHESHVAN, 5784));
291
+ * // A Friday β€” returns the upcoming Shabbat's reading
292
+ * const result = sedra.lookup(new HDate(12, months.CHESHVAN, 5784));
281
293
  * console.log(result.parsha); // ['Lech-Lecha']
282
294
  * console.log(result.chag); // false
283
- * console.log(result.hdate.toString()); // '15 Cheshvan 5784' (Saturday)
295
+ * console.log(result.hdate.toString()); // '13 Cheshvan 5784' (Saturday)
284
296
  * @param hd Hebrew date or R.D. days
285
297
  */
286
298
  lookup(hd) {
@@ -332,6 +344,16 @@ class Sedra {
332
344
  *
333
345
  * For the Tishrei weekdays before Sukkot or Simchat Torah, the weekday
334
346
  * reading is *Vezot Haberakhah* even though it is not read on Shabbat.
347
+ * @example
348
+ * import {Sedra, HDate, months} from '@hebcal/core';
349
+ * const sedra = new Sedra(5784, false);
350
+ * // Monday 8 Cheshvan β€” begins the upcoming Shabbat's parsha
351
+ * sedra.lookupWeekday(new HDate(8, months.CHESHVAN, 5784))?.parsha; // ['Lech-Lecha']
352
+ * // Tuesday is neither Monday nor Thursday
353
+ * sedra.lookupWeekday(new HDate(9, months.CHESHVAN, 5784)); // undefined
354
+ * // Thursday 17 Nisan β€” the upcoming Shabbat is Chol ha-Moed Pesach,
355
+ * // so the next regular parsha is returned instead
356
+ * sedra.lookupWeekday(new HDate(17, months.NISAN, 5784))?.parsha; // ['Achrei Mot']
335
357
  * @param hd Hebrew date or R.D. days
336
358
  */
337
359
  lookupWeekday(hd) {
@@ -607,7 +629,7 @@ const sedraCache = new QuickLRU({ maxSize: 120 });
607
629
  * import {getSedra, HDate, months} from '@hebcal/core';
608
630
  * const sedra = getSedra(5784, false);
609
631
  * const {parsha} = sedra.lookup(new HDate(15, months.CHESHVAN, 5784));
610
- * console.log(parsha); // ['Lech-Lecha']
632
+ * console.log(parsha); // ['Vayera']
611
633
  * @param hyear Hebrew year
612
634
  * @param il Use Israel sedra schedule (`false` for Diaspora)
613
635
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sedra.js","sources":["../../../src/sedra.ts"],"sourcesContent":["/*\n Hebcal - A Jewish Calendar Generator\n Copyright (c) 1994-2020 Danny Sadinoff\n Portions copyright Eyal Schachter and Michael J. Radwin\n\n https://github.com/hebcal/hebcal-es6\n\n This program is free software; you can redistribute it and/or\n modify it under the terms of the GNU General Public License\n as published by the Free Software Foundation; either version 2\n of the License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/*\n * Many of the following algorithms were taken from hebrew calendar\n * routines by Maimonedes, from his Mishneh Torah, and implemented by\n * Nachum Dershowitz Department of Computer Science\n * (217) 333-4219 University of Illinois at Urbana-Champaign\n * nachum@cs.uiuedu 1304 West Springfield Avenue\n * Urbana, Illinois 61801\n *\n * The routines were included in the emacs 19 distribution.\n *\n */\nimport {HDate, months} from '@hebcal/hdate';\nimport QuickLRU from 'quick-lru';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\nconst INCOMPLETE = 0;\nconst REGULAR = 1;\nconst COMPLETE = 2;\n\nfunction yearType(hyear: number): number {\n const longC = HDate.longCheshvan(hyear);\n const shortK = HDate.shortKislev(hyear);\n if (longC && !shortK) {\n return COMPLETE;\n }\n if (!longC && shortK) {\n return INCOMPLETE;\n }\n return REGULAR;\n}\n\n/** The result from `Sedra.lookup()` */\nexport type SedraResult = {\n /**\n * Name of the parsha (or parshiyot) read on\n * Hebrew date, e.g. `['Noach']` or `['Matot', 'Masei']`\n */\n parsha: string[];\n /**\n * False if this is a regular parashat HaShavua reading.\n * True if it's a special holiday reading.\n */\n chag: boolean;\n /**\n * The parsha number (or numbers) using 1-indexing.\n * A `number` for a regular (single) parsha, and a `number[]`\n * for a doubled parsha.\n * For Parashat *Bereshit*, `num` would be equal to `1`, and for\n * *Matot-Masei* it would be `[42, 43]`\n * For a chag (holiday) reading, `num` will be `0`.\n */\n num: number | number[];\n /** The date of the Shabbat this parsha is read */\n hdate: HDate;\n /** true if Israel, false for Diaspora */\n il: boolean;\n};\n\n/**\n * Represents the weekly Torah-reading (Parashat HaShavua) schedule for an\n * entire Hebrew year.\n *\n * The schedule depends on the year's *keviyah* β€” the day of week of Rosh\n * Hashana, whether the year is leap, whether Cheshvan/Kislev are long or\n * short, and whether the schedule is for Israel or the Diaspora (since\n * Israel and the Diaspora diverge in some years when the 8th day of Pesach\n * or the 2nd day of Shavuot fall on Shabbat).\n *\n * Prefer {@link getSedra} (or {@link HebrewCalendar.getSedra}) over\n * calling this constructor directly, since both cache their results.\n *\n * @example\n * import {Sedra, HDate, months} from '@hebcal/core';\n * const sedra = new Sedra(5784, false);\n * const result = sedra.lookup(new HDate(15, months.CHESHVAN, 5784));\n * console.log(result.parsha); // ['Lech-Lecha']\n */\nexport class Sedra {\n private readonly year: number;\n private readonly il: boolean;\n private readonly rh: number;\n private readonly firstSaturday: number;\n private readonly theSedraArray: readonly NumberOrString[];\n private readonly yearKey: string;\n /**\n * Calculates the Parashat HaShavua schedule for an entire Hebrew year.\n * @param hyear - Hebrew year (e.g. 5749)\n * @param il - Use Israel sedra schedule (false for Diaspora)\n */\n constructor(hyear: number, il: boolean) {\n hyear = +hyear;\n this.year = hyear;\n\n const rh0 = new HDate(1, months.TISHREI, hyear);\n const rh = (this.rh = rh0.abs());\n const rhDay = rh0.getDay() + 1;\n\n // find the first Saturday on or after Rosh Hashana\n this.firstSaturday = HDate.dayOnOrBefore(6, rh + 6);\n const leap = +HDate.isLeapYear(hyear);\n this.il = Boolean(il);\n\n const type = yearType(hyear);\n let key = `${leap}${rhDay}${type}`;\n if (types[key]) {\n this.theSedraArray = types[key];\n this.yearKey = key;\n } else {\n key = key + +this.il; // cast to num, then concat\n this.theSedraArray = types[key];\n this.yearKey = key;\n }\n\n if (!this.theSedraArray) {\n throw new Error(`improper sedra year type ${key} calculated for ${hyear}`);\n }\n }\n\n /**\n * Returns the date a parsha is read this year, or `null` if it does not\n * occur in this year's schedule.\n *\n * A doubled parsha (e.g. `'Matot-Masei'`) will only return a date in years\n * where that pair is actually read together; in years where they are read\n * separately, this returns `null`. Use {@link findContaining} to find the\n * date a parsha is read regardless of whether it is doubled.\n *\n * Throws `RangeError` for an out-of-range numeric input or an invalid\n * doubled-parsha pair, and `TypeError` for a malformed array argument.\n * @example\n * import {Sedra} from '@hebcal/core';\n * const sedra = new Sedra(5784, false);\n * sedra.find('Noach')?.toString(); // '15 Cheshvan 5784'\n * sedra.find(1)?.toString(); // same, by 0-based index\n * sedra.find('Matot-Masei')?.toString(); // null in 5784 β€” read separately\n * sedra.find(['Matot', 'Masei']); // also null in 5784\n * @param parsha if a `string`, specified with Sephardic transliterations\n * like `'Noach'` or `'Matot-Masei'`. If an array, must be a 1- or 2-element\n * array such as `['Noach']` or `['Matot', 'Masei']`. If a `number`, should\n * be a 0-based parsha index (`0` for Bereshit, `1` for Noach) or a negative\n * number for a doubled parsha (e.g. `-21` for Vayakhel-Pekudei)\n */\n find(parsha: number | string | string[]): HDate | null {\n if (typeof parsha === 'number') {\n if (parsha >= parshiot.length || (parsha < 0 && !isValidDouble(parsha))) {\n throw new RangeError(`Invalid parsha number: ${parsha}`);\n }\n return this.findInternal(parsha);\n }\n if (typeof parsha === 'string') {\n const num = parsha2id.get(parsha);\n if (typeof num === 'number') {\n return this.find(num);\n }\n if (parsha.includes('-')) {\n if (parsha === CHMPESACH || parsha === CHMSUKOT) {\n return this.findInternal(parsha);\n }\n return this.find(parsha.split('-'));\n }\n // try to find Saturday holiday like 'Yom Kippur'\n return this.findInternal(parsha);\n }\n if (Array.isArray(parsha)) {\n const plen = parsha.length;\n if ((plen !== 1 && plen !== 2) || typeof parsha[0] !== 'string') {\n throw new TypeError(`Invalid parsha argument: ${JSON.stringify(parsha)}`);\n }\n if (plen === 1) {\n return this.find(parsha[0]);\n }\n const p1 = parsha[0];\n const p2 = parsha[1];\n const num1 = parsha2id.get(p1);\n const num2 = parsha2id.get(p2);\n if (\n typeof num1 !== 'number' ||\n typeof num2 !== 'number' ||\n num2 !== num1 + 1 ||\n !isValidDouble(-num1)\n ) {\n throw new RangeError(`Unrecognized parsha name: ${p1}-${p2}`);\n }\n return this.find(-num1);\n }\n return null; /* NOTREACHED */\n }\n\n private findInternal(parsha: NumberOrString): HDate | null {\n const idx = this.theSedraArray.indexOf(parsha);\n if (idx === -1) {\n return null; // doesn't occur this year\n }\n return new HDate(this.firstSaturday + idx * 7);\n }\n\n /**\n * Returns the date a parsha is read this year, looking through both\n * single and doubled forms.\n *\n * For example, if `'Matot'` is read individually this year, this returns\n * its date; if it is read as part of `'Matot-Masei'` this year, this\n * returns the date of `'Matot-Masei'` (and similarly for `'Masei'`).\n * Conversely, asking for `'Matot-Masei'` in a year where they are split\n * will return the date of `'Matot'` alone.\n * @example\n * import {Sedra} from '@hebcal/core';\n * const sedra = new Sedra(5784, false);\n * // Matot-Masei is split in 5784; both individual halves resolve:\n * sedra.findContaining('Matot')?.toString(); // '22 Tamuz 5784'\n * sedra.findContaining('Masei')?.toString(); // '29 Tamuz 5784'\n * // Asking for the doubled name returns the date of the first half:\n * sedra.findContaining('Matot-Masei')?.toString(); // '22 Tamuz 5784'\n */\n findContaining(parsha: number | string): HDate | null {\n const hdate = this.find(parsha);\n if (hdate) {\n return hdate;\n }\n if (typeof parsha === 'number') {\n // a valid negative number (double parsha in a year where they are\n // combined) would've been found above, and a invalid negative number\n // would've thrown an error, so this parsha must be a positive number\n // representing either p1 or p2\n const p1 = -parsha;\n if (isValidDouble(p1)) {\n return this.find(p1);\n } else {\n // this must be the second individual parsha of a doubled pair\n // for example 29 for Kedoshim, so check for -28 for Achrei Mot-Kedoshim\n return this.find(p1 + 1);\n }\n } else {\n const num = parsha2id.get(parsha);\n if (num) {\n // parsha is either the first or second individual parsha of\n // a pair that is doubled this year\n const p1 = -num;\n if (isValidDouble(p1)) {\n return this.find(p1);\n } else {\n return this.find(p1 + 1);\n }\n } else {\n // this was indeed a doubled parsha, so return date of the first half\n const [p1] = parsha.split('-');\n return this.find(p1);\n }\n }\n }\n\n /**\n * Returns the underlying annual reading schedule as an array, where each\n * entry corresponds to one Saturday (starting from the first Shabbat on\n * or after Rosh Hashana). Entries are either:\n * - a non-negative `number`: a 0-based parsha index (e.g. `0` for\n * *Bereshit*)\n * - a negative `number`: the negated first index of a doubled parsha\n * (e.g. `-21` for *Vayakhel-Pekudei*)\n * - a `string`: a holiday name when a Yom Tov displaces the weekly reading\n * (e.g. `'Pesach Shabbat Chol ha-Moed'`, `'Yom Kippur'`)\n *\n * Used by `@hebcal/triennial`.\n */\n getSedraArray(): readonly NumberOrString[] {\n return this.theSedraArray;\n }\n\n /**\n * Returns the R.D. (Rata Die / Fixed Date) absolute day number of the\n * first Saturday on or after Rosh Hashana of this year. This is the\n * anchor point for {@link getSedraArray} β€” index `0` of that array\n * corresponds to this date.\n */\n getFirstSaturday(): number {\n return this.firstSaturday;\n }\n\n /** Returns the Hebrew year this `Sedra` instance covers. */\n getYear(): number {\n return this.year;\n }\n\n /**\n * Returns details about the parsha read on the first Saturday on or after\n * `hd`. If `hd` is itself a Saturday, the reading for that date is\n * returned; otherwise the reading for the upcoming Saturday is returned.\n *\n * If the given date falls in the final days of the Hebrew year (after\n * the last reading of this year's schedule), this method transparently\n * delegates to the next year's `Sedra`.\n * @example\n * import {Sedra, HDate, months} from '@hebcal/core';\n * const sedra = new Sedra(5784, false);\n * // A weekday β€” returns the upcoming Shabbat's reading\n * const result = sedra.lookup(new HDate(13, months.CHESHVAN, 5784));\n * console.log(result.parsha); // ['Lech-Lecha']\n * console.log(result.chag); // false\n * console.log(result.hdate.toString()); // '15 Cheshvan 5784' (Saturday)\n * @param hd Hebrew date or R.D. days\n */\n lookup(hd: HDate | number): SedraResult {\n const abs = typeof hd === 'number' ? hd : HDate.isHDate(hd) ? hd.abs() : NaN;\n\n if (isNaN(abs)) {\n throw new TypeError(`Bad date argument: ${hd}`);\n }\n if (abs < this.rh) {\n throw new RangeError(`Date ${hd} before start of Hebrew year ${this.year}`);\n }\n\n // find the first saturday on or after today's date\n const saturday = HDate.dayOnOrBefore(6, abs + 6);\n\n const weekNum = (saturday - this.firstSaturday) / 7;\n const index = this.theSedraArray[weekNum];\n\n if (index === undefined) {\n const sedra = getSedra(this.year + 1, this.il);\n return sedra.lookup(saturday); // must be next year\n }\n const hdate = new HDate(saturday);\n if (typeof index === 'string') {\n // Shabbat has a chag. Return a description\n return {parsha: [index], chag: true, hdate, il: this.il, num: 0};\n }\n if (index >= 0) {\n return {\n parsha: [parshiot[index]],\n chag: false,\n num: index + 1,\n hdate,\n il: this.il,\n };\n }\n\n const p1 = D(index); // undouble the parsha\n return {\n parsha: [parshiot[p1], parshiot[p1 + 1]],\n chag: false,\n num: [p1 + 1, p1 + 2],\n hdate,\n il: this.il,\n };\n }\n\n /**\n * Returns details about the parsha read on Monday or Thursday for `hd`, or\n * `undefined` if `hd` is not a Monday or Thursday.\n *\n * Weekday Torah readings generally begin the upcoming Shabbat parsha. When\n * the upcoming Shabbat is a holiday, this method returns the next regular\n * parsha instead.\n *\n * For the Tishrei weekdays before Sukkot or Simchat Torah, the weekday\n * reading is *Vezot Haberakhah* even though it is not read on Shabbat.\n * @param hd Hebrew date or R.D. days\n */\n lookupWeekday(hd: HDate | number): SedraResult | undefined {\n const abs = typeof hd === 'number' ? hd : HDate.isHDate(hd) ? hd.abs() : NaN;\n\n if (isNaN(abs)) {\n throw new TypeError(`Bad date argument: ${hd}`);\n }\n if (abs < this.rh) {\n throw new RangeError(`Date ${hd} before start of Hebrew year ${this.year}`);\n }\n\n const hdate = new HDate(abs);\n const day = hdate.getDay();\n if (day !== 1 && day !== 4) {\n return undefined;\n }\n\n const saturday = new HDate(HDate.dayOnOrBefore(6, abs + 6));\n const parsha = this.lookup(saturday);\n if (!parsha.chag) {\n return parsha;\n }\n return this.findWeekdayParsha(saturday);\n }\n\n private findWeekdayParsha(saturday: HDate): SedraResult {\n const hyear = saturday.getFullYear();\n const il = this.il;\n\n if (saturday.getMonth() === months.TISHREI) {\n const dd = saturday.getDate();\n const simchatTorah = il ? 22 : 23;\n if (dd > 2 && dd <= simchatTorah) {\n return {\n parsha: ['Vezot Haberakhah'],\n chag: false,\n num: 54,\n hdate: saturday,\n il,\n };\n }\n }\n\n const sedra = hyear === this.year ? this : getSedra(hyear, il);\n const endOfYear = new HDate(1, months.TISHREI, hyear + 1).abs() - 1;\n const endAbs = endOfYear + 30;\n for (let sat2 = saturday.abs() + 7; sat2 <= endAbs; sat2 += 7) {\n const sedra2 = sat2 > endOfYear ? getSedra(hyear + 1, il) : sedra;\n const parsha2 = sedra2.lookup(sat2);\n if (!parsha2.chag) {\n return parsha2;\n }\n }\n /* NOTREACHED */\n throw new Error(`can't find weekday parsha for ${saturday}/${il}`);\n }\n}\n\n/**\n * The 54 parshiyot of the Torah as transilterated strings.\n * * parshiot[0] == `Bereshit`\n * * parshiot[1] == `Noach`\n * * parshiot[52] == `Ha'azinu`\n * * parshiot[53] == `Vezot Haberakhah`\n * @readonly\n * @type {string[]}\n */\nexport const parshiot: readonly string[] = [\n 'Bereshit',\n 'Noach',\n 'Lech-Lecha',\n 'Vayera',\n 'Chayei Sara',\n 'Toldot',\n 'Vayetzei',\n 'Vayishlach',\n 'Vayeshev',\n 'Miketz',\n 'Vayigash',\n 'Vayechi',\n 'Shemot',\n 'Vaera',\n 'Bo',\n 'Beshalach',\n 'Yitro',\n 'Mishpatim',\n 'Terumah',\n 'Tetzaveh',\n 'Ki Tisa',\n 'Vayakhel',\n 'Pekudei',\n 'Vayikra',\n 'Tzav',\n 'Shmini',\n 'Tazria',\n 'Metzora',\n 'Achrei Mot',\n 'Kedoshim',\n 'Emor',\n 'Behar',\n 'Bechukotai',\n 'Bamidbar',\n 'Nasso',\n \"Beha'alotcha\",\n \"Sh'lach\",\n 'Korach',\n 'Chukat',\n 'Balak',\n 'Pinchas',\n 'Matot',\n 'Masei',\n 'Devarim',\n 'Vaetchanan',\n 'Eikev',\n \"Re'eh\",\n 'Shoftim',\n 'Ki Teitzei',\n 'Ki Tavo',\n 'Nitzavim',\n 'Vayeilech',\n \"Ha'azinu\",\n 'Vezot Haberakhah',\n] as const;\n\n// 0-based parsha IDs\nconst parsha2id = new Map<string, number>();\nfor (let id = 0; id < parshiot.length; id++) {\n const name = parshiot[id];\n parsha2id.set(name, id);\n}\n\n// 0-based parsha IDs\nconst doubles = new Set([\n 21, // Vayakhel-Pekudei\n 26, // Tazria-Metzora\n 28, // Achrei Mot-Kedoshim\n 31, // Behar-Bechukotai\n 38, // Chukat-Balak\n 41, // Matot-Masei\n 50, // Nitzavim-Vayeilech\n]);\n\n/**\n * @private\n * @param id a negative number\n */\nfunction isValidDouble(id: number): boolean {\n return doubles.has(-id);\n}\n\n/**\n * parsha doubler/undoubler\n * @private\n * @param p\n */\nfunction D(p: number): number {\n return -p;\n}\n\nconst RH = 'Rosh Hashana'; // 0\nconst YK = 'Yom Kippur'; // 1\n\nconst SUKKOT = 'Sukkot'; // 0\nconst CHMSUKOT = 'Sukkot Shabbat Chol ha-Moed'; // 0\nconst SHMINI = 'Shmini Atzeret'; // 0\n\nconst PESACH = 'Pesach'; // 25\nconst PESACH1 = 'Pesach I';\nconst CHMPESACH = 'Pesach Shabbat Chol ha-Moed'; // 25\nconst PESACH7 = 'Pesach VII'; // 25\nconst PESACH8 = 'Pesach VIII';\nconst SHAVUOT = 'Shavuot'; // 33\n\n/**\n * Returns an array from start to end\n * @private\n * @param start beginning number, inclusive\n * @param stop ending number, inclusive\n */\nfunction range(start: number, stop: number): readonly number[] {\n return Array.from({length: stop - start + 1}, (v, k) => k + start);\n}\n\ntype NumberOrString = number | string;\n\nconst yearStartVayeilech: readonly NumberOrString[] = [51, 52, CHMSUKOT];\nconst yearStartHaazinu: readonly NumberOrString[] = [52, YK, CHMSUKOT];\nconst yearStartRH: readonly NumberOrString[] = [RH, 52, SUKKOT, SHMINI];\nconst r020 = range(0, 20);\nconst r027 = range(0, 27);\nconst r3340 = range(33, 40);\nconst r4349 = range(43, 49);\nconst r4350 = range(43, 50);\n\n/**\n * The ordinary year types (keviot)\n * names are leap/nonleap - day - incomplete/regular/complete - diaspora/Israel\n * @private\n * @readonly\n */\nconst types: Record<string, readonly NumberOrString[]> = {\n /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Tuesday. */\n // e.g. 5753\n '020': yearStartVayeilech.concat(\n r020,\n D(21),\n 23,\n 24,\n CHMPESACH,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\n // e.g. 5756\n '0220': yearStartVayeilech.concat(\n r020,\n D(21),\n 23,\n 24,\n CHMPESACH,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n 33,\n SHAVUOT,\n range(34, 37),\n D(38),\n 40,\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Thursday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\n // e.g. 5701\n '0510': yearStartHaazinu.concat(\n r020,\n D(21),\n 23,\n 24,\n PESACH1,\n PESACH8,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Thursday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\n // e.g. 5745\n '0511': yearStartHaazinu.concat(\n r020,\n D(21),\n 23,\n 24,\n PESACH,\n 25,\n D(26),\n D(28),\n range(30, 40),\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Thursday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Sunday. */\n // e.g. 5754\n '052': yearStartHaazinu.concat(\n range(0, 24),\n PESACH7,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Saturday, is `incomplete' (Heshvan and Kislev\n * each have 29 days), and has Passover start on Sunday. */\n // e.g. 5761\n '070': yearStartRH.concat(\n r020,\n D(21),\n 23,\n 24,\n PESACH7,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Saturday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Tuesday. */\n // e.g. 5716\n '072': yearStartRH.concat(\n r020,\n D(21),\n 23,\n 24,\n CHMPESACH,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4349,\n D(50)\n ),\n\n /* -- The leap year types (keviot) -- */\n /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Thursday. */\n // e.g. 5746\n '1200': yearStartVayeilech.concat(\n r027,\n CHMPESACH,\n range(28, 33),\n SHAVUOT,\n range(34, 37),\n D(38),\n 40,\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Thursday. */\n // e.g. 5746\n '1201': yearStartVayeilech.concat(\n r027,\n CHMPESACH,\n range(28, 40),\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Saturday. */\n // e.g.5752\n '1220': yearStartVayeilech.concat(\n r027,\n PESACH1,\n PESACH8,\n range(28, 40),\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Saturday. */\n // e.g.5752\n '1221': yearStartVayeilech.concat(r027, PESACH, range(28, 50)),\n\n /* Hebrew year that starts on Thursday, is `incomplete' (Heshvan and\n * Kislev both have 29 days), and has Passover start on Sunday. */\n // e.g. 5768\n '150': yearStartHaazinu.concat(range(0, 28), PESACH7, range(29, 50)),\n\n /* Hebrew year that starts on Thursday, is `complete' (Heshvan and\n * Kislev both have 30 days), and has Passover start on Tuesday. */\n // eg. 5771\n '152': yearStartHaazinu.concat(range(0, 28), CHMPESACH, range(29, 49), D(50)),\n\n /* Hebrew year that starts on Saturday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Tuesday. */\n // e.g.5757\n '170': yearStartRH.concat(r027, CHMPESACH, range(28, 40), D(41), r4349, D(50)),\n\n /* Hebrew year that starts on Saturday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\n '1720': yearStartRH.concat(\n r027,\n CHMPESACH,\n range(28, 33),\n SHAVUOT,\n range(34, 37),\n D(38),\n 40,\n D(41),\n r4349,\n D(50)\n ),\n} as const;\n\n/* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\ntypes['0221'] = types['020'];\n\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Thursday. */\n// e.g. 5715\ntypes['0310'] = types['0220'];\n\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Thursday. */\ntypes['0311'] = types['020'];\n\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\n// e.g. 5715\ntypes['1310'] = types['1220'];\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\ntypes['1311'] = types['1221'];\n\n/* Hebrew year that starts on Saturday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\ntypes['1721'] = types['170'];\n\nconst sedraCache = new QuickLRU<string, Sedra>({maxSize: 120});\n\n/**\n * Convenience function to create an instance of {@link Sedra} or reuse a\n * previously created and cached instance for the same year and schedule.\n *\n * Prefer this over `new Sedra(...)` when calling repeatedly β€” an internal\n * LRU cache (~120 entries) avoids recomputing the keviyah-specific schedule.\n * @example\n * import {getSedra, HDate, months} from '@hebcal/core';\n * const sedra = getSedra(5784, false);\n * const {parsha} = sedra.lookup(new HDate(15, months.CHESHVAN, 5784));\n * console.log(parsha); // ['Lech-Lecha']\n * @param hyear Hebrew year\n * @param il Use Israel sedra schedule (`false` for Diaspora)\n */\nexport function getSedra(hyear: number, il: boolean): Sedra {\n const cacheKey = `${hyear}-${il ? 1 : 0}`;\n let sedra = sedraCache.get(cacheKey);\n if (!sedra) {\n sedra = new Sedra(hyear, il);\n sedraCache.set(cacheKey, sedra);\n }\n return sedra;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sedra.js","sources":["../../../src/sedra.ts"],"sourcesContent":["/*\n Hebcal - A Jewish Calendar Generator\n Copyright (c) 1994-2020 Danny Sadinoff\n Portions copyright Eyal Schachter and Michael J. Radwin\n\n https://github.com/hebcal/hebcal-es6\n\n This program is free software; you can redistribute it and/or\n modify it under the terms of the GNU General Public License\n as published by the Free Software Foundation; either version 2\n of the License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/*\n * Many of the following algorithms were taken from hebrew calendar\n * routines by Maimonedes, from his Mishneh Torah, and implemented by\n * Nachum Dershowitz Department of Computer Science\n * (217) 333-4219 University of Illinois at Urbana-Champaign\n * nachum@cs.uiuedu 1304 West Springfield Avenue\n * Urbana, Illinois 61801\n *\n * The routines were included in the emacs 19 distribution.\n *\n */\nimport {HDate, months} from '@hebcal/hdate';\nimport QuickLRU from 'quick-lru';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\nconst INCOMPLETE = 0;\nconst REGULAR = 1;\nconst COMPLETE = 2;\n\nfunction yearType(hyear: number): number {\n const longC = HDate.longCheshvan(hyear);\n const shortK = HDate.shortKislev(hyear);\n if (longC && !shortK) {\n return COMPLETE;\n }\n if (!longC && shortK) {\n return INCOMPLETE;\n }\n return REGULAR;\n}\n\n/** The result from `Sedra.lookup()` */\nexport type SedraResult = {\n /**\n * Name of the parsha (or parshiyot) read on\n * Hebrew date, e.g. `['Noach']` or `['Matot', 'Masei']`\n */\n parsha: string[];\n /**\n * False if this is a regular parashat HaShavua reading.\n * True if it's a special holiday reading.\n */\n chag: boolean;\n /**\n * The parsha number (or numbers) using 1-indexing.\n * A `number` for a regular (single) parsha, and a `number[]`\n * for a doubled parsha.\n * For Parashat *Bereshit*, `num` would be equal to `1`, and for\n * *Matot-Masei* it would be `[42, 43]`\n * For a chag (holiday) reading, `num` will be `0`.\n */\n num: number | number[];\n /** The date of the Shabbat this parsha is read */\n hdate: HDate;\n /** true if Israel, false for Diaspora */\n il: boolean;\n};\n\n/**\n * Represents the weekly Torah-reading (Parashat HaShavua) schedule for an\n * entire Hebrew year.\n *\n * The schedule depends on the year's *keviyah* β€” the day of week of Rosh\n * Hashana, whether the year is leap, whether Cheshvan/Kislev are long or\n * short, and whether the schedule is for Israel or the Diaspora (since\n * Israel and the Diaspora diverge in some years when the 8th day of Pesach\n * or the 2nd day of Shavuot fall on Shabbat).\n *\n * Prefer {@link getSedra} over\n * calling this constructor directly, since both cache their results.\n *\n * @example\n * import {Sedra, HDate, months} from '@hebcal/core';\n * const sedra = new Sedra(5784, false);\n * const result = sedra.lookup(new HDate(15, months.CHESHVAN, 5784));\n * console.log(result.parsha); // ['Vayera']\n */\nexport class Sedra {\n private readonly year: number;\n private readonly il: boolean;\n private readonly rh: number;\n private readonly firstSaturday: number;\n private readonly theSedraArray: readonly NumberOrString[];\n private readonly yearKey: string;\n /**\n * Calculates the Parashat HaShavua schedule for an entire Hebrew year.\n * @param hyear - Hebrew year (e.g. 5749)\n * @param il - Use Israel sedra schedule (false for Diaspora)\n */\n constructor(hyear: number, il: boolean) {\n hyear = +hyear;\n this.year = hyear;\n\n const rh0 = new HDate(1, months.TISHREI, hyear);\n const rh = (this.rh = rh0.abs());\n const rhDay = rh0.getDay() + 1;\n\n // find the first Saturday on or after Rosh Hashana\n this.firstSaturday = HDate.dayOnOrBefore(6, rh + 6);\n const leap = +HDate.isLeapYear(hyear);\n this.il = Boolean(il);\n\n const type = yearType(hyear);\n let key = `${leap}${rhDay}${type}`;\n if (types[key]) {\n this.theSedraArray = types[key];\n this.yearKey = key;\n } else {\n key = key + +this.il; // cast to num, then concat\n this.theSedraArray = types[key];\n this.yearKey = key;\n }\n\n if (!this.theSedraArray) {\n throw new Error(`improper sedra year type ${key} calculated for ${hyear}`);\n }\n }\n\n /**\n * Returns the date a parsha is read this year, or `null` if it does not\n * occur in this year's schedule.\n *\n * A doubled parsha (e.g. `'Matot-Masei'`) will only return a date in years\n * where that pair is actually read together; in years where they are read\n * separately, this returns `null`. Use {@link findContaining} to find the\n * date a parsha is read regardless of whether it is doubled.\n *\n * Throws `RangeError` for an out-of-range numeric input or an invalid\n * doubled-parsha pair, and `TypeError` for a malformed array argument.\n * @example\n * import {Sedra} from '@hebcal/core';\n * const sedra = new Sedra(5784, false);\n * sedra.find('Noach')?.toString(); // '6 Cheshvan 5784'\n * sedra.find(1)?.toString(); // '6 Cheshvan 5784', by 0-based index\n * // Matot and Masei are doubled in 5784, so the pair has a date...\n * sedra.find('Matot-Masei')?.toString(); // '28 Tamuz 5784'\n * sedra.find(['Matot', 'Masei'])?.toString(); // '28 Tamuz 5784'\n * // ...but neither half is read on its own that year:\n * sedra.find('Matot'); // null\n * @param parsha if a `string`, specified with Sephardic transliterations\n * like `'Noach'` or `'Matot-Masei'`. If an array, must be a 1- or 2-element\n * array such as `['Noach']` or `['Matot', 'Masei']`. If a `number`, should\n * be a 0-based parsha index (`0` for Bereshit, `1` for Noach) or a negative\n * number for a doubled parsha (e.g. `-21` for Vayakhel-Pekudei).\n * Note that this index is 0-based, unlike {@link SedraResult.num} which\n * is 1-based.\n */\n find(parsha: number | string | string[]): HDate | null {\n if (typeof parsha === 'number') {\n if (parsha >= parshiot.length || (parsha < 0 && !isValidDouble(parsha))) {\n throw new RangeError(`Invalid parsha number: ${parsha}`);\n }\n return this.findInternal(parsha);\n }\n if (typeof parsha === 'string') {\n const num = parsha2id.get(parsha);\n if (typeof num === 'number') {\n return this.find(num);\n }\n if (parsha.includes('-')) {\n if (parsha === CHMPESACH || parsha === CHMSUKOT) {\n return this.findInternal(parsha);\n }\n return this.find(parsha.split('-'));\n }\n // try to find Saturday holiday like 'Yom Kippur'\n return this.findInternal(parsha);\n }\n if (Array.isArray(parsha)) {\n const plen = parsha.length;\n if ((plen !== 1 && plen !== 2) || typeof parsha[0] !== 'string') {\n throw new TypeError(`Invalid parsha argument: ${JSON.stringify(parsha)}`);\n }\n if (plen === 1) {\n return this.find(parsha[0]);\n }\n const p1 = parsha[0];\n const p2 = parsha[1];\n const num1 = parsha2id.get(p1);\n const num2 = parsha2id.get(p2);\n if (\n typeof num1 !== 'number' ||\n typeof num2 !== 'number' ||\n num2 !== num1 + 1 ||\n !isValidDouble(-num1)\n ) {\n throw new RangeError(`Unrecognized parsha name: ${p1}-${p2}`);\n }\n return this.find(-num1);\n }\n return null; /* NOTREACHED */\n }\n\n private findInternal(parsha: NumberOrString): HDate | null {\n const idx = this.theSedraArray.indexOf(parsha);\n if (idx === -1) {\n return null; // doesn't occur this year\n }\n return new HDate(this.firstSaturday + idx * 7);\n }\n\n /**\n * Returns the date a parsha is read this year, looking through both\n * single and doubled forms.\n *\n * For example, if `'Matot'` is read individually this year, this returns\n * its date; if it is read as part of `'Matot-Masei'` this year, this\n * returns the date of `'Matot-Masei'` (and similarly for `'Masei'`).\n * Conversely, asking for `'Matot-Masei'` in a year where they are split\n * will return the date of `'Matot'` alone.\n * @example\n * import {Sedra} from '@hebcal/core';\n * // Matot and Masei are doubled in 5784, so each half resolves to the\n * // date of the combined reading:\n * const sedra = new Sedra(5784, false);\n * sedra.findContaining('Matot')?.toString(); // '28 Tamuz 5784'\n * sedra.findContaining('Masei')?.toString(); // '28 Tamuz 5784'\n * @example\n * import {Sedra} from '@hebcal/core';\n * // They are read separately in 5795, so each half has its own date, and\n * // asking for the doubled name returns the date of the first half:\n * const sedra = new Sedra(5795, false);\n * sedra.findContaining('Matot')?.toString(); // '21 Tamuz 5795'\n * sedra.findContaining('Masei')?.toString(); // '28 Tamuz 5795'\n * sedra.findContaining('Matot-Masei')?.toString(); // '21 Tamuz 5795'\n */\n findContaining(parsha: number | string): HDate | null {\n const hdate = this.find(parsha);\n if (hdate) {\n return hdate;\n }\n if (typeof parsha === 'number') {\n // a valid negative number (double parsha in a year where they are\n // combined) would've been found above, and a invalid negative number\n // would've thrown an error, so this parsha must be a positive number\n // representing either p1 or p2\n const p1 = -parsha;\n if (isValidDouble(p1)) {\n return this.find(p1);\n } else {\n // this must be the second individual parsha of a doubled pair\n // for example 29 for Kedoshim, so check for -28 for Achrei Mot-Kedoshim\n return this.find(p1 + 1);\n }\n } else {\n const num = parsha2id.get(parsha);\n if (num) {\n // parsha is either the first or second individual parsha of\n // a pair that is doubled this year\n const p1 = -num;\n if (isValidDouble(p1)) {\n return this.find(p1);\n } else {\n return this.find(p1 + 1);\n }\n } else {\n // this was indeed a doubled parsha, so return date of the first half\n const [p1] = parsha.split('-');\n return this.find(p1);\n }\n }\n }\n\n /**\n * Returns the underlying annual reading schedule as an array, where each\n * entry corresponds to one Saturday (starting from the first Shabbat on\n * or after Rosh Hashana). Entries are either:\n * - a non-negative `number`: a 0-based parsha index (e.g. `0` for\n * *Bereshit*)\n * - a negative `number`: the negated first index of a doubled parsha\n * (e.g. `-21` for *Vayakhel-Pekudei*)\n * - a `string`: a holiday name when a Yom Tov displaces the weekly reading\n * (e.g. `'Pesach Shabbat Chol ha-Moed'`, `'Yom Kippur'`)\n *\n * Used by `@hebcal/triennial`.\n */\n getSedraArray(): readonly NumberOrString[] {\n return this.theSedraArray;\n }\n\n /**\n * Returns the R.D. (Rata Die / Fixed Date) absolute day number of the\n * first Saturday on or after Rosh Hashana of this year. This is the\n * anchor point for {@link getSedraArray} β€” index `0` of that array\n * corresponds to this date.\n */\n getFirstSaturday(): number {\n return this.firstSaturday;\n }\n\n /** Returns the Hebrew year this `Sedra` instance covers. */\n getYear(): number {\n return this.year;\n }\n\n /**\n * Returns details about the parsha read on the first Saturday on or after\n * `hd`. If `hd` is itself a Saturday, the reading for that date is\n * returned; otherwise the reading for the upcoming Saturday is returned.\n *\n * If the given date falls in the final days of the Hebrew year (after\n * the last reading of this year's schedule), this method transparently\n * delegates to the next year's `Sedra`.\n * @example\n * import {Sedra, HDate, months} from '@hebcal/core';\n * const sedra = new Sedra(5784, false);\n * // A Friday β€” returns the upcoming Shabbat's reading\n * const result = sedra.lookup(new HDate(12, months.CHESHVAN, 5784));\n * console.log(result.parsha); // ['Lech-Lecha']\n * console.log(result.chag); // false\n * console.log(result.hdate.toString()); // '13 Cheshvan 5784' (Saturday)\n * @param hd Hebrew date or R.D. days\n */\n lookup(hd: HDate | number): SedraResult {\n const abs = typeof hd === 'number' ? hd : HDate.isHDate(hd) ? hd.abs() : NaN;\n\n if (isNaN(abs)) {\n throw new TypeError(`Bad date argument: ${hd}`);\n }\n if (abs < this.rh) {\n throw new RangeError(`Date ${hd} before start of Hebrew year ${this.year}`);\n }\n\n // find the first saturday on or after today's date\n const saturday = HDate.dayOnOrBefore(6, abs + 6);\n\n const weekNum = (saturday - this.firstSaturday) / 7;\n const index = this.theSedraArray[weekNum];\n\n if (index === undefined) {\n const sedra = getSedra(this.year + 1, this.il);\n return sedra.lookup(saturday); // must be next year\n }\n const hdate = new HDate(saturday);\n if (typeof index === 'string') {\n // Shabbat has a chag. Return a description\n return {parsha: [index], chag: true, hdate, il: this.il, num: 0};\n }\n if (index >= 0) {\n return {\n parsha: [parshiot[index]],\n chag: false,\n num: index + 1,\n hdate,\n il: this.il,\n };\n }\n\n const p1 = D(index); // undouble the parsha\n return {\n parsha: [parshiot[p1], parshiot[p1 + 1]],\n chag: false,\n num: [p1 + 1, p1 + 2],\n hdate,\n il: this.il,\n };\n }\n\n /**\n * Returns details about the parsha read on Monday or Thursday for `hd`, or\n * `undefined` if `hd` is not a Monday or Thursday.\n *\n * Weekday Torah readings generally begin the upcoming Shabbat parsha. When\n * the upcoming Shabbat is a holiday, this method returns the next regular\n * parsha instead.\n *\n * For the Tishrei weekdays before Sukkot or Simchat Torah, the weekday\n * reading is *Vezot Haberakhah* even though it is not read on Shabbat.\n * @example\n * import {Sedra, HDate, months} from '@hebcal/core';\n * const sedra = new Sedra(5784, false);\n * // Monday 8 Cheshvan β€” begins the upcoming Shabbat's parsha\n * sedra.lookupWeekday(new HDate(8, months.CHESHVAN, 5784))?.parsha; // ['Lech-Lecha']\n * // Tuesday is neither Monday nor Thursday\n * sedra.lookupWeekday(new HDate(9, months.CHESHVAN, 5784)); // undefined\n * // Thursday 17 Nisan β€” the upcoming Shabbat is Chol ha-Moed Pesach,\n * // so the next regular parsha is returned instead\n * sedra.lookupWeekday(new HDate(17, months.NISAN, 5784))?.parsha; // ['Achrei Mot']\n * @param hd Hebrew date or R.D. days\n */\n lookupWeekday(hd: HDate | number): SedraResult | undefined {\n const abs = typeof hd === 'number' ? hd : HDate.isHDate(hd) ? hd.abs() : NaN;\n\n if (isNaN(abs)) {\n throw new TypeError(`Bad date argument: ${hd}`);\n }\n if (abs < this.rh) {\n throw new RangeError(`Date ${hd} before start of Hebrew year ${this.year}`);\n }\n\n const hdate = new HDate(abs);\n const day = hdate.getDay();\n if (day !== 1 && day !== 4) {\n return undefined;\n }\n\n const saturday = new HDate(HDate.dayOnOrBefore(6, abs + 6));\n const parsha = this.lookup(saturday);\n if (!parsha.chag) {\n return parsha;\n }\n return this.findWeekdayParsha(saturday);\n }\n\n private findWeekdayParsha(saturday: HDate): SedraResult {\n const hyear = saturday.getFullYear();\n const il = this.il;\n\n if (saturday.getMonth() === months.TISHREI) {\n const dd = saturday.getDate();\n const simchatTorah = il ? 22 : 23;\n if (dd > 2 && dd <= simchatTorah) {\n return {\n parsha: ['Vezot Haberakhah'],\n chag: false,\n num: 54,\n hdate: saturday,\n il,\n };\n }\n }\n\n const sedra = hyear === this.year ? this : getSedra(hyear, il);\n const endOfYear = new HDate(1, months.TISHREI, hyear + 1).abs() - 1;\n const endAbs = endOfYear + 30;\n for (let sat2 = saturday.abs() + 7; sat2 <= endAbs; sat2 += 7) {\n const sedra2 = sat2 > endOfYear ? getSedra(hyear + 1, il) : sedra;\n const parsha2 = sedra2.lookup(sat2);\n if (!parsha2.chag) {\n return parsha2;\n }\n }\n /* NOTREACHED */\n throw new Error(`can't find weekday parsha for ${saturday}/${il}`);\n }\n}\n\n/**\n * The 54 parshiyot of the Torah as transilterated strings.\n * * parshiot[0] == `Bereshit`\n * * parshiot[1] == `Noach`\n * * parshiot[52] == `Ha'azinu`\n * * parshiot[53] == `Vezot Haberakhah`\n * @readonly\n * @type {string[]}\n */\nexport const parshiot: readonly string[] = [\n 'Bereshit',\n 'Noach',\n 'Lech-Lecha',\n 'Vayera',\n 'Chayei Sara',\n 'Toldot',\n 'Vayetzei',\n 'Vayishlach',\n 'Vayeshev',\n 'Miketz',\n 'Vayigash',\n 'Vayechi',\n 'Shemot',\n 'Vaera',\n 'Bo',\n 'Beshalach',\n 'Yitro',\n 'Mishpatim',\n 'Terumah',\n 'Tetzaveh',\n 'Ki Tisa',\n 'Vayakhel',\n 'Pekudei',\n 'Vayikra',\n 'Tzav',\n 'Shmini',\n 'Tazria',\n 'Metzora',\n 'Achrei Mot',\n 'Kedoshim',\n 'Emor',\n 'Behar',\n 'Bechukotai',\n 'Bamidbar',\n 'Nasso',\n \"Beha'alotcha\",\n \"Sh'lach\",\n 'Korach',\n 'Chukat',\n 'Balak',\n 'Pinchas',\n 'Matot',\n 'Masei',\n 'Devarim',\n 'Vaetchanan',\n 'Eikev',\n \"Re'eh\",\n 'Shoftim',\n 'Ki Teitzei',\n 'Ki Tavo',\n 'Nitzavim',\n 'Vayeilech',\n \"Ha'azinu\",\n 'Vezot Haberakhah',\n] as const;\n\n// 0-based parsha IDs\nconst parsha2id = new Map<string, number>();\nfor (let id = 0; id < parshiot.length; id++) {\n const name = parshiot[id];\n parsha2id.set(name, id);\n}\n\n// 0-based parsha IDs\nconst doubles = new Set([\n 21, // Vayakhel-Pekudei\n 26, // Tazria-Metzora\n 28, // Achrei Mot-Kedoshim\n 31, // Behar-Bechukotai\n 38, // Chukat-Balak\n 41, // Matot-Masei\n 50, // Nitzavim-Vayeilech\n]);\n\n/**\n * @private\n * @param id a negative number\n */\nfunction isValidDouble(id: number): boolean {\n return doubles.has(-id);\n}\n\n/**\n * parsha doubler/undoubler\n * @private\n * @param p\n */\nfunction D(p: number): number {\n return -p;\n}\n\nconst RH = 'Rosh Hashana'; // 0\nconst YK = 'Yom Kippur'; // 1\n\nconst SUKKOT = 'Sukkot'; // 0\nconst CHMSUKOT = 'Sukkot Shabbat Chol ha-Moed'; // 0\nconst SHMINI = 'Shmini Atzeret'; // 0\n\nconst PESACH = 'Pesach'; // 25\nconst PESACH1 = 'Pesach I';\nconst CHMPESACH = 'Pesach Shabbat Chol ha-Moed'; // 25\nconst PESACH7 = 'Pesach VII'; // 25\nconst PESACH8 = 'Pesach VIII';\nconst SHAVUOT = 'Shavuot'; // 33\n\n/**\n * Returns an array from start to end\n * @private\n * @param start beginning number, inclusive\n * @param stop ending number, inclusive\n */\nfunction range(start: number, stop: number): readonly number[] {\n return Array.from({length: stop - start + 1}, (v, k) => k + start);\n}\n\n/**\n * An entry in the array returned by {@link Sedra.getSedraArray}: either a\n * `number` identifying a parsha (or, when negative, a doubled parsha) or a\n * `string` naming the holiday that displaces the weekly reading.\n */\nexport type NumberOrString = number | string;\n\nconst yearStartVayeilech: readonly NumberOrString[] = [51, 52, CHMSUKOT];\nconst yearStartHaazinu: readonly NumberOrString[] = [52, YK, CHMSUKOT];\nconst yearStartRH: readonly NumberOrString[] = [RH, 52, SUKKOT, SHMINI];\nconst r020 = range(0, 20);\nconst r027 = range(0, 27);\nconst r3340 = range(33, 40);\nconst r4349 = range(43, 49);\nconst r4350 = range(43, 50);\n\n/**\n * The ordinary year types (keviot)\n * names are leap/nonleap - day - incomplete/regular/complete - diaspora/Israel\n * @private\n * @readonly\n */\nconst types: Record<string, readonly NumberOrString[]> = {\n /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Tuesday. */\n // e.g. 5753\n '020': yearStartVayeilech.concat(\n r020,\n D(21),\n 23,\n 24,\n CHMPESACH,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\n // e.g. 5756\n '0220': yearStartVayeilech.concat(\n r020,\n D(21),\n 23,\n 24,\n CHMPESACH,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n 33,\n SHAVUOT,\n range(34, 37),\n D(38),\n 40,\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Thursday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\n // e.g. 5701\n '0510': yearStartHaazinu.concat(\n r020,\n D(21),\n 23,\n 24,\n PESACH1,\n PESACH8,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Thursday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\n // e.g. 5745\n '0511': yearStartHaazinu.concat(\n r020,\n D(21),\n 23,\n 24,\n PESACH,\n 25,\n D(26),\n D(28),\n range(30, 40),\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Thursday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Sunday. */\n // e.g. 5754\n '052': yearStartHaazinu.concat(\n range(0, 24),\n PESACH7,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Saturday, is `incomplete' (Heshvan and Kislev\n * each have 29 days), and has Passover start on Sunday. */\n // e.g. 5761\n '070': yearStartRH.concat(\n r020,\n D(21),\n 23,\n 24,\n PESACH7,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Saturday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Tuesday. */\n // e.g. 5716\n '072': yearStartRH.concat(\n r020,\n D(21),\n 23,\n 24,\n CHMPESACH,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4349,\n D(50)\n ),\n\n /* -- The leap year types (keviot) -- */\n /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Thursday. */\n // e.g. 5746\n '1200': yearStartVayeilech.concat(\n r027,\n CHMPESACH,\n range(28, 33),\n SHAVUOT,\n range(34, 37),\n D(38),\n 40,\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Thursday. */\n // e.g. 5746\n '1201': yearStartVayeilech.concat(\n r027,\n CHMPESACH,\n range(28, 40),\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Saturday. */\n // e.g.5752\n '1220': yearStartVayeilech.concat(\n r027,\n PESACH1,\n PESACH8,\n range(28, 40),\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Saturday. */\n // e.g.5752\n '1221': yearStartVayeilech.concat(r027, PESACH, range(28, 50)),\n\n /* Hebrew year that starts on Thursday, is `incomplete' (Heshvan and\n * Kislev both have 29 days), and has Passover start on Sunday. */\n // e.g. 5768\n '150': yearStartHaazinu.concat(range(0, 28), PESACH7, range(29, 50)),\n\n /* Hebrew year that starts on Thursday, is `complete' (Heshvan and\n * Kislev both have 30 days), and has Passover start on Tuesday. */\n // eg. 5771\n '152': yearStartHaazinu.concat(range(0, 28), CHMPESACH, range(29, 49), D(50)),\n\n /* Hebrew year that starts on Saturday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Tuesday. */\n // e.g.5757\n '170': yearStartRH.concat(r027, CHMPESACH, range(28, 40), D(41), r4349, D(50)),\n\n /* Hebrew year that starts on Saturday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\n '1720': yearStartRH.concat(\n r027,\n CHMPESACH,\n range(28, 33),\n SHAVUOT,\n range(34, 37),\n D(38),\n 40,\n D(41),\n r4349,\n D(50)\n ),\n} as const;\n\n/* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\ntypes['0221'] = types['020'];\n\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Thursday. */\n// e.g. 5715\ntypes['0310'] = types['0220'];\n\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Thursday. */\ntypes['0311'] = types['020'];\n\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\n// e.g. 5715\ntypes['1310'] = types['1220'];\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\ntypes['1311'] = types['1221'];\n\n/* Hebrew year that starts on Saturday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\ntypes['1721'] = types['170'];\n\nconst sedraCache = new QuickLRU<string, Sedra>({maxSize: 120});\n\n/**\n * Convenience function to create an instance of {@link Sedra} or reuse a\n * previously created and cached instance for the same year and schedule.\n *\n * Prefer this over `new Sedra(...)` when calling repeatedly β€” an internal\n * LRU cache (~120 entries) avoids recomputing the keviyah-specific schedule.\n * @example\n * import {getSedra, HDate, months} from '@hebcal/core';\n * const sedra = getSedra(5784, false);\n * const {parsha} = sedra.lookup(new HDate(15, months.CHESHVAN, 5784));\n * console.log(parsha); // ['Vayera']\n * @param hyear Hebrew year\n * @param il Use Israel sedra schedule (`false` for Diaspora)\n */\nexport function getSedra(hyear: number, il: boolean): Sedra {\n const cacheKey = `${hyear}-${il ? 1 : 0}`;\n let sedra = sedraCache.get(cacheKey);\n if (!sedra) {\n sedra = new Sedra(hyear, il);\n sedraCache.set(cacheKey, sedra);\n }\n return sedra;\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v6.8.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v6.9.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
2
  const ps67lines=["ΧΦ±ΧœΦΉΧ”Φ΄Χ™Χ Χ™Φ°Χ—ΦΈΧ Φ΅ΦΌΧ Χ•ΦΌ Χ•Φ΄Χ™Χ‘ΦΈΧ¨Φ°Χ›Φ΅Χ Χ•ΦΌ יָא֡ר־׀ָּנָיו אִΧͺΦΈΦΌΧ Χ•ΦΌ Χ‘ΦΆΧœΦΈΧ”","ΧœΦΈΧ“Φ·Χ’Φ·Χͺ בָּאָר֢Χ₯ Χ“Φ·ΦΌΧ¨Φ°Χ›ΦΆΦΌΧšΦΈ Χ‘Φ°ΦΌΧ›ΦΈΧœΦΎΧ’ΦΌΧ•ΦΉΧ™Φ΄Χ יְשׁוּגָΧͺ֢ךָ","Χ™Χ•ΦΉΧ“Χ•ΦΌΧšΦΈ Χ’Φ·ΧžΦ΄ΦΌΧ™Χ ΧΦ±ΧœΦΉΧ”Φ΄Χ™Χ Χ™Χ•ΦΉΧ“Χ•ΦΌΧšΦΈ Χ’Φ·ΧžΦ΄ΦΌΧ™Χ Χ›Φ»ΦΌΧœΦΈΦΌΧ","Χ™Φ΄Χ©Φ°Χ‚ΧžΦ°Χ—Χ•ΦΌ Χ•Φ΄Χ™Χ¨Φ·Χ Φ°ΦΌΧ Χ•ΦΌ ΧœΦ°ΧΦ»ΧžΦ΄ΦΌΧ™Χ Χ›Φ΄ΦΌΧ™ΦΎΧͺִשְׁ׀ֹּט Χ’Φ·ΧžΦ΄ΦΌΧ™Χ ΧžΦ΄Χ™Χ©ΧΧ•ΦΉΧ¨ Χ•ΦΌΧœΦ°ΧΦ»ΧžΦ΄ΦΌΧ™Χ בָּאָר֢Χ₯ Χͺַּנח֡ם Χ‘ΦΆΧœΦΈΧ”","Χ™Χ•ΦΉΧ“Χ•ΦΌΧšΦΈ Χ’Φ·ΧžΦ΄ΦΌΧ™Χ ΧΦ±ΧœΦΉΧ”Φ΄Χ™Χ Χ™Χ•ΦΉΧ“Χ•ΦΌΧšΦΈ Χ’Φ·ΧžΦ΄ΦΌΧ™Χ Χ›Φ»ΦΌΧœΦΈΦΌΧ","א֢ר֢Χ₯ Χ ΦΈΧͺΦ°Χ ΦΈΧ” Χ™Φ°Χ‘Χ•ΦΌΧœΦΈΧ”ΦΌ Χ™Φ°Χ‘ΦΈΧ¨Φ°Χ›Φ΅Χ Χ•ΦΌ ΧΦ±ΧœΦΉΧ”Φ΄Χ™Χ ΧΦ±ΧœΦΉΧ”Φ΅Χ™Χ Χ•ΦΌ","Χ™Φ°Χ‘ΦΈΧ¨Φ°Χ›Φ΅Χ Χ•ΦΌ ΧΦ±ΧœΦΉΧ”Φ΄Χ™Χ וְיִירְאוּ אוֹΧͺΧ•ΦΉ Χ›ΦΈΦΌΧœΦΎΧΦ·Χ€Φ°Χ‘Φ΅Χ™ΦΎΧΦΈΧ¨ΦΆΧ₯"];const lamnatzeachLetters="Χ™Χ©ΧžΧ—Χ•Χ•Χ™Χ¨Χ Χ Χ•ΧœΧΧžΧ™ΧΧ›Χ™ΧͺΧ©Χ€Χ•Χ˜Χ’ΧžΧ™ΧΧžΧ™Χ©Χ•Χ¨Χ•ΧœΧΧžΧ™ΧΧ‘ΧΧ¨Χ₯ΧͺΧ Χ—ΧΧ‘ΧœΧ”";const anaBekoach=["אָנָּא","Χ‘ΦΌΦ°Χ›ΦΉΧ—Φ·","Χ’ΦΌΦ°Χ“Φ»ΧœΦΌΦ·Χͺ","Χ™Φ°ΧžΦ΄Χ™Χ Φ°ΧšΦΈ","ΧͺΦΌΦ·ΧͺΦΌΦ΄Χ™Χ¨","Χ¦Φ°Χ¨Χ•ΦΌΧ¨ΦΈΧ”","אב״ג Χ™ΧͺΧ΄Χ₯","Χ§Φ·Χ‘ΦΌΦ΅Χœ","Χ¨Φ΄Χ ΦΌΦ·Χͺ","גַמְּךָ","Χ©Χ‚Φ·Χ’ΦΌΦ°Χ‘Φ΅Χ Χ•ΦΌ","Χ˜Φ·Χ”Φ²Χ¨Φ΅Χ Χ•ΦΌ","נוֹרָא","Χ§Χ¨Χ΄Χ’ שט״ן","נָא","Χ’Φ΄Χ‘ΦΌΧ•ΦΉΧ¨","דּוֹרְשׁ֡י","Χ™Φ΄Χ—Χ•ΦΌΧ“Φ°ΧšΦΈ","Χ›ΦΌΦ°Χ‘ΦΈΧ‘Φ·Χͺ","שָׁמְר֡ם","Χ Χ’Χ΄Χ“ Χ™Χ›Χ΄Χ©","בָּרְכ֡ם","Χ˜Φ·Χ”Φ²Χ¨Φ΅Χ","Χ¨Φ·Χ—Φ²ΧžΦ΅Χ™","Χ¦Φ΄Χ“Φ°Χ§ΦΈΧͺְךָ","ΧͺΦΌΦΈΧžΦ΄Χ™Χ“","Χ’ΦΌΦΈΧžΦ°ΧœΦ΅Χ","Χ‘Χ˜Χ΄Χ¨ Χ¦ΧͺΧ΄Χ’","Χ—Φ²Χ‘Φ΄Χ™ΧŸ","קָדוֹשׁ","Χ‘ΦΌΦ°Χ¨ΦΉΧ‘","Χ˜Χ•ΦΌΧ‘Φ°ΧšΦΈ","Χ Φ·Χ”Φ΅Χœ","Χ’Φ²Χ“ΦΈΧͺ֢ךָ","Χ—Χ§Χ΄Χ‘ ΧͺΧ Χ΄Χ’","Χ™ΦΈΧ—Φ΄Χ™Χ“","גּ֡א֢ה","לְגַמְּךָ","Χ€ΦΌΦ°Χ Φ΅Χ”","Χ–Χ•ΦΉΧ›Φ°Χ¨Φ΅Χ™","קְדֻשָּׁΧͺ֢ךָ","Χ™Χ’Χ΄Χœ Χ€Χ–Χ΄Χ§","שַׁוְגָΧͺΦ΅Χ Χ•ΦΌ","Χ§Φ·Χ‘ΦΌΦ΅Χœ","Χ•ΦΌΧ©ΧΦ°ΧžΦ·Χ’","Χ¦Φ·Χ’Φ²Χ§ΦΈΧͺΦ΅Χ Χ•ΦΌ","Χ™Χ•ΦΉΧ“Φ΅Χ’Φ·","ΧͺΦΌΦ·Χ’Φ²ΧœΧ•ΦΌΧžΧ•ΦΉΧͺ","Χ©Χ§Χ΄Χ• Χ¦Χ™Χ΄Χͺ"];var sefira = {ps67lines:ps67lines,lamnatzeachLetters:lamnatzeachLetters,anaBekoach:anaBekoach};
3
3
 
4
4
  export { anaBekoach, sefira as default, lamnatzeachLetters, ps67lines };
@@ -1,7 +1,5 @@
1
1
  /**
2
2
  * Transliterated names of holidays, used by `Event.getDesc()`
3
- * @readonly
4
- * @enum {string}
5
3
  */
6
4
  export declare const holidayDesc: {
7
5
  /** Asara B'Tevet */
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v6.8.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v6.9.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
2
  import { months } from '@hebcal/hdate';
3
3
  import { flags } from './event.js';
4
4
 
@@ -82,8 +82,6 @@ const SOF_ZMAN_ACHILAT_CHAMETZ = 'Finish eating chametz';
82
82
  const YIZKOR = 'Yizkor';
83
83
  /**
84
84
  * Transliterated names of holidays, used by `Event.getDesc()`
85
- * @readonly
86
- * @enum {string}
87
85
  */
88
86
  const holidayDesc = {
89
87
  /** Asara B'Tevet */
@@ -1 +1 @@
1
- {"version":3,"file":"staticHolidays.js","sources":["../../../src/staticHolidays.ts"],"sourcesContent":["import {months} from '@hebcal/hdate';\nimport {flags} from './event';\n\nconst Nisan = months.NISAN;\nconst Iyyar = months.IYYAR;\nconst Sivan = months.SIVAN;\nconst Tamuz = months.TAMUZ;\nconst Av = months.AV;\nconst Elul = months.ELUL;\nconst Tishrei = months.TISHREI;\nconst Cheshvan = months.CHESHVAN;\nconst Kislev = months.KISLEV;\nconst Shvat = months.SHVAT;\nconst Adar2 = months.ADAR_II;\n\nconst CHAG = flags.CHAG;\nconst LIGHT_CANDLES = flags.LIGHT_CANDLES;\nconst YOM_TOV_ENDS = flags.YOM_TOV_ENDS;\nconst CHUL_ONLY = flags.CHUL_ONLY;\nconst IL_ONLY = flags.IL_ONLY;\nconst LIGHT_CANDLES_TZEIS = flags.LIGHT_CANDLES_TZEIS;\nconst MAJOR_FAST = flags.MAJOR_FAST;\nconst MINOR_HOLIDAY = flags.MINOR_HOLIDAY;\nconst EREV = flags.EREV;\nconst CHOL_HAMOED = flags.CHOL_HAMOED;\n\nconst emojiPesach = 'πŸ«“';\nconst emojiSukkot = 'πŸŒΏπŸ‹';\n\nconst ROSH_HASHANA_II = 'Rosh Hashana II';\nconst EREV_YOM_KIPPUR = 'Erev Yom Kippur';\nconst YOM_KIPPUR = 'Yom Kippur';\nconst EREV_SUKKOT = 'Erev Sukkot';\nconst SUKKOT_I = 'Sukkot I';\nconst SUKKOT_II = 'Sukkot II';\nconst SUKKOT_III_CHM = \"Sukkot III (CH''M)\";\nconst SUKKOT_IV_CHM = \"Sukkot IV (CH''M)\";\nconst SUKKOT_V_CHM = \"Sukkot V (CH''M)\";\nconst SUKKOT_VI_CHM = \"Sukkot VI (CH''M)\";\nconst SHMINI_ATZERET = 'Shmini Atzeret';\nconst SIMCHAT_TORAH = 'Simchat Torah';\nconst SUKKOT_II_CHM = \"Sukkot II (CH''M)\";\nconst SUKKOT_VII_HOSHANA_RABA = 'Sukkot VII (Hoshana Raba)';\nconst CHANUKAH_1_CANDLE = 'Chanukah: 1 Candle';\nconst TU_BISHVAT = 'Tu BiShvat';\nconst EREV_PURIM = 'Erev Purim';\nconst PURIM = 'Purim';\nconst SHUSHAN_PURIM = 'Shushan Purim';\nconst EREV_PESACH = 'Erev Pesach';\nconst PESACH_I = 'Pesach I';\nconst PESACH_II = 'Pesach II';\nconst PESACH_II_CHM = \"Pesach II (CH''M)\";\nconst PESACH_III_CHM = \"Pesach III (CH''M)\";\nconst PESACH_IV_CHM = \"Pesach IV (CH''M)\";\nconst PESACH_V_CHM = \"Pesach V (CH''M)\";\nconst PESACH_VI_CHM = \"Pesach VI (CH''M)\";\nconst PESACH_VII = 'Pesach VII';\nconst PESACH_VIII = 'Pesach VIII';\nconst PESACH_SHENI = 'Pesach Sheni';\nconst LAG_BAOMER = 'Lag BaOmer';\nconst EREV_SHAVUOT = 'Erev Shavuot';\nconst SHAVUOT = 'Shavuot';\nconst SHAVUOT_I = 'Shavuot I';\nconst SHAVUOT_II = 'Shavuot II';\nconst TU_BAV = \"Tu B'Av\";\nconst ROSH_HASHANA_LABEHEMOT = 'Rosh Hashana LaBehemot';\nconst EREV_ROSH_HASHANA = 'Erev Rosh Hashana';\nconst YOM_YERUSHALAYIM = 'Yom Yerushalayim';\nconst BEN_GURION_DAY = 'Ben-Gurion Day';\nconst FAMILY_DAY = 'Family Day';\nconst YITZHAK_RABIN_MEMORIAL_DAY = 'Yitzhak Rabin Memorial Day';\nconst HERZL_DAY = 'Herzl Day';\nconst JABOTINSKY_DAY = 'Jabotinsky Day';\nconst SIGD = 'Sigd';\nconst YOM_HAALIYAH = 'Yom HaAliyah';\nconst YOM_HAALIYAH_SCHOOL_OBSERVANCE = 'Yom HaAliyah School Observance';\nconst HEBREW_LANGUAGE_DAY = 'Hebrew Language Day';\nconst CANDLE_LIGHTING = 'Candle lighting';\nconst HAVDALAH = 'Havdalah';\nconst FAST_BEGINS = 'Fast begins';\nconst FAST_ENDS = 'Fast ends';\nconst BIUR_CHAMETZ = 'Biur Chametz';\nconst SOF_ZMAN_ACHILAT_CHAMETZ = 'Finish eating chametz';\nconst YIZKOR = 'Yizkor';\n\n/**\n * Transliterated names of holidays, used by `Event.getDesc()`\n * @readonly\n * @enum {string}\n */\nexport const holidayDesc = {\n /** Asara B'Tevet */\n ASARA_BTEVET: \"Asara B'Tevet\",\n /** Birkat Hachamah */\n BIRKAT_HACHAMAH: 'Birkat Hachamah',\n /** Chag HaBanot */\n CHAG_HABANOT: 'Chag HaBanot',\n /** Chanukah: 8th Day */\n CHANUKAH_8TH_DAY: 'Chanukah: 8th Day',\n /** Erev Tish'a B'Av */\n EREV_TISHA_BAV: \"Erev Tish'a B'Av\",\n /** Leil Selichot */\n LEIL_SELICHOT: 'Leil Selichot',\n /** Purim Katan */\n PURIM_KATAN: 'Purim Katan',\n /** Purim Meshulash */\n PURIM_MESHULASH: 'Purim Meshulash',\n /** Shabbat Chazon */\n SHABBAT_CHAZON: 'Shabbat Chazon',\n /** Shabbat HaChodesh */\n SHABBAT_HACHODESH: 'Shabbat HaChodesh',\n /** Shabbat HaGadol */\n SHABBAT_HAGADOL: 'Shabbat HaGadol',\n /** Shabbat Nachamu */\n SHABBAT_NACHAMU: 'Shabbat Nachamu',\n /** Shabbat Parah */\n SHABBAT_PARAH: 'Shabbat Parah',\n /** Shabbat Shekalim */\n SHABBAT_SHEKALIM: 'Shabbat Shekalim',\n /** Shabbat Shirah */\n SHABBAT_SHIRAH: 'Shabbat Shirah',\n /** Shabbat Shuva */\n SHABBAT_SHUVA: 'Shabbat Shuva',\n /** Shabbat Zachor */\n SHABBAT_ZACHOR: 'Shabbat Zachor',\n /** Shushan Purim Katan */\n SHUSHAN_PURIM_KATAN: 'Shushan Purim Katan',\n /** Ta'anit Bechorot */\n TAANIT_BECHOROT: \"Ta'anit Bechorot\",\n /** Ta'anit BeHaB */\n TAANIT_BEHAB: \"Ta'anit BeHaB\",\n /** Ta'anit Esther */\n TAANIT_ESTHER: \"Ta'anit Esther\",\n /** Tish'a B'Av */\n TISHA_BAV: \"Tish'a B'Av\",\n /** Tzom Gedaliah */\n TZOM_GEDALIAH: 'Tzom Gedaliah',\n /** Tzom Tammuz */\n TZOM_TAMMUZ: 'Tzom Tammuz',\n /** Yom HaAtzma'ut */\n YOM_HAATZMA_UT: \"Yom HaAtzma'ut\",\n /** Yom HaShoah */\n YOM_HASHOAH: 'Yom HaShoah',\n /** Yom HaZikaron */\n YOM_HAZIKARON: 'Yom HaZikaron',\n\n /** Ben-Gurion Day */\n BEN_GURION_DAY,\n /** Chanukah: 1 Candle */\n CHANUKAH_1_CANDLE,\n /** Erev Pesach */\n EREV_PESACH,\n /** Erev Purim */\n EREV_PURIM,\n /** Erev Rosh Hashana */\n EREV_ROSH_HASHANA,\n /** Erev Shavuot */\n EREV_SHAVUOT,\n /** Erev Sukkot */\n EREV_SUKKOT,\n /** Erev Yom Kippur */\n EREV_YOM_KIPPUR,\n /** Family Day */\n FAMILY_DAY,\n /** Hebrew Language Day */\n HEBREW_LANGUAGE_DAY,\n /** Herzl Day */\n HERZL_DAY,\n /** Jabotinsky Day */\n JABOTINSKY_DAY,\n /** Lag BaOmer */\n LAG_BAOMER,\n /** Pesach I */\n PESACH_I,\n /** Pesach II */\n PESACH_II,\n /** Pesach III (CH''M) */\n PESACH_III_CHM,\n /** Pesach II (CH''M) */\n PESACH_II_CHM,\n /** Pesach IV (CH''M) */\n PESACH_IV_CHM,\n /** Pesach Sheni */\n PESACH_SHENI,\n /** Pesach VII */\n PESACH_VII,\n /** Pesach VIII */\n PESACH_VIII,\n /** Pesach VI (CH''M) */\n PESACH_VI_CHM,\n /** Pesach V (CH''M) */\n PESACH_V_CHM,\n /** Purim */\n PURIM,\n /** Rosh Hashana II */\n ROSH_HASHANA_II,\n /** Rosh Hashana LaBehemot */\n ROSH_HASHANA_LABEHEMOT,\n /** Shavuot */\n SHAVUOT,\n /** Shavuot I */\n SHAVUOT_I,\n /** Shavuot II */\n SHAVUOT_II,\n /** Shmini Atzeret */\n SHMINI_ATZERET,\n /** Shushan Purim */\n SHUSHAN_PURIM,\n /** Sigd */\n SIGD,\n /** Simchat Torah */\n SIMCHAT_TORAH,\n /** Sukkot I */\n SUKKOT_I,\n /** Sukkot II */\n SUKKOT_II,\n /** Sukkot III (CH''M) */\n SUKKOT_III_CHM,\n /** Sukkot II (CH''M) */\n SUKKOT_II_CHM,\n /** Sukkot IV (CH''M) */\n SUKKOT_IV_CHM,\n /** Sukkot VII (Hoshana Raba) */\n SUKKOT_VII_HOSHANA_RABA,\n /** Sukkot VI (CH''M) */\n SUKKOT_VI_CHM,\n /** Sukkot V (CH''M) */\n SUKKOT_V_CHM,\n /** Tu B\\'Av */\n TU_BAV,\n /** Tu BiShvat */\n TU_BISHVAT,\n /** Yitzhak Rabin Memorial Day */\n YITZHAK_RABIN_MEMORIAL_DAY,\n /** Yom HaAliyah */\n YOM_HAALIYAH,\n /** Yom HaAliyah School Observance */\n YOM_HAALIYAH_SCHOOL_OBSERVANCE,\n /** Yom Kippur */\n YOM_KIPPUR,\n /** Yom Yerushalayim */\n YOM_YERUSHALAYIM,\n /** Candle lighting */\n CANDLE_LIGHTING,\n /** Havdalah */\n HAVDALAH,\n /** Fast begins */\n FAST_BEGINS,\n /** Fast ends */\n FAST_ENDS,\n /** Biur Chametz */\n BIUR_CHAMETZ,\n /** Finish eating chametz */\n SOF_ZMAN_ACHILAT_CHAMETZ,\n /** Yizkor */\n YIZKOR,\n} as const;\n\nexport interface Holiday {\n mm: number; // This should be an enum `Month` eventually\n dd: number;\n desc: string;\n flags: number;\n chmDay?: number;\n emoji?: string;\n}\n\nexport const staticHolidays: Holiday[] = [\n {\n mm: Tishrei,\n dd: 2,\n desc: ROSH_HASHANA_II,\n flags: CHAG | YOM_TOV_ENDS,\n emoji: '🍏🍯',\n },\n {mm: Tishrei, dd: 9, desc: EREV_YOM_KIPPUR, flags: EREV | LIGHT_CANDLES},\n {\n mm: Tishrei,\n dd: 10,\n desc: YOM_KIPPUR,\n flags: CHAG | MAJOR_FAST | YOM_TOV_ENDS,\n },\n\n {\n mm: Tishrei,\n dd: 14,\n desc: EREV_SUKKOT,\n flags: CHUL_ONLY | EREV | LIGHT_CANDLES,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 15,\n desc: SUKKOT_I,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 16,\n desc: SUKKOT_II,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 17,\n desc: SUKKOT_III_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 18,\n desc: SUKKOT_IV_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 19,\n desc: SUKKOT_V_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 20,\n desc: SUKKOT_VI_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 4,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 22,\n desc: SHMINI_ATZERET,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n },\n {\n mm: Tishrei,\n dd: 23,\n desc: SIMCHAT_TORAH,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n },\n\n {\n mm: Tishrei,\n dd: 14,\n desc: EREV_SUKKOT,\n flags: IL_ONLY | EREV | LIGHT_CANDLES,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 15,\n desc: SUKKOT_I,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 16,\n desc: SUKKOT_II_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 17,\n desc: SUKKOT_III_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 18,\n desc: SUKKOT_IV_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 19,\n desc: SUKKOT_V_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 4,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 20,\n desc: SUKKOT_VI_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 5,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 22,\n desc: SHMINI_ATZERET,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n },\n\n {\n mm: Tishrei,\n dd: 21,\n desc: SUKKOT_VII_HOSHANA_RABA,\n flags: LIGHT_CANDLES | CHOL_HAMOED,\n chmDay: -1,\n emoji: emojiSukkot,\n },\n {mm: Shvat, dd: 15, desc: TU_BISHVAT, flags: MINOR_HOLIDAY, emoji: '🌳'},\n {\n mm: Adar2,\n dd: 13,\n desc: EREV_PURIM,\n flags: EREV | MINOR_HOLIDAY,\n emoji: 'πŸŽ­οΈπŸ“œ',\n },\n {mm: Adar2, dd: 14, desc: PURIM, flags: MINOR_HOLIDAY, emoji: 'πŸŽ­οΈπŸ“œ'},\n {\n mm: Adar2,\n dd: 15,\n desc: SHUSHAN_PURIM,\n flags: MINOR_HOLIDAY,\n emoji: 'πŸŽ­οΈπŸ“œ',\n },\n // Pesach Israel\n {\n mm: Nisan,\n dd: 14,\n desc: EREV_PESACH,\n flags: IL_ONLY | EREV | LIGHT_CANDLES,\n emoji: 'πŸ«“πŸ·',\n },\n {\n mm: Nisan,\n dd: 15,\n desc: PESACH_I,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 16,\n desc: PESACH_II_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 17,\n desc: PESACH_III_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 18,\n desc: PESACH_IV_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 19,\n desc: PESACH_V_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 4,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 20,\n desc: PESACH_VI_CHM,\n flags: IL_ONLY | CHOL_HAMOED | LIGHT_CANDLES,\n chmDay: 5,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 21,\n desc: PESACH_VII,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n // Pesach chutz l'aretz\n {\n mm: Nisan,\n dd: 14,\n desc: EREV_PESACH,\n flags: CHUL_ONLY | EREV | LIGHT_CANDLES,\n emoji: 'πŸ«“πŸ·',\n },\n {\n mm: Nisan,\n dd: 15,\n desc: PESACH_I,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: 'πŸ«“πŸ·',\n },\n {\n mm: Nisan,\n dd: 16,\n desc: PESACH_II,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 17,\n desc: PESACH_III_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 18,\n desc: PESACH_IV_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 19,\n desc: PESACH_V_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 20,\n desc: PESACH_VI_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED | LIGHT_CANDLES,\n chmDay: 4,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 21,\n desc: PESACH_VII,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 22,\n desc: PESACH_VIII,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n\n {mm: Iyyar, dd: 14, desc: PESACH_SHENI, flags: MINOR_HOLIDAY},\n {mm: Iyyar, dd: 18, desc: LAG_BAOMER, flags: MINOR_HOLIDAY, emoji: 'πŸ”₯'},\n {\n mm: Sivan,\n dd: 5,\n desc: EREV_SHAVUOT,\n flags: EREV | LIGHT_CANDLES,\n emoji: 'β›°οΈπŸŒΈ',\n },\n {\n mm: Sivan,\n dd: 6,\n desc: SHAVUOT,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: 'β›°οΈπŸŒΈ',\n },\n {\n mm: Sivan,\n dd: 6,\n desc: SHAVUOT_I,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: 'β›°οΈπŸŒΈ',\n },\n {\n mm: Sivan,\n dd: 7,\n desc: SHAVUOT_II,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: 'β›°οΈπŸŒΈ',\n },\n {mm: Av, dd: 15, desc: TU_BAV, flags: MINOR_HOLIDAY, emoji: '❀️'},\n {\n mm: Elul,\n dd: 1,\n desc: ROSH_HASHANA_LABEHEMOT,\n flags: MINOR_HOLIDAY,\n emoji: 'πŸ‘',\n },\n {\n mm: Elul,\n dd: 29,\n desc: EREV_ROSH_HASHANA,\n flags: EREV | LIGHT_CANDLES,\n emoji: '🍏🍯',\n },\n] as const;\n\nexport interface ModernHoliday {\n firstYear: number;\n mm: number; // This should be an enum `Month` eventually\n dd: number;\n desc: string;\n chul?: boolean;\n suppressEmoji?: boolean;\n satPostponeToSun?: boolean;\n friPostponeToSun?: boolean;\n friSatMovetoThu?: boolean;\n}\n\nexport const staticModernHolidays: ModernHoliday[] = [\n {firstYear: 5727, mm: Iyyar, dd: 28, desc: YOM_YERUSHALAYIM, chul: true},\n {\n firstYear: 5737,\n mm: Kislev,\n dd: 6,\n desc: BEN_GURION_DAY,\n satPostponeToSun: true,\n friPostponeToSun: true,\n },\n {firstYear: 5750, mm: Shvat, dd: 30, desc: FAMILY_DAY},\n {\n firstYear: 5758,\n mm: Cheshvan,\n dd: 12,\n desc: YITZHAK_RABIN_MEMORIAL_DAY,\n friSatMovetoThu: true,\n },\n {firstYear: 5764, mm: Iyyar, dd: 10, desc: HERZL_DAY, satPostponeToSun: true},\n {\n firstYear: 5765,\n mm: Tamuz,\n dd: 29,\n desc: JABOTINSKY_DAY,\n satPostponeToSun: true,\n },\n {\n firstYear: 5769,\n mm: Cheshvan,\n dd: 29,\n desc: SIGD,\n chul: true,\n suppressEmoji: true,\n friSatMovetoThu: true,\n },\n {firstYear: 5777, mm: Nisan, dd: 10, desc: YOM_HAALIYAH, chul: true},\n {firstYear: 5777, mm: Cheshvan, dd: 7, desc: YOM_HAALIYAH_SCHOOL_OBSERVANCE},\n // https://www.gov.il/he/departments/policies/2012_des5234\n {\n firstYear: 5773,\n mm: months.TEVET,\n dd: 21,\n desc: HEBREW_LANGUAGE_DAY,\n friSatMovetoThu: true,\n },\n] as const;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"staticHolidays.js","sources":["../../../src/staticHolidays.ts"],"sourcesContent":["import {months} from '@hebcal/hdate';\nimport {flags} from './event';\n\nconst Nisan = months.NISAN;\nconst Iyyar = months.IYYAR;\nconst Sivan = months.SIVAN;\nconst Tamuz = months.TAMUZ;\nconst Av = months.AV;\nconst Elul = months.ELUL;\nconst Tishrei = months.TISHREI;\nconst Cheshvan = months.CHESHVAN;\nconst Kislev = months.KISLEV;\nconst Shvat = months.SHVAT;\nconst Adar2 = months.ADAR_II;\n\nconst CHAG = flags.CHAG;\nconst LIGHT_CANDLES = flags.LIGHT_CANDLES;\nconst YOM_TOV_ENDS = flags.YOM_TOV_ENDS;\nconst CHUL_ONLY = flags.CHUL_ONLY;\nconst IL_ONLY = flags.IL_ONLY;\nconst LIGHT_CANDLES_TZEIS = flags.LIGHT_CANDLES_TZEIS;\nconst MAJOR_FAST = flags.MAJOR_FAST;\nconst MINOR_HOLIDAY = flags.MINOR_HOLIDAY;\nconst EREV = flags.EREV;\nconst CHOL_HAMOED = flags.CHOL_HAMOED;\n\nconst emojiPesach = 'πŸ«“';\nconst emojiSukkot = 'πŸŒΏπŸ‹';\n\nconst ROSH_HASHANA_II = 'Rosh Hashana II';\nconst EREV_YOM_KIPPUR = 'Erev Yom Kippur';\nconst YOM_KIPPUR = 'Yom Kippur';\nconst EREV_SUKKOT = 'Erev Sukkot';\nconst SUKKOT_I = 'Sukkot I';\nconst SUKKOT_II = 'Sukkot II';\nconst SUKKOT_III_CHM = \"Sukkot III (CH''M)\";\nconst SUKKOT_IV_CHM = \"Sukkot IV (CH''M)\";\nconst SUKKOT_V_CHM = \"Sukkot V (CH''M)\";\nconst SUKKOT_VI_CHM = \"Sukkot VI (CH''M)\";\nconst SHMINI_ATZERET = 'Shmini Atzeret';\nconst SIMCHAT_TORAH = 'Simchat Torah';\nconst SUKKOT_II_CHM = \"Sukkot II (CH''M)\";\nconst SUKKOT_VII_HOSHANA_RABA = 'Sukkot VII (Hoshana Raba)';\nconst CHANUKAH_1_CANDLE = 'Chanukah: 1 Candle';\nconst TU_BISHVAT = 'Tu BiShvat';\nconst EREV_PURIM = 'Erev Purim';\nconst PURIM = 'Purim';\nconst SHUSHAN_PURIM = 'Shushan Purim';\nconst EREV_PESACH = 'Erev Pesach';\nconst PESACH_I = 'Pesach I';\nconst PESACH_II = 'Pesach II';\nconst PESACH_II_CHM = \"Pesach II (CH''M)\";\nconst PESACH_III_CHM = \"Pesach III (CH''M)\";\nconst PESACH_IV_CHM = \"Pesach IV (CH''M)\";\nconst PESACH_V_CHM = \"Pesach V (CH''M)\";\nconst PESACH_VI_CHM = \"Pesach VI (CH''M)\";\nconst PESACH_VII = 'Pesach VII';\nconst PESACH_VIII = 'Pesach VIII';\nconst PESACH_SHENI = 'Pesach Sheni';\nconst LAG_BAOMER = 'Lag BaOmer';\nconst EREV_SHAVUOT = 'Erev Shavuot';\nconst SHAVUOT = 'Shavuot';\nconst SHAVUOT_I = 'Shavuot I';\nconst SHAVUOT_II = 'Shavuot II';\nconst TU_BAV = \"Tu B'Av\";\nconst ROSH_HASHANA_LABEHEMOT = 'Rosh Hashana LaBehemot';\nconst EREV_ROSH_HASHANA = 'Erev Rosh Hashana';\nconst YOM_YERUSHALAYIM = 'Yom Yerushalayim';\nconst BEN_GURION_DAY = 'Ben-Gurion Day';\nconst FAMILY_DAY = 'Family Day';\nconst YITZHAK_RABIN_MEMORIAL_DAY = 'Yitzhak Rabin Memorial Day';\nconst HERZL_DAY = 'Herzl Day';\nconst JABOTINSKY_DAY = 'Jabotinsky Day';\nconst SIGD = 'Sigd';\nconst YOM_HAALIYAH = 'Yom HaAliyah';\nconst YOM_HAALIYAH_SCHOOL_OBSERVANCE = 'Yom HaAliyah School Observance';\nconst HEBREW_LANGUAGE_DAY = 'Hebrew Language Day';\nconst CANDLE_LIGHTING = 'Candle lighting';\nconst HAVDALAH = 'Havdalah';\nconst FAST_BEGINS = 'Fast begins';\nconst FAST_ENDS = 'Fast ends';\nconst BIUR_CHAMETZ = 'Biur Chametz';\nconst SOF_ZMAN_ACHILAT_CHAMETZ = 'Finish eating chametz';\nconst YIZKOR = 'Yizkor';\n\n/**\n * Transliterated names of holidays, used by `Event.getDesc()`\n */\nexport const holidayDesc = {\n /** Asara B'Tevet */\n ASARA_BTEVET: \"Asara B'Tevet\",\n /** Birkat Hachamah */\n BIRKAT_HACHAMAH: 'Birkat Hachamah',\n /** Chag HaBanot */\n CHAG_HABANOT: 'Chag HaBanot',\n /** Chanukah: 8th Day */\n CHANUKAH_8TH_DAY: 'Chanukah: 8th Day',\n /** Erev Tish'a B'Av */\n EREV_TISHA_BAV: \"Erev Tish'a B'Av\",\n /** Leil Selichot */\n LEIL_SELICHOT: 'Leil Selichot',\n /** Purim Katan */\n PURIM_KATAN: 'Purim Katan',\n /** Purim Meshulash */\n PURIM_MESHULASH: 'Purim Meshulash',\n /** Shabbat Chazon */\n SHABBAT_CHAZON: 'Shabbat Chazon',\n /** Shabbat HaChodesh */\n SHABBAT_HACHODESH: 'Shabbat HaChodesh',\n /** Shabbat HaGadol */\n SHABBAT_HAGADOL: 'Shabbat HaGadol',\n /** Shabbat Nachamu */\n SHABBAT_NACHAMU: 'Shabbat Nachamu',\n /** Shabbat Parah */\n SHABBAT_PARAH: 'Shabbat Parah',\n /** Shabbat Shekalim */\n SHABBAT_SHEKALIM: 'Shabbat Shekalim',\n /** Shabbat Shirah */\n SHABBAT_SHIRAH: 'Shabbat Shirah',\n /** Shabbat Shuva */\n SHABBAT_SHUVA: 'Shabbat Shuva',\n /** Shabbat Zachor */\n SHABBAT_ZACHOR: 'Shabbat Zachor',\n /** Shushan Purim Katan */\n SHUSHAN_PURIM_KATAN: 'Shushan Purim Katan',\n /** Ta'anit Bechorot */\n TAANIT_BECHOROT: \"Ta'anit Bechorot\",\n /** Ta'anit BeHaB */\n TAANIT_BEHAB: \"Ta'anit BeHaB\",\n /** Ta'anit Esther */\n TAANIT_ESTHER: \"Ta'anit Esther\",\n /** Tish'a B'Av */\n TISHA_BAV: \"Tish'a B'Av\",\n /** Tzom Gedaliah */\n TZOM_GEDALIAH: 'Tzom Gedaliah',\n /** Tzom Tammuz */\n TZOM_TAMMUZ: 'Tzom Tammuz',\n /** Yom HaAtzma'ut */\n YOM_HAATZMA_UT: \"Yom HaAtzma'ut\",\n /** Yom HaShoah */\n YOM_HASHOAH: 'Yom HaShoah',\n /** Yom HaZikaron */\n YOM_HAZIKARON: 'Yom HaZikaron',\n\n /** Ben-Gurion Day */\n BEN_GURION_DAY,\n /** Chanukah: 1 Candle */\n CHANUKAH_1_CANDLE,\n /** Erev Pesach */\n EREV_PESACH,\n /** Erev Purim */\n EREV_PURIM,\n /** Erev Rosh Hashana */\n EREV_ROSH_HASHANA,\n /** Erev Shavuot */\n EREV_SHAVUOT,\n /** Erev Sukkot */\n EREV_SUKKOT,\n /** Erev Yom Kippur */\n EREV_YOM_KIPPUR,\n /** Family Day */\n FAMILY_DAY,\n /** Hebrew Language Day */\n HEBREW_LANGUAGE_DAY,\n /** Herzl Day */\n HERZL_DAY,\n /** Jabotinsky Day */\n JABOTINSKY_DAY,\n /** Lag BaOmer */\n LAG_BAOMER,\n /** Pesach I */\n PESACH_I,\n /** Pesach II */\n PESACH_II,\n /** Pesach III (CH''M) */\n PESACH_III_CHM,\n /** Pesach II (CH''M) */\n PESACH_II_CHM,\n /** Pesach IV (CH''M) */\n PESACH_IV_CHM,\n /** Pesach Sheni */\n PESACH_SHENI,\n /** Pesach VII */\n PESACH_VII,\n /** Pesach VIII */\n PESACH_VIII,\n /** Pesach VI (CH''M) */\n PESACH_VI_CHM,\n /** Pesach V (CH''M) */\n PESACH_V_CHM,\n /** Purim */\n PURIM,\n /** Rosh Hashana II */\n ROSH_HASHANA_II,\n /** Rosh Hashana LaBehemot */\n ROSH_HASHANA_LABEHEMOT,\n /** Shavuot */\n SHAVUOT,\n /** Shavuot I */\n SHAVUOT_I,\n /** Shavuot II */\n SHAVUOT_II,\n /** Shmini Atzeret */\n SHMINI_ATZERET,\n /** Shushan Purim */\n SHUSHAN_PURIM,\n /** Sigd */\n SIGD,\n /** Simchat Torah */\n SIMCHAT_TORAH,\n /** Sukkot I */\n SUKKOT_I,\n /** Sukkot II */\n SUKKOT_II,\n /** Sukkot III (CH''M) */\n SUKKOT_III_CHM,\n /** Sukkot II (CH''M) */\n SUKKOT_II_CHM,\n /** Sukkot IV (CH''M) */\n SUKKOT_IV_CHM,\n /** Sukkot VII (Hoshana Raba) */\n SUKKOT_VII_HOSHANA_RABA,\n /** Sukkot VI (CH''M) */\n SUKKOT_VI_CHM,\n /** Sukkot V (CH''M) */\n SUKKOT_V_CHM,\n /** Tu B\\'Av */\n TU_BAV,\n /** Tu BiShvat */\n TU_BISHVAT,\n /** Yitzhak Rabin Memorial Day */\n YITZHAK_RABIN_MEMORIAL_DAY,\n /** Yom HaAliyah */\n YOM_HAALIYAH,\n /** Yom HaAliyah School Observance */\n YOM_HAALIYAH_SCHOOL_OBSERVANCE,\n /** Yom Kippur */\n YOM_KIPPUR,\n /** Yom Yerushalayim */\n YOM_YERUSHALAYIM,\n /** Candle lighting */\n CANDLE_LIGHTING,\n /** Havdalah */\n HAVDALAH,\n /** Fast begins */\n FAST_BEGINS,\n /** Fast ends */\n FAST_ENDS,\n /** Biur Chametz */\n BIUR_CHAMETZ,\n /** Finish eating chametz */\n SOF_ZMAN_ACHILAT_CHAMETZ,\n /** Yizkor */\n YIZKOR,\n} as const;\n\nexport interface Holiday {\n mm: number; // This should be an enum `Month` eventually\n dd: number;\n desc: string;\n flags: number;\n chmDay?: number;\n emoji?: string;\n}\n\nexport const staticHolidays: Holiday[] = [\n {\n mm: Tishrei,\n dd: 2,\n desc: ROSH_HASHANA_II,\n flags: CHAG | YOM_TOV_ENDS,\n emoji: '🍏🍯',\n },\n {mm: Tishrei, dd: 9, desc: EREV_YOM_KIPPUR, flags: EREV | LIGHT_CANDLES},\n {\n mm: Tishrei,\n dd: 10,\n desc: YOM_KIPPUR,\n flags: CHAG | MAJOR_FAST | YOM_TOV_ENDS,\n },\n\n {\n mm: Tishrei,\n dd: 14,\n desc: EREV_SUKKOT,\n flags: CHUL_ONLY | EREV | LIGHT_CANDLES,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 15,\n desc: SUKKOT_I,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 16,\n desc: SUKKOT_II,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 17,\n desc: SUKKOT_III_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 18,\n desc: SUKKOT_IV_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 19,\n desc: SUKKOT_V_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 20,\n desc: SUKKOT_VI_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 4,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 22,\n desc: SHMINI_ATZERET,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n },\n {\n mm: Tishrei,\n dd: 23,\n desc: SIMCHAT_TORAH,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n },\n\n {\n mm: Tishrei,\n dd: 14,\n desc: EREV_SUKKOT,\n flags: IL_ONLY | EREV | LIGHT_CANDLES,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 15,\n desc: SUKKOT_I,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 16,\n desc: SUKKOT_II_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 17,\n desc: SUKKOT_III_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 18,\n desc: SUKKOT_IV_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 19,\n desc: SUKKOT_V_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 4,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 20,\n desc: SUKKOT_VI_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 5,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 22,\n desc: SHMINI_ATZERET,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n },\n\n {\n mm: Tishrei,\n dd: 21,\n desc: SUKKOT_VII_HOSHANA_RABA,\n flags: LIGHT_CANDLES | CHOL_HAMOED,\n chmDay: -1,\n emoji: emojiSukkot,\n },\n {mm: Shvat, dd: 15, desc: TU_BISHVAT, flags: MINOR_HOLIDAY, emoji: '🌳'},\n {\n mm: Adar2,\n dd: 13,\n desc: EREV_PURIM,\n flags: EREV | MINOR_HOLIDAY,\n emoji: 'πŸŽ­οΈπŸ“œ',\n },\n {mm: Adar2, dd: 14, desc: PURIM, flags: MINOR_HOLIDAY, emoji: 'πŸŽ­οΈπŸ“œ'},\n {\n mm: Adar2,\n dd: 15,\n desc: SHUSHAN_PURIM,\n flags: MINOR_HOLIDAY,\n emoji: 'πŸŽ­οΈπŸ“œ',\n },\n // Pesach Israel\n {\n mm: Nisan,\n dd: 14,\n desc: EREV_PESACH,\n flags: IL_ONLY | EREV | LIGHT_CANDLES,\n emoji: 'πŸ«“πŸ·',\n },\n {\n mm: Nisan,\n dd: 15,\n desc: PESACH_I,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 16,\n desc: PESACH_II_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 17,\n desc: PESACH_III_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 18,\n desc: PESACH_IV_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 19,\n desc: PESACH_V_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 4,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 20,\n desc: PESACH_VI_CHM,\n flags: IL_ONLY | CHOL_HAMOED | LIGHT_CANDLES,\n chmDay: 5,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 21,\n desc: PESACH_VII,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n // Pesach chutz l'aretz\n {\n mm: Nisan,\n dd: 14,\n desc: EREV_PESACH,\n flags: CHUL_ONLY | EREV | LIGHT_CANDLES,\n emoji: 'πŸ«“πŸ·',\n },\n {\n mm: Nisan,\n dd: 15,\n desc: PESACH_I,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: 'πŸ«“πŸ·',\n },\n {\n mm: Nisan,\n dd: 16,\n desc: PESACH_II,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 17,\n desc: PESACH_III_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 18,\n desc: PESACH_IV_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 19,\n desc: PESACH_V_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 20,\n desc: PESACH_VI_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED | LIGHT_CANDLES,\n chmDay: 4,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 21,\n desc: PESACH_VII,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 22,\n desc: PESACH_VIII,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n\n {mm: Iyyar, dd: 14, desc: PESACH_SHENI, flags: MINOR_HOLIDAY},\n {mm: Iyyar, dd: 18, desc: LAG_BAOMER, flags: MINOR_HOLIDAY, emoji: 'πŸ”₯'},\n {\n mm: Sivan,\n dd: 5,\n desc: EREV_SHAVUOT,\n flags: EREV | LIGHT_CANDLES,\n emoji: 'β›°οΈπŸŒΈ',\n },\n {\n mm: Sivan,\n dd: 6,\n desc: SHAVUOT,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: 'β›°οΈπŸŒΈ',\n },\n {\n mm: Sivan,\n dd: 6,\n desc: SHAVUOT_I,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: 'β›°οΈπŸŒΈ',\n },\n {\n mm: Sivan,\n dd: 7,\n desc: SHAVUOT_II,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: 'β›°οΈπŸŒΈ',\n },\n {mm: Av, dd: 15, desc: TU_BAV, flags: MINOR_HOLIDAY, emoji: '❀️'},\n {\n mm: Elul,\n dd: 1,\n desc: ROSH_HASHANA_LABEHEMOT,\n flags: MINOR_HOLIDAY,\n emoji: 'πŸ‘',\n },\n {\n mm: Elul,\n dd: 29,\n desc: EREV_ROSH_HASHANA,\n flags: EREV | LIGHT_CANDLES,\n emoji: '🍏🍯',\n },\n] as const;\n\nexport interface ModernHoliday {\n firstYear: number;\n mm: number; // This should be an enum `Month` eventually\n dd: number;\n desc: string;\n chul?: boolean;\n suppressEmoji?: boolean;\n satPostponeToSun?: boolean;\n friPostponeToSun?: boolean;\n friSatMovetoThu?: boolean;\n}\n\nexport const staticModernHolidays: ModernHoliday[] = [\n {firstYear: 5727, mm: Iyyar, dd: 28, desc: YOM_YERUSHALAYIM, chul: true},\n {\n firstYear: 5737,\n mm: Kislev,\n dd: 6,\n desc: BEN_GURION_DAY,\n satPostponeToSun: true,\n friPostponeToSun: true,\n },\n {firstYear: 5750, mm: Shvat, dd: 30, desc: FAMILY_DAY},\n {\n firstYear: 5758,\n mm: Cheshvan,\n dd: 12,\n desc: YITZHAK_RABIN_MEMORIAL_DAY,\n friSatMovetoThu: true,\n },\n {firstYear: 5764, mm: Iyyar, dd: 10, desc: HERZL_DAY, satPostponeToSun: true},\n {\n firstYear: 5765,\n mm: Tamuz,\n dd: 29,\n desc: JABOTINSKY_DAY,\n satPostponeToSun: true,\n },\n {\n firstYear: 5769,\n mm: Cheshvan,\n dd: 29,\n desc: SIGD,\n chul: true,\n suppressEmoji: true,\n friSatMovetoThu: true,\n },\n {firstYear: 5777, mm: Nisan, dd: 10, desc: YOM_HAALIYAH, chul: true},\n {firstYear: 5777, mm: Cheshvan, dd: 7, desc: YOM_HAALIYAH_SCHOOL_OBSERVANCE},\n // https://www.gov.il/he/departments/policies/2012_des5234\n {\n firstYear: 5773,\n mm: months.TEVET,\n dd: 21,\n desc: HEBREW_LANGUAGE_DAY,\n friSatMovetoThu: true,\n },\n] as const;\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v6.8.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v6.9.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
2
  function smartApostrophe(str) {
3
3
  return str.replaceAll("'", '’');
4
4
  }
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v6.8.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v6.9.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
2
  import { HDate, months } from '@hebcal/hdate';
3
3
  import { dateYomHaZikaron } from './modern.js';
4
4