@hebcal/core 5.10.0 → 6.0.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 (86) hide show
  1. package/README.md +2 -2
  2. package/dist/HolidayEvent.d.ts +5 -6
  3. package/dist/ParshaEvent.d.ts +3 -9
  4. package/dist/bundle.js +4418 -6368
  5. package/dist/bundle.js.map +1 -1
  6. package/dist/bundle.min.js +20 -20
  7. package/dist/bundle.min.js.map +1 -1
  8. package/dist/candles.d.ts +2 -2
  9. package/dist/esm/DailyLearning.js +1 -1
  10. package/dist/esm/DailyLearning.js.map +1 -1
  11. package/dist/esm/HebrewDateEvent.js +3 -3
  12. package/dist/esm/HebrewDateEvent.js.map +1 -1
  13. package/dist/esm/HolidayEvent.d.ts +5 -6
  14. package/dist/esm/HolidayEvent.js +30 -15
  15. package/dist/esm/HolidayEvent.js.map +1 -1
  16. package/dist/esm/MevarchimChodeshEvent.js +1 -1
  17. package/dist/esm/MevarchimChodeshEvent.js.map +1 -1
  18. package/dist/esm/ParshaEvent.d.ts +3 -9
  19. package/dist/esm/ParshaEvent.js +10 -19
  20. package/dist/esm/ParshaEvent.js.map +1 -1
  21. package/dist/esm/TimedEvent.js +1 -1
  22. package/dist/esm/TimedEvent.js.map +1 -1
  23. package/dist/esm/YomKippurKatanEvent.js +1 -1
  24. package/dist/esm/YomKippurKatanEvent.js.map +1 -1
  25. package/dist/esm/ashkenazi.po.js +1 -1
  26. package/dist/esm/calendar.js +23 -14
  27. package/dist/esm/calendar.js.map +1 -1
  28. package/dist/esm/candles.d.ts +2 -2
  29. package/dist/esm/candles.js +7 -8
  30. package/dist/esm/candles.js.map +1 -1
  31. package/dist/esm/event.d.ts +4 -5
  32. package/dist/esm/event.js +7 -11
  33. package/dist/esm/event.js.map +1 -1
  34. package/dist/esm/getStartAndEnd.js +1 -1
  35. package/dist/esm/getStartAndEnd.js.map +1 -1
  36. package/dist/esm/hallel.js +1 -1
  37. package/dist/esm/hallel.js.map +1 -1
  38. package/dist/esm/he-x-NoNikud.po.d.ts +1 -0
  39. package/dist/esm/he-x-NoNikud.po.js +2 -2
  40. package/dist/esm/he-x-NoNikud.po.js.map +1 -1
  41. package/dist/esm/he.po.js +2 -2
  42. package/dist/esm/he.po.js.map +1 -1
  43. package/dist/esm/hebcal.js +1 -1
  44. package/dist/esm/hebcal.js.map +1 -1
  45. package/dist/esm/holidays.js +6 -34
  46. package/dist/esm/holidays.js.map +1 -1
  47. package/dist/esm/index.d.ts +1 -1
  48. package/dist/esm/index.js +1 -1
  49. package/dist/esm/isAssurBemlacha.js +1 -1
  50. package/dist/esm/isAssurBemlacha.js.map +1 -1
  51. package/dist/esm/locale.js +2 -12
  52. package/dist/esm/locale.js.map +1 -1
  53. package/dist/esm/location.js +1 -1
  54. package/dist/esm/location.js.map +1 -1
  55. package/dist/esm/modern.js +1 -1
  56. package/dist/esm/modern.js.map +1 -1
  57. package/dist/esm/molad.js +2 -2
  58. package/dist/esm/molad.js.map +1 -1
  59. package/dist/esm/omer.js +4 -4
  60. package/dist/esm/omer.js.map +1 -1
  61. package/dist/esm/parshaName.js +2 -2
  62. package/dist/esm/parshaName.js.map +1 -1
  63. package/dist/esm/parshaYear.js +2 -2
  64. package/dist/esm/parshaYear.js.map +1 -1
  65. package/dist/esm/pkgVersion.d.ts +1 -1
  66. package/dist/esm/pkgVersion.js +2 -2
  67. package/dist/esm/pkgVersion.js.map +1 -1
  68. package/dist/esm/reformatTimeStr.js +1 -1
  69. package/dist/esm/reformatTimeStr.js.map +1 -1
  70. package/dist/esm/sedra.d.ts +2 -20
  71. package/dist/esm/sedra.js +10 -31
  72. package/dist/esm/sedra.js.map +1 -1
  73. package/dist/esm/staticHolidays.js +2 -9
  74. package/dist/esm/staticHolidays.js.map +1 -1
  75. package/dist/esm/tachanun.js +1 -1
  76. package/dist/esm/tachanun.js.map +1 -1
  77. package/dist/esm/zmanim.js +1 -1
  78. package/dist/esm/zmanim.js.map +1 -1
  79. package/dist/event.d.ts +4 -5
  80. package/dist/he-x-NoNikud.po.d.ts +1 -0
  81. package/dist/index.d.ts +1 -1
  82. package/dist/pkgVersion.d.ts +1 -1
  83. package/dist/sedra.d.ts +2 -20
  84. package/package.json +16 -26
  85. package/dist/index.cjs +0 -8378
  86. package/dist/index.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.js","sources":["../../../src/calendar.ts"],"sourcesContent":["import {Locale} from './locale';\nimport {abs2greg, HDate, months} from '@hebcal/hdate';\nimport {CalOptions, DailyLearningValue} from './CalOptions';\nimport {\n makeCandleEvent,\n makeFastStartEnd,\n makeWeekdayChanukahCandleLighting,\n} from './candles';\nimport {Event, flags} from './event';\nimport {getStartAndEnd} from './getStartAndEnd';\nimport {HebrewDateEvent} from './HebrewDateEvent';\nimport {HolidayYearMap, getHolidaysForYear_} from './holidays';\nimport {ParshaEvent} from './ParshaEvent';\nimport {Sedra, getSedra} from './sedra';\nimport {TimedEvent, HavdalahEvent} from './TimedEvent';\nimport {DailyLearning} from './DailyLearning';\nimport {HolidayEvent} from './HolidayEvent';\nimport {MevarchimChodeshEvent} from './MevarchimChodeshEvent';\nimport {MoladEvent, Molad} from './molad';\nimport {OmerEvent} from './omer';\nimport {Zmanim} from './zmanim';\nimport {Location} from './location';\n\n/**\n * Calculates holidays and other Hebrew calendar events based on {@link CalOptions}.\n *\n * Each holiday is represented by an {@link Event} object which includes a date,\n * a description, flags and optional attributes.\n * If given no options, returns holidays for the Diaspora for the current Gregorian year.\n *\n * The date range returned by this function can be controlled by:\n * * `options.year` - Gregorian (e.g. 1993) or Hebrew year (e.g. 5749)\n * * `options.isHebrewYear` - to interpret `year` as Hebrew year\n * * `options.numYears` - generate calendar for multiple years (default 1)\n * * `options.month` - Gregorian or Hebrew month (to filter results to a single month)\n *\n * Alternatively, specify start and end days with `Date` or {@link HDate} instances:\n * * `options.start` - use specific start date (requires `end` date)\n * * `options.end` - use specific end date (requires `start` date)\n *\n * Unless `options.noHolidays == true`, default holidays include:\n * * Major holidays - Rosh Hashana, Yom Kippur, Pesach, Sukkot, etc.\n * * Minor holidays - Purim, Chanukah, Tu BiShvat, Lag BaOmer, etc.\n * * Minor fasts - Ta'anit Esther, Tzom Gedaliah, etc. (unless `options.noMinorFast`)\n * * Special Shabbatot - Shabbat Shekalim, Zachor, etc. (unless `options.noSpecialShabbat`)\n * * Modern Holidays - Yom HaShoah, Yom HaAtzma'ut, etc. (unless `options.noModern`)\n * * Rosh Chodesh (unless `options.noRoshChodesh`)\n *\n * Holiday and Torah reading schedules differ between Israel and the Disapora.\n * Set `options.il=true` to use the Israeli schedule.\n *\n * Additional non-default event types can be specified:\n * * Parashat HaShavua - weekly Torah Reading on Saturdays (`options.sedrot`)\n * * Counting of the Omer (`options.omer`)\n * * Shabbat Mevarchim HaChodesh on Saturday before Rosh Chodesh (`options.shabbatMevarchim`)\n * * Molad announcement on Saturday before Rosh Chodesh (`options.molad`)\n * * Yom Kippur Katan (`options.yomKippurKatan`)\n * * Yizkor (`options.yizkor`)\n *\n * Daily Study of texts are supported by the\n * {@link https://github.com/hebcal/hebcal-learning @hebcal/learning} package,\n * for example:\n * * Babylonian Talmud Daf Yomi (`options.dailyLearning.dafYomi`)\n * * Jerusalem Talmud (Yerushalmi) Yomi (`options.dailyLearning.yerushalmi`)\n * * Mishna Yomi (`options.dailyLearning.mishnaYomi`)\n * * Nach Yomi (`options.dailyLearning.nachYomi`)\n *\n * Candle-lighting and Havdalah times are approximated using latitude and longitude\n * specified by the {@link Location} class. The `Location` class contains a small\n * database of cities with their associated geographic information and time-zone information.\n * If you ever have any doubts about Hebcal's times, consult your local halachic authority.\n * If you enter geographic coordinates above the arctic circle or antarctic circle,\n * the times are guaranteed to be wrong.\n *\n * To add candle-lighting options, set `options.candlelighting=true` and set\n * `options.location` to an instance of `Location`. By default, candle lighting\n * time is 18 minutes before sundown (40 minutes for Jerusalem,\n * 30 minutes for Haifa and Zikhron Ya'akov) and Havdalah is\n * calculated according to Tzeit Hakochavim - Nightfall (the point when 3 small stars\n * are observable in the night time sky with the naked eye). The default Havdalah\n * option (Tzeit Hakochavim) is calculated when the sun is 8.5° below the horizon.\n * These defaults can be changed using these options:\n * * `options.candleLightingMins` - minutes before sundown to light candles\n * * `options.havdalahMins` - minutes after sundown for Havdalah (typical values are 42, 50, or 72).\n * Havdalah times are suppressed when `options.havdalahMins=0`.\n * * `options.havdalahDeg` - degrees for solar depression for Havdalah.\n * Default is 8.5 degrees for 3 small stars. Use 7.083 degrees for 3 medium-sized stars.\n * Havdalah times are suppressed when `options.havdalahDeg=0`.\n *\n * If both `options.candlelighting=true` and `options.location` is specified,\n * Chanukah candle-lighting times and minor fast start/end times will also be generated.\n * Chanukah candle-lighting is at Bein HaShmashos (13.5 minutes before\n * the sun is 7.083° below the horizon in the evening)\n * on weekdays, at regular candle-lighting time on Fridays, and at regular Havdalah time on\n * Saturday night (see above).\n *\n * Minor fasts begin at Alot HaShachar (sun is 16.1° below the horizon in the morning) and\n * end when 3 medium-sized stars are observable in the night sky (sun is 7.083° below the horizon\n * in the evening).\n *\n * Two options also exist for generating an Event with the Hebrew date:\n * * `options.addHebrewDates` - print the Hebrew date for the entire date range\n * * `options.addHebrewDatesForEvents` - print the Hebrew date for dates with some events\n *\n * Lastly, translation and transliteration of event titles is controlled by\n * `options.locale` and the {@link Locale} API.\n * `@hebcal/core` supports three locales by default:\n * * `en` - default, Sephardic transliterations (e.g. \"Shabbat\")\n * * `ashkenazi` - Ashkenazi transliterations (e.g. \"Shabbos\")\n * * `he` - Hebrew (e.g. \"שַׁבָּת\")\n *\n * Additional locales (such as `ru` or `fr`) are supported by the\n * {@link https://github.com/hebcal/hebcal-locales @hebcal/locales} package\n *\n * @example\n * import {HebrewCalendar, HDate, Location, Event} from '@hebcal/core';\n * const options: CalOptions = {\n * year: 1981,\n * isHebrewYear: false,\n * candlelighting: true,\n * location: Location.lookup('San Francisco'),\n * sedrot: true,\n * omer: true,\n * };\n * const events = HebrewCalendar.calendar(options);\n * for (const ev of events) {\n * const hd = ev.getDate();\n * const date = hd.greg();\n * console.log(date.toLocaleDateString(), ev.render('en'), hd.toString());\n * }\n */\nexport function calendar(options: CalOptions = {}): Event[] {\n options = {...options}; // so we can modify freely\n checkCandleOptions(options);\n const location = (options.location = options.location || defaultLocation);\n const il = (options.il = options.il || location.getIsrael() || false);\n const hasUserMask = typeof options.mask === 'number';\n options.mask = getMaskFromOptions(options);\n if (options.ashkenazi || options.locale) {\n if (options.locale && typeof options.locale !== 'string') {\n throw new TypeError(`Invalid options.locale: ${options.locale}`);\n }\n const locale = options.ashkenazi ? 'ashkenazi' : (options.locale as string);\n const translationObj = Locale.useLocale(locale);\n if (!translationObj) {\n throw new TypeError(\n `Locale '${locale}' not found; did you forget to import @hebcal/locales?`\n );\n }\n } else {\n Locale.useLocale('en');\n }\n\n const evts: Event[] = [];\n let sedra: Sedra | undefined;\n let holidaysYear: HolidayYearMap | undefined;\n let beginOmer = -1;\n let endOmer = -1;\n let currentYear = -1;\n const startAndEnd = getStartAndEnd(options);\n warnUnrecognizedOptions(options);\n const startAbs = startAndEnd[0];\n const endAbs = startAndEnd[1];\n const startGreg = abs2greg(startAbs);\n if (startGreg.getFullYear() < 100) {\n options.candlelighting = false;\n }\n for (let abs = startAbs; abs <= endAbs; abs++) {\n const hd = new HDate(abs);\n const hyear = hd.getFullYear();\n if (hyear !== currentYear) {\n currentYear = hyear;\n holidaysYear = getHolidaysForYear_(currentYear);\n if (options.sedrot) {\n sedra = getSedra(currentYear, il);\n }\n if (options.omer) {\n beginOmer = HDate.hebrew2abs(currentYear, NISAN, 16);\n endOmer = HDate.hebrew2abs(currentYear, SIVAN, 5);\n }\n }\n const prevEventsLength = evts.length;\n const dow = hd.getDay();\n const isFriday = dow === FRI;\n const isSaturday = dow === SAT;\n let candlesEv: TimedEvent | undefined;\n const holidays = holidaysYear!.get(hd.toString()) || [];\n for (const ev of holidays) {\n candlesEv = appendHolidayAndRelated(\n candlesEv,\n evts,\n ev,\n options,\n isFriday,\n isSaturday,\n hasUserMask\n );\n }\n if (options.sedrot && isSaturday) {\n const parsha0 = sedra!.lookup(abs);\n if (!parsha0.chag) {\n evts.push(new ParshaEvent(hd, parsha0.parsha, il, parsha0.num));\n }\n }\n if (options.yizkor) {\n const mm = hd.getMonth();\n const dd = hd.getDate();\n if (\n (mm === months.TISHREI && (dd === 10 || dd === 22)) ||\n (mm === NISAN && dd === (il ? 21 : 22)) ||\n (mm === SIVAN && dd === (il ? 6 : 7))\n ) {\n const linkedEvent = holidays.filter(ev => ev.observedIn(il))[0];\n const ev = new Event(hd, 'Yizkor', flags.YIZKOR, {\n emoji: '🕯️',\n linkedEvent,\n });\n evts.push(ev);\n }\n }\n const dailyLearning = options.dailyLearning;\n let numDailyLearning = 0;\n if (typeof dailyLearning === 'object') {\n const events = makeDailyLearning(hd, dailyLearning, il);\n numDailyLearning = events.length;\n if (numDailyLearning) {\n evts.push(...events);\n }\n }\n if (options.omer && abs >= beginOmer && abs <= endOmer) {\n const omer = abs - beginOmer + 1;\n const omerEv = makeOmerEvent(hd, omer, options);\n evts.push(omerEv);\n }\n if (isSaturday && (options.molad || options.shabbatMevarchim)) {\n const events = makeMoladAndMevarchimChodesh(hd, options);\n evts.push(...events);\n }\n if (!candlesEv && options.candlelighting && (isFriday || isSaturday)) {\n candlesEv = makeCandleEvent(undefined, hd, options, isFriday, isSaturday);\n if (isFriday && candlesEv && sedra) {\n const parsha = sedra.lookup(abs);\n const pe = new ParshaEvent(hd.next(), parsha.parsha, il, parsha.num);\n candlesEv.memo = pe.render(options.locale);\n }\n }\n // suppress Havdalah when options.havdalahMins=0 or options.havdalahDeg=0\n if (\n candlesEv instanceof HavdalahEvent &&\n (options.havdalahMins === 0 || options.havdalahDeg === 0)\n ) {\n candlesEv = undefined;\n }\n if (candlesEv) {\n evts.push(candlesEv);\n }\n if (\n options.addHebrewDates ||\n (options.addHebrewDatesForEvents &&\n prevEventsLength !== evts.length - numDailyLearning)\n ) {\n const e2 = new HebrewDateEvent(hd);\n if (prevEventsLength === evts.length) {\n evts.push(e2);\n } else {\n evts.splice(prevEventsLength, 0, e2);\n }\n }\n }\n return evts;\n}\n\nconst FRI = 5;\nconst SAT = 6;\n\nconst NISAN = months.NISAN;\nconst SIVAN = months.SIVAN;\nconst ELUL = months.ELUL;\n\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 CHANUKAH_CANDLES = flags.CHANUKAH_CANDLES;\nconst MINOR_FAST = flags.MINOR_FAST;\nconst SPECIAL_SHABBAT = flags.SPECIAL_SHABBAT;\nconst MODERN_HOLIDAY = flags.MODERN_HOLIDAY;\nconst MAJOR_FAST = flags.MAJOR_FAST;\nconst ROSH_CHODESH = flags.ROSH_CHODESH;\nconst PARSHA_HASHAVUA = flags.PARSHA_HASHAVUA;\nconst DAF_YOMI = flags.DAF_YOMI;\nconst MISHNA_YOMI = flags.MISHNA_YOMI;\nconst NACH_YOMI = flags.NACH_YOMI;\nconst YERUSHALMI_YOMI = flags.YERUSHALMI_YOMI;\nconst OMER_COUNT = flags.OMER_COUNT;\nconst SHABBAT_MEVARCHIM = flags.SHABBAT_MEVARCHIM;\nconst MINOR_HOLIDAY = flags.MINOR_HOLIDAY;\nconst EREV = flags.EREV;\nconst CHOL_HAMOED = flags.CHOL_HAMOED;\nconst YOM_KIPPUR_KATAN = flags.YOM_KIPPUR_KATAN;\nconst YIZKOR = flags.YIZKOR;\n\ntype StringIntMap = Record<string, number>;\n\nconst unrecognizedAlreadyWarned = new Set<string>();\nconst RECOGNIZED_OPTIONS: StringIntMap = {\n location: 1,\n year: 1,\n isHebrewYear: 1,\n month: 1,\n numYears: 1,\n start: 1,\n end: 1,\n candlelighting: 1,\n candleLightingMins: 1,\n havdalahMins: 1,\n havdalahDeg: 1,\n fastEndDeg: 1,\n sedrot: 1,\n il: 1,\n noMinorFast: 1,\n noModern: 1,\n shabbatMevarchim: 1,\n noRoshChodesh: 1,\n noSpecialShabbat: 1,\n noHolidays: 1,\n omer: 1,\n molad: 1,\n ashkenazi: 1,\n locale: 1,\n addHebrewDates: 1,\n addHebrewDatesForEvents: 1,\n mask: 1,\n yomKippurKatan: 1,\n hour12: 1,\n dailyLearning: 1,\n useElevation: 1,\n yizkor: 1,\n} as const satisfies Record<keyof CalOptions, 1>;\n\n/**\n * @private\n */\nfunction warnUnrecognizedOptions(options: CalOptions) {\n for (const k of Object.keys(options)) {\n if (\n typeof RECOGNIZED_OPTIONS[k] === 'undefined' &&\n !unrecognizedAlreadyWarned.has(k)\n ) {\n console.warn(`Ignoring unrecognized HebrewCalendar option: ${k}`);\n unrecognizedAlreadyWarned.add(k);\n }\n }\n if (options.dailyLearning) {\n for (const k of Object.keys(options.dailyLearning)) {\n if (!unrecognizedAlreadyWarned.has(k) && !DailyLearning.has(k)) {\n console.warn(`Ignoring unrecognized DailyLearning calendar: ${k}`);\n unrecognizedAlreadyWarned.add(k);\n }\n }\n }\n}\n\nconst israelCityOffset: StringIntMap = {\n Jerusalem: 40,\n Haifa: 30,\n \"Zikhron Ya'aqov\": 30,\n \"Zikhron Ya'akov\": 30,\n 'Zikhron Yaakov': 30,\n \"Zichron Ya'akov\": 30,\n 'Zichron Yaakov': 30,\n} as const;\n\nconst geoIdCandleOffset: StringIntMap = {\n '281184': 40, // Jerusalem\n '294801': 30, // Haifa\n '293067': 30, // Zikhron Yaakov\n} as const;\n\n/**\n * @private\n * @constant\n * This calculation is based on the position of the sun 36 minutes after sunset in Jerusalem\n * around the equinox / equilux, which is 8.5° below geometric zenith.\n * The Ohr Meir considers this the time that 3 small stars are visible,\n * which is later than the required 3 medium stars.\n * @see {https://kosherjava.com/zmanim/docs/api/com/kosherjava/zmanim/ZmanimCalendar.html#ZENITH_8_POINT_5}\n */\nconst TZEIT_3SMALL_STARS = 8.5;\n\n/**\n * @private\n * @constant\n * This calculation is based on observation of 3 medium sized stars by Dr. Baruch Cohen\n * in his calendar published in in 1899 in Strasbourg, France.\n * This calculates to 7.0833333° below geometric zenith.\n * @see {https://kosherjava.com/zmanim/docs/api/com/kosherjava/zmanim/ComplexZmanimCalendar.html#ZENITH_7_POINT_083}\n */\nconst TZEIT_3MEDIUM_STARS = 7.0833333;\n\n/**\n * Modifies options in-place\n * @private\n */\nfunction checkCandleOptions(options: CalOptions) {\n if (!options.candlelighting) {\n return;\n }\n const location = options.location;\n if (typeof location === 'undefined' || !(location instanceof Location)) {\n throw new TypeError(\n 'options.candlelighting requires valid options.location'\n );\n }\n if (\n typeof options.havdalahMins === 'number' &&\n typeof options.havdalahDeg === 'number'\n ) {\n throw new TypeError(\n 'options.havdalahMins and options.havdalahDeg are mutually exclusive'\n );\n }\n\n const min0 = options.candleLightingMins;\n let min = typeof min0 === 'number' && !isNaN(min0) ? Math.trunc(min0) : 18;\n if (location.getIsrael() && Math.abs(min) === 18) {\n min = overrideIsraelCandleMins(location, min);\n }\n options.candleLightingMins = -1 * Math.abs(min);\n\n if (typeof options.havdalahMins === 'number') {\n options.havdalahMins = Math.trunc(Math.abs(options.havdalahMins));\n } else if (typeof options.havdalahDeg === 'number') {\n options.havdalahDeg = Math.abs(options.havdalahDeg);\n } else {\n options.havdalahDeg = TZEIT_3SMALL_STARS;\n }\n if (typeof options.fastEndDeg !== 'number') {\n options.fastEndDeg = TZEIT_3MEDIUM_STARS;\n }\n}\n\nfunction overrideIsraelCandleMins(location: Location, min: number) {\n const geoid = location.getGeoId();\n if (geoid) {\n const offset = geoIdCandleOffset[geoid];\n if (typeof offset === 'number') {\n return offset;\n }\n }\n const shortName = location.getShortName();\n if (shortName) {\n const offset = israelCityOffset[shortName];\n if (typeof offset === 'number') {\n return offset;\n }\n }\n return min;\n}\n\n/**\n * Mask to filter Holiday array\n * @private\n */\nfunction getMaskFromOptions(options: CalOptions): number {\n if (typeof options.mask === 'number') {\n return setOptionsFromMask(options);\n }\n const il = options.il || options.location?.getIsrael() || false;\n let mask = 0;\n\n // default options\n if (!options.noHolidays) {\n mask |=\n ROSH_CHODESH |\n YOM_TOV_ENDS |\n MINOR_FAST |\n SPECIAL_SHABBAT |\n MODERN_HOLIDAY |\n MAJOR_FAST |\n MINOR_HOLIDAY |\n EREV |\n CHOL_HAMOED |\n LIGHT_CANDLES |\n LIGHT_CANDLES_TZEIS |\n CHANUKAH_CANDLES;\n }\n if (options.candlelighting) {\n mask |= LIGHT_CANDLES | LIGHT_CANDLES_TZEIS | YOM_TOV_ENDS;\n }\n // suppression of defaults\n if (options.noRoshChodesh) {\n mask &= ~ROSH_CHODESH;\n }\n if (options.noModern) {\n mask &= ~MODERN_HOLIDAY;\n }\n if (options.noMinorFast) {\n mask &= ~MINOR_FAST;\n }\n if (options.noSpecialShabbat) {\n mask &= ~SPECIAL_SHABBAT;\n mask &= ~SHABBAT_MEVARCHIM;\n }\n if (il) {\n mask |= IL_ONLY;\n } else {\n mask |= CHUL_ONLY;\n }\n // non-default options\n if (options.sedrot) {\n mask |= PARSHA_HASHAVUA;\n }\n if (options.omer) {\n mask |= OMER_COUNT;\n }\n if (options.shabbatMevarchim) {\n mask |= SHABBAT_MEVARCHIM;\n }\n if (options.yomKippurKatan) {\n mask |= YOM_KIPPUR_KATAN;\n }\n if (options.yizkor) {\n mask |= YIZKOR;\n }\n if (options.dailyLearning) {\n const dailyLearning = options.dailyLearning;\n if (dailyLearning.dafYomi) {\n mask |= DAF_YOMI;\n }\n if (dailyLearning.mishnaYomi) {\n mask |= MISHNA_YOMI;\n }\n if (dailyLearning.nachYomi) {\n mask |= NACH_YOMI;\n }\n if (dailyLearning.yerushalmi) {\n mask |= YERUSHALMI_YOMI;\n }\n }\n\n return mask;\n}\n\nconst MASK_LIGHT_CANDLES =\n LIGHT_CANDLES | LIGHT_CANDLES_TZEIS | CHANUKAH_CANDLES | YOM_TOV_ENDS;\n\nconst defaultLocation = new Location(0, 0, false, 'UTC');\n\n/**\n * @private\n */\nfunction setOptionsFromMask(options: CalOptions): number {\n const m = options.mask || 0;\n if (m & ROSH_CHODESH) delete options.noRoshChodesh;\n if (m & MODERN_HOLIDAY) delete options.noModern;\n if (m & MINOR_FAST) delete options.noMinorFast;\n if (m & SPECIAL_SHABBAT) delete options.noSpecialShabbat;\n if (m & PARSHA_HASHAVUA) options.sedrot = true;\n if (m & (DAF_YOMI | MISHNA_YOMI | NACH_YOMI | YERUSHALMI_YOMI)) {\n options.dailyLearning = options.dailyLearning || {};\n if (m & DAF_YOMI) {\n options.dailyLearning.dafYomi = true;\n }\n if (m & MISHNA_YOMI) {\n options.dailyLearning.mishnaYomi = true;\n }\n if (m & NACH_YOMI) {\n options.dailyLearning.nachYomi = true;\n }\n if (m & YERUSHALMI_YOMI) {\n options.dailyLearning.yerushalmi = 1;\n }\n }\n if (m & OMER_COUNT) options.omer = true;\n if (m & SHABBAT_MEVARCHIM) options.shabbatMevarchim = true;\n if (m & YOM_KIPPUR_KATAN) options.yomKippurKatan = true;\n if (m & YIZKOR) options.yizkor = true;\n return m;\n}\n\n/**\n * Appends the Event `ev` to the `events` array. Also may add related\n * timed events like candle-lighting or fast start/end\n * @private\n */\nfunction appendHolidayAndRelated(\n candlesEv: TimedEvent | undefined,\n events: Event[],\n ev: HolidayEvent,\n options: CalOptions,\n isFriday: boolean,\n isSaturday: boolean,\n hasUserMask: boolean\n): TimedEvent | undefined {\n const il = options.il || false;\n if (!ev.observedIn(il)) {\n return candlesEv; // holiday isn't observed here; bail out early\n }\n const eFlags = ev.getFlags();\n if (\n (!options.yomKippurKatan && eFlags & YOM_KIPPUR_KATAN) ||\n (options.noModern && eFlags & MODERN_HOLIDAY)\n ) {\n return candlesEv; // bail out early\n }\n const isMajorFast = Boolean(eFlags & MAJOR_FAST);\n const isMinorFast = Boolean(eFlags & MINOR_FAST);\n let fastEv;\n if (\n options.candlelighting &&\n (isMajorFast || isMinorFast) &&\n ev.getDesc() !== 'Yom Kippur'\n ) {\n ev = fastEv = makeFastStartEnd(ev, options);\n if (\n fastEv.startEvent &&\n (isMajorFast || (isMinorFast && !options.noMinorFast))\n ) {\n events.push(fastEv.startEvent);\n }\n }\n if (eFlags & Number(options.mask) || (!eFlags && !hasUserMask)) {\n if (options.candlelighting && eFlags & MASK_LIGHT_CANDLES) {\n const hd = ev.getDate();\n candlesEv = makeCandleEvent(ev, hd, options, isFriday, isSaturday);\n if (eFlags & CHANUKAH_CANDLES && candlesEv && !options.noHolidays) {\n // Replace Chanukah event with a clone that includes candle lighting time.\n // For clarity, allow a \"duplicate\" candle lighting event to remain for Shabbat\n const chanukahEv = makeWeekdayChanukahCandleLighting(ev, hd, options);\n if (chanukahEv) {\n if (isFriday || isSaturday) {\n chanukahEv.eventTime = candlesEv.eventTime;\n chanukahEv.eventTimeStr = candlesEv.eventTimeStr;\n }\n ev = chanukahEv;\n }\n candlesEv = undefined;\n }\n }\n if (\n !options.noHolidays ||\n (options.yomKippurKatan && eFlags & YOM_KIPPUR_KATAN)\n ) {\n events.push(ev); // the original event itself\n }\n }\n if (\n (isMajorFast || (isMinorFast && !options.noMinorFast)) &&\n fastEv &&\n fastEv.endEvent\n ) {\n events.push(fastEv.endEvent);\n }\n return candlesEv;\n}\n\nfunction makeMoladAndMevarchimChodesh(hd: HDate, options: CalOptions): Event[] {\n const evts: Event[] = [];\n const hmonth = hd.getMonth();\n const hdate = hd.getDate();\n if (hmonth !== ELUL && hdate >= 23 && hdate <= 29) {\n const hyear = hd.getFullYear();\n const monNext = hmonth === HDate.monthsInYear(hyear) ? NISAN : hmonth + 1;\n if (options.molad) {\n evts.push(new MoladEvent(hd, hyear, monNext, options));\n }\n if (options.shabbatMevarchim) {\n const nextMonthName = HDate.getMonthName(monNext, hyear);\n const molad = new Molad(hyear, monNext);\n const memo = molad.render(options.locale || 'en', options);\n evts.push(\n new MevarchimChodeshEvent(hd, nextMonthName, memo, options.locale)\n );\n }\n }\n return evts;\n}\n\nfunction dailyLearningName(key: string, val: DailyLearningValue): string {\n if (key === 'yerushalmi') {\n return val === 2 ? 'yerushalmi-schottenstein' : 'yerushalmi-vilna';\n }\n return key;\n}\n\nfunction makeDailyLearning(\n hd: HDate,\n dailyLearning: Record<string, DailyLearningValue>,\n il: boolean\n): Event[] {\n const evts: Event[] = [];\n for (const [key, val] of Object.entries(dailyLearning)) {\n if (val) {\n const name = dailyLearningName(key, val);\n const learningEv = DailyLearning.lookup(name, hd, il);\n if (learningEv) {\n evts.push(learningEv);\n }\n }\n }\n return evts;\n}\n\nfunction makeOmerEvent(hd: HDate, omerDay: number, options: CalOptions) {\n const omerEv = new OmerEvent(hd, omerDay);\n if (options.candlelighting) {\n const location = options.location!;\n const zmanim = new Zmanim(location, hd.prev(), false);\n const tzeit = zmanim.tzeit(7.0833);\n if (!isNaN(tzeit.getTime())) {\n omerEv.alarm = tzeit;\n }\n }\n return omerEv;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calendar.js","sources":["../../../src/calendar.ts"],"sourcesContent":["import {Locale} from './locale';\nimport {abs2greg, HDate, months} from '@hebcal/hdate';\nimport {CalOptions, DailyLearningValue} from './CalOptions';\nimport {\n makeCandleEvent,\n makeFastStartEnd,\n makeWeekdayChanukahCandleLighting,\n} from './candles';\nimport {Event, flags} from './event';\nimport {getStartAndEnd} from './getStartAndEnd';\nimport {HebrewDateEvent} from './HebrewDateEvent';\nimport {HolidayYearMap, getHolidaysForYear_} from './holidays';\nimport {ParshaEvent} from './ParshaEvent';\nimport {Sedra, getSedra} from './sedra';\nimport {TimedEvent, HavdalahEvent} from './TimedEvent';\nimport {DailyLearning} from './DailyLearning';\nimport {ChanukahEvent, HolidayEvent} from './HolidayEvent';\nimport {MevarchimChodeshEvent} from './MevarchimChodeshEvent';\nimport {MoladEvent, Molad} from './molad';\nimport {OmerEvent} from './omer';\nimport {Zmanim} from './zmanim';\nimport {Location} from './location';\n\n/**\n * Calculates holidays and other Hebrew calendar events based on {@link CalOptions}.\n *\n * Each holiday is represented by an {@link Event} object which includes a date,\n * a description, flags and optional attributes.\n * If given no options, returns holidays for the Diaspora for the current Gregorian year.\n *\n * The date range returned by this function can be controlled by:\n * * `options.year` - Gregorian (e.g. 1993) or Hebrew year (e.g. 5749)\n * * `options.isHebrewYear` - to interpret `year` as Hebrew year\n * * `options.numYears` - generate calendar for multiple years (default 1)\n * * `options.month` - Gregorian or Hebrew month (to filter results to a single month)\n *\n * Alternatively, specify start and end days with `Date` or {@link HDate} instances:\n * * `options.start` - use specific start date (requires `end` date)\n * * `options.end` - use specific end date (requires `start` date)\n *\n * Unless `options.noHolidays == true`, default holidays include:\n * * Major holidays - Rosh Hashana, Yom Kippur, Pesach, Sukkot, etc.\n * * Minor holidays - Purim, Chanukah, Tu BiShvat, Lag BaOmer, etc.\n * * Minor fasts - Ta'anit Esther, Tzom Gedaliah, etc. (unless `options.noMinorFast`)\n * * Special Shabbatot - Shabbat Shekalim, Zachor, etc. (unless `options.noSpecialShabbat`)\n * * Modern Holidays - Yom HaShoah, Yom HaAtzma'ut, etc. (unless `options.noModern`)\n * * Rosh Chodesh (unless `options.noRoshChodesh`)\n *\n * Holiday and Torah reading schedules differ between Israel and the Disapora.\n * Set `options.il=true` to use the Israeli schedule.\n *\n * Additional non-default event types can be specified:\n * * Parashat HaShavua - weekly Torah Reading on Saturdays (`options.sedrot`)\n * * Counting of the Omer (`options.omer`)\n * * Shabbat Mevarchim HaChodesh on Saturday before Rosh Chodesh (`options.shabbatMevarchim`)\n * * Molad announcement on Saturday before Rosh Chodesh (`options.molad`)\n * * Yom Kippur Katan (`options.yomKippurKatan`)\n * * Yizkor (`options.yizkor`)\n *\n * Daily Study of texts are supported by the\n * {@link https://github.com/hebcal/hebcal-learning @hebcal/learning} package,\n * for example:\n * * Babylonian Talmud Daf Yomi (`options.dailyLearning.dafYomi`)\n * * Jerusalem Talmud (Yerushalmi) Yomi (`options.dailyLearning.yerushalmi`)\n * * Mishna Yomi (`options.dailyLearning.mishnaYomi`)\n * * Nach Yomi (`options.dailyLearning.nachYomi`)\n *\n * Candle-lighting and Havdalah times are approximated using latitude and longitude\n * specified by the {@link Location} class. The `Location` class contains a small\n * database of cities with their associated geographic information and time-zone information.\n * If you ever have any doubts about Hebcal's times, consult your local halachic authority.\n * If you enter geographic coordinates above the arctic circle or antarctic circle,\n * the times are guaranteed to be wrong.\n *\n * To add candle-lighting options, set `options.candlelighting=true` and set\n * `options.location` to an instance of `Location`. By default, candle lighting\n * time is 18 minutes before sundown (40 minutes for Jerusalem,\n * 30 minutes for Haifa and Zikhron Ya'akov) and Havdalah is\n * calculated according to Tzeit Hakochavim - Nightfall (the point when 3 small stars\n * are observable in the night time sky with the naked eye). The default Havdalah\n * option (Tzeit Hakochavim) is calculated when the sun is 8.5° below the horizon.\n * These defaults can be changed using these options:\n * * `options.candleLightingMins` - minutes before sundown to light candles\n * * `options.havdalahMins` - minutes after sundown for Havdalah (typical values are 42, 50, or 72).\n * Havdalah times are suppressed when `options.havdalahMins=0`.\n * * `options.havdalahDeg` - degrees for solar depression for Havdalah.\n * Default is 8.5 degrees for 3 small stars. Use 7.083 degrees for 3 medium-sized stars.\n * Havdalah times are suppressed when `options.havdalahDeg=0`.\n *\n * If both `options.candlelighting=true` and `options.location` is specified,\n * Chanukah candle-lighting times and minor fast start/end times will also be generated.\n * Chanukah candle-lighting is at Bein HaShmashos (13.5 minutes before\n * the sun is 7.083° below the horizon in the evening)\n * on weekdays, at regular candle-lighting time on Fridays, and at regular Havdalah time on\n * Saturday night (see above).\n *\n * Minor fasts begin at Alot HaShachar (sun is 16.1° below the horizon in the morning) and\n * end when 3 medium-sized stars are observable in the night sky (sun is 7.083° below the horizon\n * in the evening).\n *\n * Two options also exist for generating an Event with the Hebrew date:\n * * `options.addHebrewDates` - print the Hebrew date for the entire date range\n * * `options.addHebrewDatesForEvents` - print the Hebrew date for dates with some events\n *\n * Lastly, translation and transliteration of event titles is controlled by\n * `options.locale` and the {@link Locale} API.\n * `@hebcal/core` supports three locales by default:\n * * `en` - default, Sephardic transliterations (e.g. \"Shabbat\")\n * * `ashkenazi` - Ashkenazi transliterations (e.g. \"Shabbos\")\n * * `he` - Hebrew (e.g. \"שַׁבָּת\")\n *\n * Additional locales (such as `ru` or `fr`) are supported by the\n * {@link https://github.com/hebcal/hebcal-locales @hebcal/locales} package\n *\n * @example\n * import {HebrewCalendar, HDate, Location, Event} from '@hebcal/core';\n * const options: CalOptions = {\n * year: 1981,\n * isHebrewYear: false,\n * candlelighting: true,\n * location: Location.lookup('San Francisco'),\n * sedrot: true,\n * omer: true,\n * };\n * const events = HebrewCalendar.calendar(options);\n * for (const ev of events) {\n * const hd = ev.getDate();\n * const date = hd.greg();\n * console.log(date.toLocaleDateString(), ev.render('en'), hd.toString());\n * }\n */\nexport function calendar(options: CalOptions = {}): Event[] {\n options = {...options}; // so we can modify freely\n checkCandleOptions(options);\n const location = (options.location = options.location || defaultLocation);\n const il = (options.il = options.il || location.getIsrael() || false);\n const hasUserMask = typeof options.mask === 'number';\n options.mask = getMaskFromOptions(options);\n if (options.locale) {\n const locale = options.locale;\n if (locale && typeof locale !== 'string') {\n throw new TypeError(`Invalid options.locale: ${locale}`);\n }\n if (!Locale.hasLocale(locale)) {\n throw new TypeError(\n `Locale '${locale}' not found; did you forget to import @hebcal/locales?`\n );\n }\n } else if (options.ashkenazi) {\n options.locale = 'ashkenazi';\n } else {\n options.locale = 'en';\n }\n\n const evts: Event[] = [];\n let sedra: Sedra | undefined;\n let holidaysYear: HolidayYearMap | undefined;\n let beginOmer = -1;\n let endOmer = -1;\n let currentYear = -1;\n const startAndEnd = getStartAndEnd(options);\n warnUnrecognizedOptions(options);\n const startAbs = startAndEnd[0];\n const endAbs = startAndEnd[1];\n const startGreg = abs2greg(startAbs);\n if (startGreg.getFullYear() < 100) {\n options.candlelighting = false;\n options.sedrot = false;\n }\n for (let abs = startAbs; abs <= endAbs; abs++) {\n const hd = new HDate(abs);\n const hyear = hd.getFullYear();\n if (hyear !== currentYear) {\n currentYear = hyear;\n holidaysYear = getHolidaysForYear_(currentYear);\n if (options.sedrot) {\n sedra = getSedra(currentYear, il);\n }\n if (options.omer) {\n beginOmer = HDate.hebrew2abs(currentYear, NISAN, 16);\n endOmer = HDate.hebrew2abs(currentYear, SIVAN, 5);\n }\n }\n const prevEventsLength = evts.length;\n const dow = hd.getDay();\n const isFriday = dow === FRI;\n const isSaturday = dow === SAT;\n let candlesEv: TimedEvent | undefined;\n const holidays0 = holidaysYear!.get(hd.toString()) || [];\n const holidays = holidays0.filter(ev => ev.observedIn(il));\n for (const ev of holidays) {\n candlesEv = appendHolidayAndRelated(\n candlesEv,\n evts,\n ev,\n options,\n isFriday,\n isSaturday,\n hasUserMask\n );\n }\n if (options.sedrot && isSaturday) {\n const parsha0 = sedra!.lookup(abs);\n if (!parsha0.chag) {\n evts.push(new ParshaEvent(parsha0));\n }\n }\n if (options.yizkor) {\n const mm = hd.getMonth();\n const dd = hd.getDate();\n if (\n (mm === months.TISHREI && (dd === 10 || dd === 22)) ||\n (mm === NISAN && dd === (il ? 21 : 22)) ||\n (mm === SIVAN && dd === (il ? 6 : 7))\n ) {\n const linkedEvent = holidays[0];\n const ev = new Event(hd, 'Yizkor', flags.YIZKOR, {\n emoji: '🕯️',\n linkedEvent,\n });\n evts.push(ev);\n }\n }\n const dailyLearning = options.dailyLearning;\n let numDailyLearning = 0;\n if (typeof dailyLearning === 'object') {\n const events = makeDailyLearning(hd, dailyLearning, il);\n numDailyLearning = events.length;\n if (numDailyLearning) {\n evts.push(...events);\n }\n }\n if (options.omer && abs >= beginOmer && abs <= endOmer) {\n const omer = abs - beginOmer + 1;\n const omerEv = makeOmerEvent(hd, omer, options);\n evts.push(omerEv);\n }\n if (isSaturday && (options.molad || options.shabbatMevarchim)) {\n const events = makeMoladAndMevarchimChodesh(hd, options);\n evts.push(...events);\n }\n if (!candlesEv && options.candlelighting && (isFriday || isSaturday)) {\n candlesEv = makeCandleEvent(undefined, hd, options, isFriday, isSaturday);\n if (isFriday && candlesEv && sedra) {\n const parsha = sedra.lookup(abs);\n if (!parsha.chag) {\n const pe = new ParshaEvent(parsha);\n candlesEv.memo = pe.render(options.locale);\n } else {\n candlesEv.memo = Locale.gettext(parsha.parsha[0], options.locale);\n }\n }\n }\n // suppress Havdalah when options.havdalahMins=0 or options.havdalahDeg=0\n if (\n candlesEv instanceof HavdalahEvent &&\n (options.havdalahMins === 0 || options.havdalahDeg === 0)\n ) {\n candlesEv = undefined;\n }\n if (candlesEv) {\n evts.push(candlesEv);\n }\n if (\n options.addHebrewDates ||\n (options.addHebrewDatesForEvents &&\n prevEventsLength !== evts.length - numDailyLearning)\n ) {\n const e2 = new HebrewDateEvent(hd);\n if (prevEventsLength === evts.length) {\n evts.push(e2);\n } else {\n evts.splice(prevEventsLength, 0, e2);\n }\n }\n }\n return evts;\n}\n\nconst FRI = 5;\nconst SAT = 6;\n\nconst NISAN = months.NISAN;\nconst SIVAN = months.SIVAN;\nconst ELUL = months.ELUL;\n\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 CHANUKAH_CANDLES = flags.CHANUKAH_CANDLES;\nconst MINOR_FAST = flags.MINOR_FAST;\nconst SPECIAL_SHABBAT = flags.SPECIAL_SHABBAT;\nconst MODERN_HOLIDAY = flags.MODERN_HOLIDAY;\nconst MAJOR_FAST = flags.MAJOR_FAST;\nconst ROSH_CHODESH = flags.ROSH_CHODESH;\nconst PARSHA_HASHAVUA = flags.PARSHA_HASHAVUA;\nconst DAF_YOMI = flags.DAF_YOMI;\nconst MISHNA_YOMI = flags.MISHNA_YOMI;\nconst NACH_YOMI = flags.NACH_YOMI;\nconst YERUSHALMI_YOMI = flags.YERUSHALMI_YOMI;\nconst OMER_COUNT = flags.OMER_COUNT;\nconst SHABBAT_MEVARCHIM = flags.SHABBAT_MEVARCHIM;\nconst MINOR_HOLIDAY = flags.MINOR_HOLIDAY;\nconst EREV = flags.EREV;\nconst CHOL_HAMOED = flags.CHOL_HAMOED;\nconst YOM_KIPPUR_KATAN = flags.YOM_KIPPUR_KATAN;\nconst YIZKOR = flags.YIZKOR;\n\ntype StringIntMap = Record<string, number>;\n\nconst unrecognizedAlreadyWarned = new Set<string>();\nconst RECOGNIZED_OPTIONS: StringIntMap = {\n location: 1,\n year: 1,\n isHebrewYear: 1,\n month: 1,\n numYears: 1,\n start: 1,\n end: 1,\n candlelighting: 1,\n candleLightingMins: 1,\n havdalahMins: 1,\n havdalahDeg: 1,\n fastEndDeg: 1,\n sedrot: 1,\n il: 1,\n noMinorFast: 1,\n noModern: 1,\n shabbatMevarchim: 1,\n noRoshChodesh: 1,\n noSpecialShabbat: 1,\n noHolidays: 1,\n omer: 1,\n molad: 1,\n ashkenazi: 1,\n locale: 1,\n addHebrewDates: 1,\n addHebrewDatesForEvents: 1,\n mask: 1,\n yomKippurKatan: 1,\n hour12: 1,\n dailyLearning: 1,\n useElevation: 1,\n yizkor: 1,\n} as const satisfies Record<keyof CalOptions, 1>;\n\n/**\n * @private\n */\nfunction warnUnrecognizedOptions(options: CalOptions) {\n for (const k of Object.keys(options)) {\n if (\n typeof RECOGNIZED_OPTIONS[k] === 'undefined' &&\n !unrecognizedAlreadyWarned.has(k)\n ) {\n console.warn(`Ignoring unrecognized HebrewCalendar option: ${k}`);\n unrecognizedAlreadyWarned.add(k);\n }\n }\n if (options.dailyLearning) {\n for (const k of Object.keys(options.dailyLearning)) {\n if (!unrecognizedAlreadyWarned.has(k) && !DailyLearning.has(k)) {\n console.warn(`Ignoring unrecognized DailyLearning calendar: ${k}`);\n unrecognizedAlreadyWarned.add(k);\n }\n }\n }\n}\n\nconst israelCityOffset: StringIntMap = {\n Jerusalem: 40,\n Haifa: 30,\n \"Zikhron Ya'aqov\": 30,\n \"Zikhron Ya'akov\": 30,\n 'Zikhron Yaakov': 30,\n \"Zichron Ya'akov\": 30,\n 'Zichron Yaakov': 30,\n} as const;\n\nconst geoIdCandleOffset: StringIntMap = {\n '281184': 40, // Jerusalem\n '294801': 30, // Haifa\n '293067': 30, // Zikhron Yaakov\n} as const;\n\n/**\n * @private\n * @constant\n * This calculation is based on the position of the sun 36 minutes after sunset in Jerusalem\n * around the equinox / equilux, which is 8.5° below geometric zenith.\n * The Ohr Meir considers this the time that 3 small stars are visible,\n * which is later than the required 3 medium stars.\n * @see {https://kosherjava.com/zmanim/docs/api/com/kosherjava/zmanim/ZmanimCalendar.html#ZENITH_8_POINT_5}\n */\nconst TZEIT_3SMALL_STARS = 8.5;\n\n/**\n * @private\n * @constant\n * This calculation is based on observation of 3 medium sized stars by Dr. Baruch Cohen\n * in his calendar published in in 1899 in Strasbourg, France.\n * This calculates to 7.0833333° below geometric zenith.\n * @see {https://kosherjava.com/zmanim/docs/api/com/kosherjava/zmanim/ComplexZmanimCalendar.html#ZENITH_7_POINT_083}\n */\nconst TZEIT_3MEDIUM_STARS = 7.0833333;\n\n/**\n * Modifies options in-place\n * @private\n */\nfunction checkCandleOptions(options: CalOptions) {\n if (!options.candlelighting) {\n return;\n }\n const location = options.location;\n if (typeof location === 'undefined' || !(location instanceof Location)) {\n throw new TypeError(\n 'options.candlelighting requires valid options.location'\n );\n }\n if (\n typeof options.havdalahMins === 'number' &&\n typeof options.havdalahDeg === 'number'\n ) {\n throw new TypeError(\n 'options.havdalahMins and options.havdalahDeg are mutually exclusive'\n );\n }\n\n const min0 = options.candleLightingMins;\n let min = typeof min0 === 'number' && !isNaN(min0) ? Math.trunc(min0) : 18;\n if (location.getIsrael() && Math.abs(min) === 18) {\n min = overrideIsraelCandleMins(location, min);\n }\n options.candleLightingMins = -1 * Math.abs(min);\n\n if (typeof options.havdalahMins === 'number') {\n options.havdalahMins = Math.trunc(Math.abs(options.havdalahMins));\n } else if (typeof options.havdalahDeg === 'number') {\n options.havdalahDeg = Math.abs(options.havdalahDeg);\n } else {\n options.havdalahDeg = TZEIT_3SMALL_STARS;\n }\n if (typeof options.fastEndDeg !== 'number') {\n options.fastEndDeg = TZEIT_3MEDIUM_STARS;\n }\n}\n\nfunction overrideIsraelCandleMins(location: Location, min: number) {\n const geoid = location.getGeoId();\n if (geoid) {\n const offset = geoIdCandleOffset[geoid];\n if (typeof offset === 'number') {\n return offset;\n }\n }\n const shortName = location.getShortName();\n if (shortName) {\n const offset = israelCityOffset[shortName];\n if (typeof offset === 'number') {\n return offset;\n }\n }\n return min;\n}\n\n/**\n * Mask to filter Holiday array\n * @private\n */\nfunction getMaskFromOptions(options: CalOptions): number {\n if (typeof options.mask === 'number') {\n return setOptionsFromMask(options);\n }\n const il = options.il || options.location?.getIsrael() || false;\n let mask = 0;\n\n // default options\n if (!options.noHolidays) {\n mask |=\n ROSH_CHODESH |\n YOM_TOV_ENDS |\n MINOR_FAST |\n SPECIAL_SHABBAT |\n MODERN_HOLIDAY |\n MAJOR_FAST |\n MINOR_HOLIDAY |\n EREV |\n CHOL_HAMOED |\n LIGHT_CANDLES |\n LIGHT_CANDLES_TZEIS |\n CHANUKAH_CANDLES;\n }\n if (options.candlelighting) {\n mask |= LIGHT_CANDLES | LIGHT_CANDLES_TZEIS | YOM_TOV_ENDS;\n }\n // suppression of defaults\n if (options.noRoshChodesh) {\n mask &= ~ROSH_CHODESH;\n }\n if (options.noModern) {\n mask &= ~MODERN_HOLIDAY;\n }\n if (options.noMinorFast) {\n mask &= ~MINOR_FAST;\n }\n if (options.noSpecialShabbat) {\n mask &= ~SPECIAL_SHABBAT;\n mask &= ~SHABBAT_MEVARCHIM;\n }\n if (il) {\n mask |= IL_ONLY;\n } else {\n mask |= CHUL_ONLY;\n }\n // non-default options\n if (options.sedrot) {\n mask |= PARSHA_HASHAVUA;\n }\n if (options.omer) {\n mask |= OMER_COUNT;\n }\n if (options.shabbatMevarchim) {\n mask |= SHABBAT_MEVARCHIM;\n }\n if (options.yomKippurKatan) {\n mask |= YOM_KIPPUR_KATAN;\n }\n if (options.yizkor) {\n mask |= YIZKOR;\n }\n if (options.dailyLearning) {\n const dailyLearning = options.dailyLearning;\n if (dailyLearning.dafYomi) {\n mask |= DAF_YOMI;\n }\n if (dailyLearning.mishnaYomi) {\n mask |= MISHNA_YOMI;\n }\n if (dailyLearning.nachYomi) {\n mask |= NACH_YOMI;\n }\n if (dailyLearning.yerushalmi) {\n mask |= YERUSHALMI_YOMI;\n }\n }\n\n return mask;\n}\n\nconst MASK_LIGHT_CANDLES =\n LIGHT_CANDLES | LIGHT_CANDLES_TZEIS | CHANUKAH_CANDLES | YOM_TOV_ENDS;\n\nconst defaultLocation = new Location(0, 0, false, 'UTC');\n\n/**\n * @private\n */\nfunction setOptionsFromMask(options: CalOptions): number {\n const m = options.mask || 0;\n if (m & ROSH_CHODESH) delete options.noRoshChodesh;\n if (m & MODERN_HOLIDAY) delete options.noModern;\n if (m & MINOR_FAST) delete options.noMinorFast;\n if (m & SPECIAL_SHABBAT) delete options.noSpecialShabbat;\n if (m & PARSHA_HASHAVUA) options.sedrot = true;\n if (m & (DAF_YOMI | MISHNA_YOMI | NACH_YOMI | YERUSHALMI_YOMI)) {\n options.dailyLearning = options.dailyLearning || {};\n if (m & DAF_YOMI) {\n options.dailyLearning.dafYomi = true;\n }\n if (m & MISHNA_YOMI) {\n options.dailyLearning.mishnaYomi = true;\n }\n if (m & NACH_YOMI) {\n options.dailyLearning.nachYomi = true;\n }\n if (m & YERUSHALMI_YOMI) {\n options.dailyLearning.yerushalmi = 1;\n }\n }\n if (m & OMER_COUNT) options.omer = true;\n if (m & SHABBAT_MEVARCHIM) options.shabbatMevarchim = true;\n if (m & YOM_KIPPUR_KATAN) options.yomKippurKatan = true;\n if (m & YIZKOR) options.yizkor = true;\n return m;\n}\n\n/**\n * Appends the Event `ev` to the `events` array. Also may add related\n * timed events like candle-lighting or fast start/end\n * @private\n */\nfunction appendHolidayAndRelated(\n candlesEv: TimedEvent | undefined,\n events: Event[],\n ev: HolidayEvent,\n options: CalOptions,\n isFriday: boolean,\n isSaturday: boolean,\n hasUserMask: boolean\n): TimedEvent | undefined {\n const il = options.il || false;\n if (!ev.observedIn(il)) {\n return candlesEv; // holiday isn't observed here; bail out early\n }\n const eFlags = ev.getFlags();\n if (\n (!options.yomKippurKatan && eFlags & YOM_KIPPUR_KATAN) ||\n (options.noModern && eFlags & MODERN_HOLIDAY)\n ) {\n return candlesEv; // bail out early\n }\n const isMajorFast = Boolean(eFlags & MAJOR_FAST);\n const isMinorFast = Boolean(eFlags & MINOR_FAST);\n let fastEv;\n if (\n options.candlelighting &&\n (isMajorFast || isMinorFast) &&\n ev.getDesc() !== 'Yom Kippur'\n ) {\n ev = fastEv = makeFastStartEnd(ev, options);\n if (\n fastEv.startEvent &&\n (isMajorFast || (isMinorFast && !options.noMinorFast))\n ) {\n events.push(fastEv.startEvent);\n }\n }\n if (eFlags & Number(options.mask) || (!eFlags && !hasUserMask)) {\n if (options.candlelighting && eFlags & MASK_LIGHT_CANDLES) {\n const hd = ev.getDate();\n candlesEv = makeCandleEvent(ev, hd, options, isFriday, isSaturday);\n if (eFlags & CHANUKAH_CANDLES && candlesEv && !options.noHolidays) {\n // Replace Chanukah event with a clone that includes candle lighting time.\n // For clarity, allow a \"duplicate\" candle lighting event to remain for Shabbat\n const chanukahEv = makeWeekdayChanukahCandleLighting(\n ev as ChanukahEvent,\n options\n );\n if (chanukahEv) {\n if (isFriday || isSaturday) {\n chanukahEv.eventTime = candlesEv.eventTime;\n chanukahEv.eventTimeStr = candlesEv.eventTimeStr;\n }\n ev = chanukahEv;\n }\n candlesEv = undefined;\n }\n }\n if (\n !options.noHolidays ||\n (options.yomKippurKatan && eFlags & YOM_KIPPUR_KATAN)\n ) {\n events.push(ev); // the original event itself\n }\n }\n if (\n (isMajorFast || (isMinorFast && !options.noMinorFast)) &&\n fastEv &&\n fastEv.endEvent\n ) {\n events.push(fastEv.endEvent);\n }\n return candlesEv;\n}\n\nfunction makeMoladAndMevarchimChodesh(hd: HDate, options: CalOptions): Event[] {\n const evts: Event[] = [];\n const hmonth = hd.getMonth();\n const hdate = hd.getDate();\n if (hmonth !== ELUL && hdate >= 23 && hdate <= 29) {\n const hyear = hd.getFullYear();\n const monNext = hmonth === HDate.monthsInYear(hyear) ? NISAN : hmonth + 1;\n if (options.molad) {\n evts.push(new MoladEvent(hd, hyear, monNext, options));\n }\n if (options.shabbatMevarchim) {\n const nextMonthName = HDate.getMonthName(monNext, hyear);\n const molad = new Molad(hyear, monNext);\n const memo = molad.render(options.locale || 'en', options);\n evts.push(\n new MevarchimChodeshEvent(hd, nextMonthName, memo, options.locale)\n );\n }\n }\n return evts;\n}\n\nfunction dailyLearningName(key: string, val: DailyLearningValue): string {\n if (key === 'yerushalmi') {\n return val === 2 ? 'yerushalmi-schottenstein' : 'yerushalmi-vilna';\n }\n return key;\n}\n\nfunction makeDailyLearning(\n hd: HDate,\n dailyLearning: Record<string, DailyLearningValue>,\n il: boolean\n): Event[] {\n const evts: Event[] = [];\n for (const [key, val] of Object.entries(dailyLearning)) {\n if (val) {\n const name = dailyLearningName(key, val);\n const learningEv = DailyLearning.lookup(name, hd, il);\n if (learningEv) {\n evts.push(learningEv);\n }\n }\n }\n return evts;\n}\n\nfunction makeOmerEvent(hd: HDate, omerDay: number, options: CalOptions) {\n const omerEv = new OmerEvent(hd, omerDay);\n if (options.candlelighting) {\n const location = options.location!;\n const zmanim = new Zmanim(location, hd.prev(), false);\n const tzeit = zmanim.tzeit(7.0833);\n if (!isNaN(tzeit.getTime())) {\n omerEv.alarm = tzeit;\n }\n }\n return omerEv;\n}\n"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ export declare class TimedChanukahEvent extends ChanukahEvent {
33
33
  eventTime: Date;
34
34
  eventTimeStr: string;
35
35
  readonly location: Location;
36
- constructor(date: HDate, desc: string, mask: number, eventTime: Date, location: Location);
36
+ constructor(ev: ChanukahEvent, eventTime: Date, location: Location);
37
37
  }
38
38
  /**
39
39
  * Makes a candle-lighting event for Chankah (not on Friday/Saturday).
@@ -41,4 +41,4 @@ export declare class TimedChanukahEvent extends ChanukahEvent {
41
41
  * Another source suggests 4.6667 degrees below horizon.
42
42
  * @private
43
43
  */
44
- export declare function makeWeekdayChanukahCandleLighting(ev: HolidayEvent, hd: HDate, options: CalOptions): TimedChanukahEvent | null;
44
+ export declare function makeWeekdayChanukahCandleLighting(ev: ChanukahEvent, options: CalOptions): TimedChanukahEvent | null;
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v5.10.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v6.0.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
  import { HolidayEvent, ChanukahEvent } from './HolidayEvent.js';
@@ -137,12 +137,13 @@ function makeTimedEvent(ev, time, desc, options) {
137
137
  return new TimedEvent(hd, desc, ev.getFlags(), time, location, ev, options);
138
138
  }
139
139
  class TimedChanukahEvent extends ChanukahEvent {
140
- constructor(date, desc, mask, eventTime, location) {
141
- super(date, desc, mask);
140
+ constructor(ev, eventTime, location) {
141
+ super(ev.getDate(), ev.getDesc(), ev.getFlags(), ev.chanukahDay);
142
142
  this.eventTime = Zmanim.roundTime(eventTime);
143
143
  const timeFormat = location.getTimeFormatter();
144
144
  this.eventTimeStr = Zmanim.formatTime(this.eventTime, timeFormat);
145
145
  this.location = location;
146
+ this.emoji = ev.emoji;
146
147
  }
147
148
  }
148
149
  /**
@@ -151,7 +152,8 @@ class TimedChanukahEvent extends ChanukahEvent {
151
152
  * Another source suggests 4.6667 degrees below horizon.
152
153
  * @private
153
154
  */
154
- function makeWeekdayChanukahCandleLighting(ev, hd, options) {
155
+ function makeWeekdayChanukahCandleLighting(ev, options) {
156
+ const hd = ev.getDate();
155
157
  const location = options.location;
156
158
  const useElevation = Boolean(options.useElevation);
157
159
  const zmanim = new Zmanim(location, hd.greg(), useElevation);
@@ -159,10 +161,7 @@ function makeWeekdayChanukahCandleLighting(ev, hd, options) {
159
161
  if (isNaN(candleLightingTime.getTime())) {
160
162
  return null;
161
163
  }
162
- const ev2 = new TimedChanukahEvent(hd, ev.getDesc(), ev.getFlags(), candleLightingTime, location);
163
- ev2.emoji = ev.emoji;
164
- ev2.chanukahDay = ev.chanukahDay;
165
- return ev2;
164
+ return new TimedChanukahEvent(ev, candleLightingTime, location);
166
165
  }
167
166
 
168
167
  export { FastDayEvent, TimedChanukahEvent, makeCandleEvent, makeFastStartEnd, makeWeekdayChanukahCandleLighting };
@@ -1 +1 @@
1
- {"version":3,"file":"candles.js","sources":["../../../src/candles.ts"],"sourcesContent":["/* eslint-disable max-len */\nimport {HDate, months} from '@hebcal/hdate';\nimport {CalOptions} from './CalOptions';\nimport {Location} from './location';\nimport {Event, flags} from './event';\nimport {ChanukahEvent, HolidayEvent} from './HolidayEvent';\nimport {Zmanim} from './zmanim';\nimport {TimedEvent, CandleLightingEvent, HavdalahEvent} from './TimedEvent';\n\nconst LIGHT_CANDLES = flags.LIGHT_CANDLES;\nconst LIGHT_CANDLES_TZEIS = flags.LIGHT_CANDLES_TZEIS;\n\n/**\n * @private\n */\nexport function makeCandleEvent(\n ev: Event | undefined,\n hd: HDate,\n options: CalOptions,\n isFriday: boolean,\n isSaturday: boolean\n): TimedEvent | undefined {\n let havdalahTitle = false;\n let useHavdalahOffset = isSaturday;\n let mask = ev ? ev.getFlags() : LIGHT_CANDLES;\n if (typeof ev !== 'undefined') {\n // if linked event && dow == FRI, use Candle lighting time & title\n if (!isFriday) {\n if (mask & (LIGHT_CANDLES_TZEIS | flags.CHANUKAH_CANDLES)) {\n useHavdalahOffset = true;\n } else if (mask & flags.YOM_TOV_ENDS) {\n havdalahTitle = true;\n useHavdalahOffset = true;\n }\n }\n } else if (isSaturday) {\n havdalahTitle = true;\n mask = LIGHT_CANDLES_TZEIS;\n }\n // if Havdalah offset is 0 or undefined, we'll use tzeit time\n const offset = useHavdalahOffset\n ? Number(options.havdalahMins)\n : Number(options.candleLightingMins);\n const location = options.location as Location;\n const useElevation = Boolean(options.useElevation);\n const zmanim = new Zmanim(location, hd, useElevation);\n const time =\n useHavdalahOffset && !offset\n ? zmanim.tzeit(options.havdalahDeg)\n : zmanim.sunsetOffset(offset, true);\n if (isNaN(time.getTime())) {\n return undefined; // no sunset\n }\n if (havdalahTitle) {\n return new HavdalahEvent(\n hd,\n mask,\n time,\n location,\n options.havdalahMins,\n ev,\n options\n );\n } else {\n mask |= LIGHT_CANDLES;\n return new CandleLightingEvent(hd, mask, time, location, ev, options);\n }\n}\n\nconst FAST_BEGINS = 'Fast begins';\nconst FAST_ENDS = 'Fast ends';\n\n/** A fast day also contains a start and end time */\nexport class FastDayEvent extends HolidayEvent {\n /** original event */\n readonly linkedEvent: HolidayEvent;\n /** this will be a \"Fast begins\" event */\n readonly startEvent?: TimedEvent;\n /** this will be a \"Fast ends\" event */\n readonly endEvent?: TimedEvent;\n constructor(\n linkedEvent: HolidayEvent,\n startEvent?: TimedEvent,\n endEvent?: TimedEvent\n ) {\n super(linkedEvent.getDate(), linkedEvent.getDesc(), linkedEvent.getFlags());\n this.linkedEvent = linkedEvent;\n this.startEvent = startEvent;\n this.endEvent = endEvent;\n }\n render(locale?: string): string {\n return this.linkedEvent.render(locale);\n }\n renderBrief(locale?: string): string {\n return this.linkedEvent.renderBrief(locale);\n }\n urlDateSuffix(): string {\n return this.linkedEvent.urlDateSuffix();\n }\n url(): string | undefined {\n return this.linkedEvent.url();\n }\n getEmoji(): string {\n return this.linkedEvent.getEmoji();\n }\n getCategories(): string[] {\n return this.linkedEvent.getCategories();\n }\n}\n\n/**\n * Makes a pair of events representing fast start and end times\n * @private\n */\nexport function makeFastStartEnd(\n ev: HolidayEvent,\n options: CalOptions\n): FastDayEvent {\n const desc = ev.getDesc();\n if (desc === 'Yom Kippur') {\n throw new RangeError('YK does not require this function');\n }\n const hd = ev.getDate();\n const dt = hd.greg();\n const location = options.location as Location;\n const fastEndDeg = options.fastEndDeg;\n const useElevation = Boolean(options.useElevation);\n const zmanim = new Zmanim(location, dt, useElevation);\n let startEvent;\n let endEvent;\n if (desc === \"Erev Tish'a B'Av\") {\n const sunset = zmanim.sunset();\n if (!isNaN(sunset.getTime())) {\n startEvent = makeTimedEvent(ev, sunset, FAST_BEGINS, options);\n }\n } else if (desc.startsWith(\"Tish'a B'Av\")) {\n const tzeit = zmanim.tzeit(fastEndDeg);\n if (!isNaN(tzeit.getTime())) {\n endEvent = makeTimedEvent(ev, tzeit, FAST_ENDS, options);\n }\n } else {\n const dawn = zmanim.alotHaShachar();\n if (!isNaN(dawn.getTime())) {\n startEvent = makeTimedEvent(ev, dawn, FAST_BEGINS, options);\n }\n if (\n dt.getDay() !== 5 &&\n !(hd.getDate() === 14 && hd.getMonth() === months.NISAN)\n ) {\n const tzeit = zmanim.tzeit(fastEndDeg);\n if (!isNaN(tzeit.getTime())) {\n endEvent = makeTimedEvent(ev, tzeit, FAST_ENDS, options);\n }\n }\n }\n const ev2 = new FastDayEvent(ev, startEvent, endEvent);\n // copy properties such as memo or emoji\n Object.assign(ev2, ev);\n return ev2;\n}\n\n/**\n * @private\n */\nfunction makeTimedEvent(\n ev: Event,\n time: Date,\n desc: string,\n options: CalOptions\n): TimedEvent {\n const location = options.location as Location;\n const hd = ev.getDate();\n return new TimedEvent(hd, desc, ev.getFlags(), time, location, ev, options);\n}\n\nexport class TimedChanukahEvent extends ChanukahEvent {\n eventTime: Date;\n eventTimeStr: string;\n readonly location: Location;\n constructor(\n date: HDate,\n desc: string,\n mask: number,\n eventTime: Date,\n location: Location\n ) {\n super(date, desc, mask);\n this.eventTime = Zmanim.roundTime(eventTime);\n const timeFormat = location.getTimeFormatter();\n this.eventTimeStr = Zmanim.formatTime(this.eventTime, timeFormat);\n this.location = location;\n }\n}\n\n/**\n * Makes a candle-lighting event for Chankah (not on Friday/Saturday).\n * At one point this used civil dusk (6 degrees below horizon).\n * Another source suggests 4.6667 degrees below horizon.\n * @private\n */\nexport function makeWeekdayChanukahCandleLighting(\n ev: HolidayEvent,\n hd: HDate,\n options: CalOptions\n): TimedChanukahEvent | null {\n const location = options.location as Location;\n const useElevation = Boolean(options.useElevation);\n const zmanim = new Zmanim(location, hd.greg(), useElevation);\n const candleLightingTime = zmanim.beinHaShmashos();\n if (isNaN(candleLightingTime.getTime())) {\n return null;\n }\n const ev2 = new TimedChanukahEvent(\n hd,\n ev.getDesc(),\n ev.getFlags(),\n candleLightingTime,\n location\n );\n ev2.emoji = ev.emoji;\n ev2.chanukahDay = ev.chanukahDay;\n return ev2;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"candles.js","sources":["../../../src/candles.ts"],"sourcesContent":["/* eslint-disable max-len */\nimport {HDate, months} from '@hebcal/hdate';\nimport {CalOptions} from './CalOptions';\nimport {Location} from './location';\nimport {Event, flags} from './event';\nimport {ChanukahEvent, HolidayEvent} from './HolidayEvent';\nimport {Zmanim} from './zmanim';\nimport {TimedEvent, CandleLightingEvent, HavdalahEvent} from './TimedEvent';\n\nconst LIGHT_CANDLES = flags.LIGHT_CANDLES;\nconst LIGHT_CANDLES_TZEIS = flags.LIGHT_CANDLES_TZEIS;\n\n/**\n * @private\n */\nexport function makeCandleEvent(\n ev: Event | undefined,\n hd: HDate,\n options: CalOptions,\n isFriday: boolean,\n isSaturday: boolean\n): TimedEvent | undefined {\n let havdalahTitle = false;\n let useHavdalahOffset = isSaturday;\n let mask = ev ? ev.getFlags() : LIGHT_CANDLES;\n if (typeof ev !== 'undefined') {\n // if linked event && dow == FRI, use Candle lighting time & title\n if (!isFriday) {\n if (mask & (LIGHT_CANDLES_TZEIS | flags.CHANUKAH_CANDLES)) {\n useHavdalahOffset = true;\n } else if (mask & flags.YOM_TOV_ENDS) {\n havdalahTitle = true;\n useHavdalahOffset = true;\n }\n }\n } else if (isSaturday) {\n havdalahTitle = true;\n mask = LIGHT_CANDLES_TZEIS;\n }\n // if Havdalah offset is 0 or undefined, we'll use tzeit time\n const offset = useHavdalahOffset\n ? Number(options.havdalahMins)\n : Number(options.candleLightingMins);\n const location = options.location as Location;\n const useElevation = Boolean(options.useElevation);\n const zmanim = new Zmanim(location, hd, useElevation);\n const time =\n useHavdalahOffset && !offset\n ? zmanim.tzeit(options.havdalahDeg)\n : zmanim.sunsetOffset(offset, true);\n if (isNaN(time.getTime())) {\n return undefined; // no sunset\n }\n if (havdalahTitle) {\n return new HavdalahEvent(\n hd,\n mask,\n time,\n location,\n options.havdalahMins,\n ev,\n options\n );\n } else {\n mask |= LIGHT_CANDLES;\n return new CandleLightingEvent(hd, mask, time, location, ev, options);\n }\n}\n\nconst FAST_BEGINS = 'Fast begins';\nconst FAST_ENDS = 'Fast ends';\n\n/** A fast day also contains a start and end time */\nexport class FastDayEvent extends HolidayEvent {\n /** original event */\n readonly linkedEvent: HolidayEvent;\n /** this will be a \"Fast begins\" event */\n readonly startEvent?: TimedEvent;\n /** this will be a \"Fast ends\" event */\n readonly endEvent?: TimedEvent;\n constructor(\n linkedEvent: HolidayEvent,\n startEvent?: TimedEvent,\n endEvent?: TimedEvent\n ) {\n super(linkedEvent.getDate(), linkedEvent.getDesc(), linkedEvent.getFlags());\n this.linkedEvent = linkedEvent;\n this.startEvent = startEvent;\n this.endEvent = endEvent;\n }\n render(locale?: string): string {\n return this.linkedEvent.render(locale);\n }\n renderBrief(locale?: string): string {\n return this.linkedEvent.renderBrief(locale);\n }\n urlDateSuffix(): string {\n return this.linkedEvent.urlDateSuffix();\n }\n url(): string | undefined {\n return this.linkedEvent.url();\n }\n getEmoji(): string {\n return this.linkedEvent.getEmoji();\n }\n getCategories(): string[] {\n return this.linkedEvent.getCategories();\n }\n}\n\n/**\n * Makes a pair of events representing fast start and end times\n * @private\n */\nexport function makeFastStartEnd(\n ev: HolidayEvent,\n options: CalOptions\n): FastDayEvent {\n const desc = ev.getDesc();\n if (desc === 'Yom Kippur') {\n throw new RangeError('YK does not require this function');\n }\n const hd = ev.getDate();\n const dt = hd.greg();\n const location = options.location as Location;\n const fastEndDeg = options.fastEndDeg;\n const useElevation = Boolean(options.useElevation);\n const zmanim = new Zmanim(location, dt, useElevation);\n let startEvent;\n let endEvent;\n if (desc === \"Erev Tish'a B'Av\") {\n const sunset = zmanim.sunset();\n if (!isNaN(sunset.getTime())) {\n startEvent = makeTimedEvent(ev, sunset, FAST_BEGINS, options);\n }\n } else if (desc.startsWith(\"Tish'a B'Av\")) {\n const tzeit = zmanim.tzeit(fastEndDeg);\n if (!isNaN(tzeit.getTime())) {\n endEvent = makeTimedEvent(ev, tzeit, FAST_ENDS, options);\n }\n } else {\n const dawn = zmanim.alotHaShachar();\n if (!isNaN(dawn.getTime())) {\n startEvent = makeTimedEvent(ev, dawn, FAST_BEGINS, options);\n }\n if (\n dt.getDay() !== 5 &&\n !(hd.getDate() === 14 && hd.getMonth() === months.NISAN)\n ) {\n const tzeit = zmanim.tzeit(fastEndDeg);\n if (!isNaN(tzeit.getTime())) {\n endEvent = makeTimedEvent(ev, tzeit, FAST_ENDS, options);\n }\n }\n }\n const ev2 = new FastDayEvent(ev, startEvent, endEvent);\n // copy properties such as memo or emoji\n Object.assign(ev2, ev);\n return ev2;\n}\n\n/**\n * @private\n */\nfunction makeTimedEvent(\n ev: Event,\n time: Date,\n desc: string,\n options: CalOptions\n): TimedEvent {\n const location = options.location as Location;\n const hd = ev.getDate();\n return new TimedEvent(hd, desc, ev.getFlags(), time, location, ev, options);\n}\n\nexport class TimedChanukahEvent extends ChanukahEvent {\n eventTime: Date;\n eventTimeStr: string;\n readonly location: Location;\n constructor(ev: ChanukahEvent, eventTime: Date, location: Location) {\n super(ev.getDate(), ev.getDesc(), ev.getFlags(), ev.chanukahDay);\n this.eventTime = Zmanim.roundTime(eventTime);\n const timeFormat = location.getTimeFormatter();\n this.eventTimeStr = Zmanim.formatTime(this.eventTime, timeFormat);\n this.location = location;\n this.emoji = ev.emoji;\n }\n}\n\n/**\n * Makes a candle-lighting event for Chankah (not on Friday/Saturday).\n * At one point this used civil dusk (6 degrees below horizon).\n * Another source suggests 4.6667 degrees below horizon.\n * @private\n */\nexport function makeWeekdayChanukahCandleLighting(\n ev: ChanukahEvent,\n options: CalOptions\n): TimedChanukahEvent | null {\n const hd = ev.getDate();\n const location = options.location as Location;\n const useElevation = Boolean(options.useElevation);\n const zmanim = new Zmanim(location, hd.greg(), useElevation);\n const candleLightingTime = zmanim.beinHaShmashos();\n if (isNaN(candleLightingTime.getTime())) {\n return null;\n }\n return new TimedChanukahEvent(ev, candleLightingTime, location);\n}\n"],"names":[],"mappings":"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"}
@@ -103,6 +103,10 @@ export declare class Event {
103
103
  * Hebrew date of this event
104
104
  */
105
105
  getDate(): HDate;
106
+ /**
107
+ * Gregorian date of this event
108
+ */
109
+ greg(): Date;
106
110
  /**
107
111
  * Untranslated title of this event. Note that these description
108
112
  * strings are always in English and will remain stable across releases.
@@ -177,11 +181,6 @@ export declare class Event {
177
181
  * @param il
178
182
  */
179
183
  observedIn(il: boolean): boolean;
180
- /**
181
- * Makes a clone of this Event object
182
- * @deprecated
183
- */
184
- clone(): Event;
185
184
  /**
186
185
  * Returns a list of event categories
187
186
  */
package/dist/esm/event.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v5.10.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
2
  import { HDate, Locale } from '@hebcal/hdate';
3
3
  import './locale.js';
4
4
 
@@ -119,6 +119,12 @@ class Event {
119
119
  getDate() {
120
120
  return this.date;
121
121
  }
122
+ /**
123
+ * Gregorian date of this event
124
+ */
125
+ greg() {
126
+ return this.date.greg();
127
+ }
122
128
  /**
123
129
  * Untranslated title of this event. Note that these description
124
130
  * strings are always in English and will remain stable across releases.
@@ -213,16 +219,6 @@ class Event {
213
219
  observedIn(il) {
214
220
  return il ? this.observedInIsrael() : this.observedInDiaspora();
215
221
  }
216
- /**
217
- * Makes a clone of this Event object
218
- * @deprecated
219
- */
220
- clone() {
221
- const ev = new Event(this.date, this.desc, this.mask);
222
- // overwrite all enumerable properties
223
- Object.assign(ev, this);
224
- return ev;
225
- }
226
222
  /**
227
223
  * Returns a list of event categories
228
224
  */
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sources":["../../../src/event.ts"],"sourcesContent":["import {HDate, Locale} from '@hebcal/hdate';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\n/**\n * Holiday flags for Event. These flags are typically\n * combined using bitwise arithmetic to form a mask.\n * @readonly\n * @enum {number}\n */\nexport const flags = {\n /** Chag, yontiff, yom tov */\n CHAG: 0x000001,\n /** Light candles 18 minutes before sundown */\n LIGHT_CANDLES: 0x000002,\n /** End of holiday (end of Yom Tov) */\n YOM_TOV_ENDS: 0x000004,\n /** Observed only in the Diaspora (chutz l'aretz) */\n CHUL_ONLY: 0x000008,\n /** Observed only in Israel */\n IL_ONLY: 0x000010,\n /** Light candles in the evening at Tzeit time (3 small stars) */\n LIGHT_CANDLES_TZEIS: 0x000020,\n /** Candle-lighting for Chanukah */\n CHANUKAH_CANDLES: 0x000040,\n /** Rosh Chodesh, beginning of a new Hebrew month */\n ROSH_CHODESH: 0x000080,\n /** Minor fasts like Tzom Tammuz, Ta'anit Esther, ... */\n MINOR_FAST: 0x000100,\n /** Shabbat Shekalim, Zachor, ... */\n SPECIAL_SHABBAT: 0x000200,\n /** Weekly sedrot on Saturdays */\n PARSHA_HASHAVUA: 0x000400,\n /** Daily page of Talmud (Bavli) */\n DAF_YOMI: 0x000800,\n /** Days of the Omer */\n OMER_COUNT: 0x001000,\n /** Yom HaShoah, Yom HaAtzma'ut, ... */\n MODERN_HOLIDAY: 0x002000,\n /** Yom Kippur and Tish'a B'Av */\n MAJOR_FAST: 0x004000,\n /** On the Saturday before Rosh Chodesh */\n SHABBAT_MEVARCHIM: 0x008000,\n /** Molad */\n MOLAD: 0x010000,\n /** Yahrzeit or Hebrew Anniversary */\n USER_EVENT: 0x020000,\n /** Daily Hebrew date (\"11th of Sivan, 5780\") */\n HEBREW_DATE: 0x040000,\n /** A holiday that's not major, modern, rosh chodesh, or a fast day */\n MINOR_HOLIDAY: 0x080000,\n /** Evening before a major or minor holiday */\n EREV: 0x100000,\n /** Chol haMoed, intermediate days of Pesach or Sukkot */\n CHOL_HAMOED: 0x200000,\n /** Mishna Yomi */\n MISHNA_YOMI: 0x400000,\n /** Yom Kippur Katan, minor day of atonement on the day preceeding each Rosh Chodesh */\n YOM_KIPPUR_KATAN: 0x800000,\n /** Daily page of Jerusalem Talmud (Yerushalmi) */\n YERUSHALMI_YOMI: 0x1000000,\n /** Nach Yomi */\n NACH_YOMI: 0x2000000,\n /** Daily Learning */\n DAILY_LEARNING: 0x4000000,\n /** Yizkor */\n YIZKOR: 0x8000000,\n} as const;\n\nconst flagToCategory = [\n [flags.MAJOR_FAST, 'holiday', 'major', 'fast'],\n [flags.CHANUKAH_CANDLES, 'holiday', 'major'],\n [flags.HEBREW_DATE, 'hebdate'],\n [flags.MINOR_FAST, 'holiday', 'fast'],\n [flags.MINOR_HOLIDAY, 'holiday', 'minor'],\n [flags.MODERN_HOLIDAY, 'holiday', 'modern'],\n [flags.MOLAD, 'molad'],\n [flags.OMER_COUNT, 'omer'],\n [flags.PARSHA_HASHAVUA, 'parashat'], // backwards-compat\n [flags.ROSH_CHODESH, 'roshchodesh'],\n [flags.SHABBAT_MEVARCHIM, 'mevarchim'],\n [flags.SPECIAL_SHABBAT, 'holiday', 'shabbat'],\n [flags.USER_EVENT, 'user'],\n [flags.YIZKOR, 'yizkor'],\n] as const;\n\n/**\n * Represents an Event with a title, date, and flags.\n *\n * Events are used to represent holidays, candle-lighting times,\n * Torah readings, and more.\n *\n * To get the title of the event a language other than English\n * with Sephardic transliterations, use the `render()` method.\n */\nexport class Event {\n /** Hebrew date of this event */\n readonly date: HDate;\n /**\n * Untranslated title of this event. Note that these description\n * strings are always in English and will remain stable across releases.\n * To get the title of the event in another language, use the\n * `render()` method.\n */\n readonly desc: string;\n /** Bitmask of optional event flags. See {@link flags} */\n readonly mask: number;\n /** Optional emoji character such as ✡️, 🕯️, 🕎, 🕍, 🌒 */\n emoji?: string;\n /** Optional longer description or memo text */\n memo?: string;\n /** Alarms are used by iCalendar feeds */\n alarm?: Date | string | boolean;\n /**\n * Constructs Event\n * @param date Hebrew date event occurs\n * @param desc Description (not translated)\n * @param [mask=0] optional bitmask of holiday flags (see {@link flags})\n * @param [attrs={}] optional additional attributes (e.g. `eventTimeStr`, `cholHaMoedDay`)\n */\n constructor(date: HDate, desc: string, mask = 0, attrs?: object) {\n if (!HDate.isHDate(date)) {\n throw new TypeError(`Invalid Event date: ${date}`);\n } else if (typeof desc !== 'string') {\n throw new TypeError(`Invalid Event description: ${desc}`);\n }\n this.date = date;\n this.desc = desc;\n this.mask = +mask;\n if (typeof attrs === 'object' && attrs !== null) {\n Object.assign(this, attrs);\n }\n }\n /**\n * Hebrew date of this event\n */\n getDate(): HDate {\n return this.date;\n }\n /**\n * Untranslated title of this event. Note that these description\n * strings are always in English and will remain stable across releases.\n * To get the title of the event in another language, use the\n * `render()` method.\n */\n getDesc(): string {\n return this.desc;\n }\n /**\n * Bitmask of optional event flags. See {@link flags}\n */\n getFlags(): number {\n return this.mask;\n }\n /**\n * Returns (translated) description of this event\n * @example\n * const ev = new Event(new HDate(6, 'Sivan', 5749), 'Shavuot', flags.CHAG);\n * ev.render('en'); // 'Shavuot'\n * ev.render('he'); // 'שָׁבוּעוֹת'\n * ev.render('ashkenazi'); // 'Shavuos'\n * @param [locale] Optional locale name (defaults to active locale).\n */\n render(locale?: string): string {\n return Locale.gettext(this.desc, locale);\n }\n /**\n * Returns a brief (translated) description of this event.\n * For most events, this is the same as render(). For some events, it procudes\n * a shorter text (e.g. without a time or added description).\n * @param [locale] Optional locale name (defaults to active locale).\n */\n renderBrief(locale?: string): string {\n return this.render(locale);\n }\n /**\n * Optional holiday-specific Emoji or `null`.\n */\n getEmoji(): string | null {\n return this.emoji || null;\n }\n /**\n * Returns a simplified (untranslated) description for this event. For example,\n * the `HolidayEvent` class supports\n * \"Erev Pesach\" => \"Pesach\", and \"Sukkot III (CH''M)\" => \"Sukkot\".\n * For many holidays the basename and the event description are the same.\n */\n basename(): string {\n return this.getDesc();\n }\n /**\n * Returns a URL to hebcal.com or sefaria.org for more detail on the event.\n * Returns `undefined` for events with no detail page.\n */\n url(): string | undefined {\n return undefined;\n }\n /**\n * Is this event observed in Israel?\n * @example\n * const ev1 = new Event(new HDate(7, 'Sivan', 5749), 'Shavuot II', flags.CHAG | flags.CHUL_ONLY);\n * ev1.observedInIsrael(); // false\n * const ev2 = new Event(new HDate(26, 'Kislev', 5749), 'Chanukah: 3 Candles', 0);\n * ev2.observedInIsrael(); // true\n */\n observedInIsrael(): boolean {\n return !(this.mask & flags.CHUL_ONLY);\n }\n /**\n * Is this event observed in the Diaspora?\n * @example\n * const ev1 = new Event(new HDate(7, 'Sivan', 5749), 'Shavuot II', flags.CHAG | flags.CHUL_ONLY);\n * ev1.observedInDiaspora(); // true\n * const ev2 = new Event(new HDate(26, 'Kislev', 5749), 'Chanukah: 3 Candles', 0);\n * ev2.observedInDiaspora(); // true\n */\n observedInDiaspora(): boolean {\n return !(this.mask & flags.IL_ONLY);\n }\n /**\n * Is this event observed in Israel/Diaspora?\n * @example\n * const ev1 = new Event(new HDate(7, 'Sivan', 5749), 'Shavuot II', flags.CHAG | flags.CHUL_ONLY);\n * ev1.observedIn(false); // true\n * ev1.observedIn(true); // false\n * const ev2 = new Event(new HDate(26, 'Kislev', 5749), 'Chanukah: 3 Candles', 0);\n * ev2.observedIn(false); // true\n * ev2.observedIn(true); // true\n * @param il\n */\n observedIn(il: boolean): boolean {\n return il ? this.observedInIsrael() : this.observedInDiaspora();\n }\n /**\n * Makes a clone of this Event object\n * @deprecated\n */\n clone(): Event {\n const ev = new Event(this.date, this.desc, this.mask);\n // overwrite all enumerable properties\n Object.assign(ev, this);\n return ev;\n }\n /**\n * Returns a list of event categories\n */\n getCategories(): string[] {\n const mask = this.getFlags();\n for (const attrs of flagToCategory) {\n const attr0 = attrs[0] as number;\n if (mask & attr0) {\n return attrs.slice(1) as string[];\n }\n }\n return ['unknown'];\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event.js","sources":["../../../src/event.ts"],"sourcesContent":["import {HDate, Locale} from '@hebcal/hdate';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\n/**\n * Holiday flags for Event. These flags are typically\n * combined using bitwise arithmetic to form a mask.\n * @readonly\n * @enum {number}\n */\nexport const flags = {\n /** Chag, yontiff, yom tov */\n CHAG: 0x000001,\n /** Light candles 18 minutes before sundown */\n LIGHT_CANDLES: 0x000002,\n /** End of holiday (end of Yom Tov) */\n YOM_TOV_ENDS: 0x000004,\n /** Observed only in the Diaspora (chutz l'aretz) */\n CHUL_ONLY: 0x000008,\n /** Observed only in Israel */\n IL_ONLY: 0x000010,\n /** Light candles in the evening at Tzeit time (3 small stars) */\n LIGHT_CANDLES_TZEIS: 0x000020,\n /** Candle-lighting for Chanukah */\n CHANUKAH_CANDLES: 0x000040,\n /** Rosh Chodesh, beginning of a new Hebrew month */\n ROSH_CHODESH: 0x000080,\n /** Minor fasts like Tzom Tammuz, Ta'anit Esther, ... */\n MINOR_FAST: 0x000100,\n /** Shabbat Shekalim, Zachor, ... */\n SPECIAL_SHABBAT: 0x000200,\n /** Weekly sedrot on Saturdays */\n PARSHA_HASHAVUA: 0x000400,\n /** Daily page of Talmud (Bavli) */\n DAF_YOMI: 0x000800,\n /** Days of the Omer */\n OMER_COUNT: 0x001000,\n /** Yom HaShoah, Yom HaAtzma'ut, ... */\n MODERN_HOLIDAY: 0x002000,\n /** Yom Kippur and Tish'a B'Av */\n MAJOR_FAST: 0x004000,\n /** On the Saturday before Rosh Chodesh */\n SHABBAT_MEVARCHIM: 0x008000,\n /** Molad */\n MOLAD: 0x010000,\n /** Yahrzeit or Hebrew Anniversary */\n USER_EVENT: 0x020000,\n /** Daily Hebrew date (\"11th of Sivan, 5780\") */\n HEBREW_DATE: 0x040000,\n /** A holiday that's not major, modern, rosh chodesh, or a fast day */\n MINOR_HOLIDAY: 0x080000,\n /** Evening before a major or minor holiday */\n EREV: 0x100000,\n /** Chol haMoed, intermediate days of Pesach or Sukkot */\n CHOL_HAMOED: 0x200000,\n /** Mishna Yomi */\n MISHNA_YOMI: 0x400000,\n /** Yom Kippur Katan, minor day of atonement on the day preceeding each Rosh Chodesh */\n YOM_KIPPUR_KATAN: 0x800000,\n /** Daily page of Jerusalem Talmud (Yerushalmi) */\n YERUSHALMI_YOMI: 0x1000000,\n /** Nach Yomi */\n NACH_YOMI: 0x2000000,\n /** Daily Learning */\n DAILY_LEARNING: 0x4000000,\n /** Yizkor */\n YIZKOR: 0x8000000,\n} as const;\n\nconst flagToCategory = [\n [flags.MAJOR_FAST, 'holiday', 'major', 'fast'],\n [flags.CHANUKAH_CANDLES, 'holiday', 'major'],\n [flags.HEBREW_DATE, 'hebdate'],\n [flags.MINOR_FAST, 'holiday', 'fast'],\n [flags.MINOR_HOLIDAY, 'holiday', 'minor'],\n [flags.MODERN_HOLIDAY, 'holiday', 'modern'],\n [flags.MOLAD, 'molad'],\n [flags.OMER_COUNT, 'omer'],\n [flags.PARSHA_HASHAVUA, 'parashat'], // backwards-compat\n [flags.ROSH_CHODESH, 'roshchodesh'],\n [flags.SHABBAT_MEVARCHIM, 'mevarchim'],\n [flags.SPECIAL_SHABBAT, 'holiday', 'shabbat'],\n [flags.USER_EVENT, 'user'],\n [flags.YIZKOR, 'yizkor'],\n] as const;\n\n/**\n * Represents an Event with a title, date, and flags.\n *\n * Events are used to represent holidays, candle-lighting times,\n * Torah readings, and more.\n *\n * To get the title of the event a language other than English\n * with Sephardic transliterations, use the `render()` method.\n */\nexport class Event {\n /** Hebrew date of this event */\n readonly date: HDate;\n /**\n * Untranslated title of this event. Note that these description\n * strings are always in English and will remain stable across releases.\n * To get the title of the event in another language, use the\n * `render()` method.\n */\n readonly desc: string;\n /** Bitmask of optional event flags. See {@link flags} */\n readonly mask: number;\n /** Optional emoji character such as ✡️, 🕯️, 🕎, 🕍, 🌒 */\n emoji?: string;\n /** Optional longer description or memo text */\n memo?: string;\n /** Alarms are used by iCalendar feeds */\n alarm?: Date | string | boolean;\n /**\n * Constructs Event\n * @param date Hebrew date event occurs\n * @param desc Description (not translated)\n * @param [mask=0] optional bitmask of holiday flags (see {@link flags})\n * @param [attrs={}] optional additional attributes (e.g. `eventTimeStr`, `cholHaMoedDay`)\n */\n constructor(date: HDate, desc: string, mask = 0, attrs?: object) {\n if (!HDate.isHDate(date)) {\n throw new TypeError(`Invalid Event date: ${date}`);\n } else if (typeof desc !== 'string') {\n throw new TypeError(`Invalid Event description: ${desc}`);\n }\n this.date = date;\n this.desc = desc;\n this.mask = +mask;\n if (typeof attrs === 'object' && attrs !== null) {\n Object.assign(this, attrs);\n }\n }\n /**\n * Hebrew date of this event\n */\n getDate(): HDate {\n return this.date;\n }\n /**\n * Gregorian date of this event\n */\n greg(): Date {\n return this.date.greg();\n }\n /**\n * Untranslated title of this event. Note that these description\n * strings are always in English and will remain stable across releases.\n * To get the title of the event in another language, use the\n * `render()` method.\n */\n getDesc(): string {\n return this.desc;\n }\n /**\n * Bitmask of optional event flags. See {@link flags}\n */\n getFlags(): number {\n return this.mask;\n }\n /**\n * Returns (translated) description of this event\n * @example\n * const ev = new Event(new HDate(6, 'Sivan', 5749), 'Shavuot', flags.CHAG);\n * ev.render('en'); // 'Shavuot'\n * ev.render('he'); // 'שָׁבוּעוֹת'\n * ev.render('ashkenazi'); // 'Shavuos'\n * @param [locale] Optional locale name (defaults to active locale).\n */\n render(locale?: string): string {\n return Locale.gettext(this.desc, locale);\n }\n /**\n * Returns a brief (translated) description of this event.\n * For most events, this is the same as render(). For some events, it procudes\n * a shorter text (e.g. without a time or added description).\n * @param [locale] Optional locale name (defaults to active locale).\n */\n renderBrief(locale?: string): string {\n return this.render(locale);\n }\n /**\n * Optional holiday-specific Emoji or `null`.\n */\n getEmoji(): string | null {\n return this.emoji || null;\n }\n /**\n * Returns a simplified (untranslated) description for this event. For example,\n * the `HolidayEvent` class supports\n * \"Erev Pesach\" => \"Pesach\", and \"Sukkot III (CH''M)\" => \"Sukkot\".\n * For many holidays the basename and the event description are the same.\n */\n basename(): string {\n return this.getDesc();\n }\n /**\n * Returns a URL to hebcal.com or sefaria.org for more detail on the event.\n * Returns `undefined` for events with no detail page.\n */\n url(): string | undefined {\n return undefined;\n }\n /**\n * Is this event observed in Israel?\n * @example\n * const ev1 = new Event(new HDate(7, 'Sivan', 5749), 'Shavuot II', flags.CHAG | flags.CHUL_ONLY);\n * ev1.observedInIsrael(); // false\n * const ev2 = new Event(new HDate(26, 'Kislev', 5749), 'Chanukah: 3 Candles', 0);\n * ev2.observedInIsrael(); // true\n */\n observedInIsrael(): boolean {\n return !(this.mask & flags.CHUL_ONLY);\n }\n /**\n * Is this event observed in the Diaspora?\n * @example\n * const ev1 = new Event(new HDate(7, 'Sivan', 5749), 'Shavuot II', flags.CHAG | flags.CHUL_ONLY);\n * ev1.observedInDiaspora(); // true\n * const ev2 = new Event(new HDate(26, 'Kislev', 5749), 'Chanukah: 3 Candles', 0);\n * ev2.observedInDiaspora(); // true\n */\n observedInDiaspora(): boolean {\n return !(this.mask & flags.IL_ONLY);\n }\n /**\n * Is this event observed in Israel/Diaspora?\n * @example\n * const ev1 = new Event(new HDate(7, 'Sivan', 5749), 'Shavuot II', flags.CHAG | flags.CHUL_ONLY);\n * ev1.observedIn(false); // true\n * ev1.observedIn(true); // false\n * const ev2 = new Event(new HDate(26, 'Kislev', 5749), 'Chanukah: 3 Candles', 0);\n * ev2.observedIn(false); // true\n * ev2.observedIn(true); // true\n * @param il\n */\n observedIn(il: boolean): boolean {\n return il ? this.observedInIsrael() : this.observedInDiaspora();\n }\n /**\n * Returns a list of event categories\n */\n getCategories(): string[] {\n const mask = this.getFlags();\n for (const attrs of flagToCategory) {\n const attr0 = attrs[0] as number;\n if (mask & attr0) {\n return attrs.slice(1) as string[];\n }\n }\n return ['unknown'];\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v5.10.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
2
  import { months, isDate, greg2abs, HDate, daysInGregMonth } from '@hebcal/hdate';
3
3
 
4
4
  const TISHREI = months.TISHREI;
@@ -1 +1 @@
1
- {"version":3,"file":"getStartAndEnd.js","sources":["../../../src/getStartAndEnd.ts"],"sourcesContent":["import {greg2abs, isDate, daysInGregMonth, HDate, months} from '@hebcal/hdate';\nimport {CalOptions} from './CalOptions';\n\nconst TISHREI = months.TISHREI;\n\n/**\n * Gets the R.D. days for a number, Date, or HDate\n * @private\n */\nfunction getAbs(d: Date | HDate | number): number {\n if (typeof d === 'number') return d;\n if (isDate(d)) return greg2abs(d as Date);\n if (HDate.isHDate(d)) return (d as HDate).abs();\n throw new TypeError(`Invalid date type: ${d}`);\n}\n\nfunction getYear(options: CalOptions): number {\n if (typeof options.year !== 'undefined') {\n return Number(options.year);\n }\n return options.isHebrewYear\n ? new HDate().getFullYear()\n : new Date().getFullYear();\n}\n\n/**\n * Parse options object to determine start & end days\n * @private\n */\nexport function getStartAndEnd(options: CalOptions): number[] {\n if ((options.start && !options.end) || (options.end && !options.start)) {\n throw new TypeError('Both options.start and options.end are required');\n } else if (options.start && options.end) {\n return [getAbs(options.start), getAbs(options.end)];\n }\n const isHebrewYear = Boolean(options.isHebrewYear);\n const theYear = getYear(options);\n if (isNaN(theYear)) {\n throw new RangeError(`Invalid year ${options.year}`);\n } else if (isHebrewYear && theYear < 1) {\n throw new RangeError(`Invalid Hebrew year ${theYear}`);\n }\n const theMonth = getMonth(options);\n const numYears = Number(options.numYears) || 1;\n if (isHebrewYear) {\n return startEndHebrew(theMonth, theYear, numYears);\n } else {\n return startEndGregorian(theMonth, theYear, numYears);\n }\n}\n\nfunction getMonth(options: CalOptions): number {\n if (options.month) {\n if (options.isHebrewYear) {\n return HDate.monthNum(options.month);\n } else if (typeof options.month === 'number') {\n return options.month;\n }\n }\n return NaN;\n}\n\nfunction startEndGregorian(\n theMonth: number,\n theYear: number,\n numYears: number\n): number[] {\n const gregMonth = theMonth ? theMonth - 1 : 0;\n const startGreg = new Date(theYear, gregMonth, 1);\n if (theYear < 100) {\n startGreg.setFullYear(theYear);\n }\n const startAbs = greg2abs(startGreg);\n let endAbs;\n if (theMonth) {\n endAbs = startAbs + daysInGregMonth(theMonth, theYear) - 1;\n } else {\n const endYear = theYear + numYears;\n const endGreg = new Date(endYear, 0, 1);\n if (endYear < 100) {\n endGreg.setFullYear(endYear);\n }\n endAbs = greg2abs(endGreg) - 1;\n }\n return [startAbs, endAbs];\n}\n\nfunction startEndHebrew(\n theMonth: number,\n theYear: number,\n numYears: number\n): number[] {\n const startDate = new HDate(1, theMonth || TISHREI, theYear);\n let startAbs = startDate.abs();\n const endAbs = theMonth\n ? startAbs + startDate.daysInMonth()\n : new HDate(1, TISHREI, theYear + numYears).abs() - 1;\n // for full Hebrew year, start on Erev Rosh Hashana which\n // is technically in the previous Hebrew year\n // (but conveniently lets us get candle-lighting time for Erev)\n if (!theMonth && theYear > 1) {\n startAbs--;\n }\n return [startAbs, endAbs];\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getStartAndEnd.js","sources":["../../../src/getStartAndEnd.ts"],"sourcesContent":["import {greg2abs, isDate, daysInGregMonth, HDate, months} from '@hebcal/hdate';\nimport {CalOptions} from './CalOptions';\n\nconst TISHREI = months.TISHREI;\n\n/**\n * Gets the R.D. days for a number, Date, or HDate\n * @private\n */\nfunction getAbs(d: Date | HDate | number): number {\n if (typeof d === 'number') return d;\n if (isDate(d)) return greg2abs(d as Date);\n if (HDate.isHDate(d)) return (d as HDate).abs();\n throw new TypeError(`Invalid date type: ${d}`);\n}\n\nfunction getYear(options: CalOptions): number {\n if (typeof options.year !== 'undefined') {\n return Number(options.year);\n }\n return options.isHebrewYear\n ? new HDate().getFullYear()\n : new Date().getFullYear();\n}\n\n/**\n * Parse options object to determine start & end days\n * @private\n */\nexport function getStartAndEnd(options: CalOptions): number[] {\n if ((options.start && !options.end) || (options.end && !options.start)) {\n throw new TypeError('Both options.start and options.end are required');\n } else if (options.start && options.end) {\n return [getAbs(options.start), getAbs(options.end)];\n }\n const isHebrewYear = Boolean(options.isHebrewYear);\n const theYear = getYear(options);\n if (isNaN(theYear)) {\n throw new RangeError(`Invalid year ${options.year}`);\n } else if (isHebrewYear && theYear < 1) {\n throw new RangeError(`Invalid Hebrew year ${theYear}`);\n }\n const theMonth = getMonth(options);\n const numYears = Number(options.numYears) || 1;\n if (isHebrewYear) {\n return startEndHebrew(theMonth, theYear, numYears);\n } else {\n return startEndGregorian(theMonth, theYear, numYears);\n }\n}\n\nfunction getMonth(options: CalOptions): number {\n if (options.month) {\n if (options.isHebrewYear) {\n return HDate.monthNum(options.month);\n } else if (typeof options.month === 'number') {\n return options.month;\n }\n }\n return NaN;\n}\n\nfunction startEndGregorian(\n theMonth: number,\n theYear: number,\n numYears: number\n): number[] {\n const gregMonth = theMonth ? theMonth - 1 : 0;\n const startGreg = new Date(theYear, gregMonth, 1);\n if (theYear < 100) {\n startGreg.setFullYear(theYear);\n }\n const startAbs = greg2abs(startGreg);\n let endAbs;\n if (theMonth) {\n endAbs = startAbs + daysInGregMonth(theMonth, theYear) - 1;\n } else {\n const endYear = theYear + numYears;\n const endGreg = new Date(endYear, 0, 1);\n if (endYear < 100) {\n endGreg.setFullYear(endYear);\n }\n endAbs = greg2abs(endGreg) - 1;\n }\n return [startAbs, endAbs];\n}\n\nfunction startEndHebrew(\n theMonth: number,\n theYear: number,\n numYears: number\n): number[] {\n const startDate = new HDate(1, theMonth || TISHREI, theYear);\n let startAbs = startDate.abs();\n const endAbs = theMonth\n ? startAbs + startDate.daysInMonth()\n : new HDate(1, TISHREI, theYear + numYears).abs() - 1;\n // for full Hebrew year, start on Erev Rosh Hashana which\n // is technically in the previous Hebrew year\n // (but conveniently lets us get candle-lighting time for Erev)\n if (!theMonth && theYear > 1) {\n startAbs--;\n }\n return [startAbs, endAbs];\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v5.10.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v6.0.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
 
@@ -1 +1 @@
1
- {"version":3,"file":"hallel.js","sources":["../../../src/hallel.ts"],"sourcesContent":["import {HDate, months} from '@hebcal/hdate';\nimport {Event, flags} from './event';\n\nconst NONE = 0;\nconst HALF = 1;\nconst WHOLE = 2;\n\n/**\n * @private\n */\nexport function hallel_(events: Event[], hdate: HDate): number {\n const whole = events\n .filter(ev => {\n const desc: string = ev.getDesc();\n const hd: HDate = ev.getDate();\n const month = hd.getMonth();\n const mday = hd.getDate();\n return (\n desc.startsWith('Chanukah') ||\n desc.startsWith('Shavuot') ||\n desc.startsWith('Sukkot') ||\n (month === months.NISAN &&\n (mday === 15 || mday === 16) &&\n ev.getFlags() & flags.CHAG) || // Pesach\n desc === \"Yom HaAtzma'ut\" ||\n desc === 'Yom Yerushalayim'\n );\n })\n .map(ev => {\n return ev.getDate().abs();\n });\n\n const abs = hdate.abs();\n if (whole.includes(abs)) {\n return WHOLE;\n }\n\n const half = events\n .filter(ev => {\n const desc = ev.getDesc();\n return (\n ev.getFlags() & flags.ROSH_CHODESH ||\n (desc.startsWith('Pesach') &&\n desc !== 'Pesach I' &&\n desc !== 'Pesach II')\n );\n })\n .map(ev => {\n return ev.getDate().abs();\n });\n\n if (half.includes(abs)) {\n return HALF;\n }\n\n return NONE;\n}\n"],"names":[],"mappings":";;;;AAGA,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,KAAK,GAAG,CAAC;AAEf;;AAEG;AACG,SAAU,OAAO,CAAC,MAAe,EAAE,KAAY,EAAA;IACnD,MAAM,KAAK,GAAG;SACX,MAAM,CAAC,EAAE,IAAG;AACX,QAAA,MAAM,IAAI,GAAW,EAAE,CAAC,OAAO,EAAE;AACjC,QAAA,MAAM,EAAE,GAAU,EAAE,CAAC,OAAO,EAAE;AAC9B,QAAA,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE;AAC3B,QAAA,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;AACzB,QAAA,QACE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;AAC3B,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;AAC1B,YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;AACzB,aAAC,KAAK,KAAK,MAAM,CAAC,KAAK;AACrB,iBAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC5B,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;AAC7B,YAAA,IAAI,KAAK,gBAAgB;YACzB,IAAI,KAAK,kBAAkB;AAE/B,KAAC;SACA,GAAG,CAAC,EAAE,IAAG;AACR,QAAA,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE;AAC3B,KAAC,CAAC;AAEJ,IAAA,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE;AACvB,IAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACvB,QAAA,OAAO,KAAK;;IAGd,MAAM,IAAI,GAAG;SACV,MAAM,CAAC,EAAE,IAAG;AACX,QAAA,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;QACzB,QACE,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,YAAY;AAClC,aAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;AACxB,gBAAA,IAAI,KAAK,UAAU;AACnB,gBAAA,IAAI,KAAK,WAAW,CAAC;AAE3B,KAAC;SACA,GAAG,CAAC,EAAE,IAAG;AACR,QAAA,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE;AAC3B,KAAC,CAAC;AAEJ,IAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACtB,QAAA,OAAO,IAAI;;AAGb,IAAA,OAAO,IAAI;AACb;;;;"}
1
+ {"version":3,"file":"hallel.js","sources":["../../../src/hallel.ts"],"sourcesContent":["import {HDate, months} from '@hebcal/hdate';\nimport {Event, flags} from './event';\n\nconst NONE = 0;\nconst HALF = 1;\nconst WHOLE = 2;\n\n/**\n * @private\n */\nexport function hallel_(events: Event[], hdate: HDate): number {\n const whole = events\n .filter(ev => {\n const desc: string = ev.getDesc();\n const hd: HDate = ev.getDate();\n const month = hd.getMonth();\n const mday = hd.getDate();\n return (\n desc.startsWith('Chanukah') ||\n desc.startsWith('Shavuot') ||\n desc.startsWith('Sukkot') ||\n (month === months.NISAN &&\n (mday === 15 || mday === 16) &&\n ev.getFlags() & flags.CHAG) || // Pesach\n desc === \"Yom HaAtzma'ut\" ||\n desc === 'Yom Yerushalayim'\n );\n })\n .map(ev => {\n return ev.getDate().abs();\n });\n\n const abs = hdate.abs();\n if (whole.includes(abs)) {\n return WHOLE;\n }\n\n const half = events\n .filter(ev => {\n const desc = ev.getDesc();\n return (\n ev.getFlags() & flags.ROSH_CHODESH ||\n (desc.startsWith('Pesach') &&\n desc !== 'Pesach I' &&\n desc !== 'Pesach II')\n );\n })\n .map(ev => {\n return ev.getDate().abs();\n });\n\n if (half.includes(abs)) {\n return HALF;\n }\n\n return NONE;\n}\n"],"names":[],"mappings":";;;;AAGA,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,KAAK,GAAG,CAAC;AAEf;;AAEG;AACG,SAAU,OAAO,CAAC,MAAe,EAAE,KAAY,EAAA;IACnD,MAAM,KAAK,GAAG;SACX,MAAM,CAAC,EAAE,IAAG;AACX,QAAA,MAAM,IAAI,GAAW,EAAE,CAAC,OAAO,EAAE;AACjC,QAAA,MAAM,EAAE,GAAU,EAAE,CAAC,OAAO,EAAE;AAC9B,QAAA,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE;AAC3B,QAAA,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;AACzB,QAAA,QACE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;AAC3B,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;AAC1B,YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;AACzB,aAAC,KAAK,KAAK,MAAM,CAAC,KAAK;AACrB,iBAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC5B,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;AAC7B,YAAA,IAAI,KAAK,gBAAgB;YACzB,IAAI,KAAK,kBAAkB;AAE/B,IAAA,CAAC;SACA,GAAG,CAAC,EAAE,IAAG;AACR,QAAA,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE;AAC3B,IAAA,CAAC,CAAC;AAEJ,IAAA,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE;AACvB,IAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACvB,QAAA,OAAO,KAAK;IACd;IAEA,MAAM,IAAI,GAAG;SACV,MAAM,CAAC,EAAE,IAAG;AACX,QAAA,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;QACzB,QACE,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,YAAY;AAClC,aAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;AACxB,gBAAA,IAAI,KAAK,UAAU;AACnB,gBAAA,IAAI,KAAK,WAAW,CAAC;AAE3B,IAAA,CAAC;SACA,GAAG,CAAC,EAAE,IAAG;AACR,QAAA,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE;AAC3B,IAAA,CAAC,CAAC;AAEJ,IAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACtB,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,OAAO,IAAI;AACb;;;;"}
@@ -6,6 +6,7 @@ declare const _default: {
6
6
  contexts: {
7
7
  "": {
8
8
  Korach: string[];
9
+ Chukat: string[];
9
10
  };
10
11
  };
11
12
  };
@@ -1,5 +1,5 @@
1
- /*! @hebcal/core v5.10.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
- var noNikudOverride = { "headers": { "plural-forms": "nplurals=2; plural=(n != 1);", "language": "he-x-NoNikud" }, "contexts": { "": { "Korach": ["קורח"] } } };
1
+ /*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
+ var noNikudOverride = { "headers": { "plural-forms": "nplurals=2; plural=(n != 1);", "language": "he-x-NoNikud" }, "contexts": { "": { "Korach": ["קורח"], "Chukat": ["חוקת"] } } };
3
3
 
4
4
  export { noNikudOverride as default };
5
5
  //# sourceMappingURL=he-x-NoNikud.po.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"he-x-NoNikud.po.js","sources":["../../../src/he-x-NoNikud.po.ts"],"sourcesContent":["export default {\"headers\":{\"plural-forms\":\"nplurals=2; plural=(n != 1);\",\"language\":\"he-x-NoNikud\"},\"contexts\":{\"\":{\"Korach\":[\"קורח\"]}}}"],"names":[],"mappings":";AAAA,sBAAe,EAAC,SAAS,EAAC,EAAC,cAAc,EAAC,8BAA8B,EAAC,UAAU,EAAC,cAAc,EAAC,EAAC,UAAU,EAAC,EAAC,EAAE,EAAC,EAAC,QAAQ,EAAC,CAAC,MAAM,CAAC,EAAC,EAAC,EAAC;;;;"}
1
+ {"version":3,"file":"he-x-NoNikud.po.js","sources":["../../../src/he-x-NoNikud.po.ts"],"sourcesContent":["export default {\"headers\":{\"plural-forms\":\"nplurals=2; plural=(n != 1);\",\"language\":\"he-x-NoNikud\"},\"contexts\":{\"\":{\"Korach\":[\"קורח\"],\"Chukat\":[\"חוקת\"]}}}"],"names":[],"mappings":";AAAA,sBAAe,EAAC,SAAS,EAAC,EAAC,cAAc,EAAC,8BAA8B,EAAC,UAAU,EAAC,cAAc,EAAC,EAAC,UAAU,EAAC,EAAC,EAAE,EAAC,EAAC,QAAQ,EAAC,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,CAAC,MAAM,CAAC,EAAC,EAAC,EAAC;;;;"}
package/dist/esm/he.po.js CHANGED
@@ -1,5 +1,5 @@
1
- /*! @hebcal/core v5.10.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
- var poHe = { "headers": { "plural-forms": "nplurals=2; plural=(n > 1);", "language": "he_IL" }, "contexts": { "": { "Shabbat": ["שַׁבָּת"], "Parashat": ["פָּרָשַׁת"], "Achrei Mot": ["אַחֲרֵי מוֹת"], "Balak": ["בָּלָק"], "Bamidbar": ["בְּמִדְבַּר"], "Bechukotai": ["בְּחֻקֹּתַי"], "Beha'alotcha": ["בְּהַעֲלֹתְךָ"], "Behar": ["בְּהַר"], "Bereshit": ["בְּרֵאשִׁית"], "Beshalach": ["בְּשַׁלַּח"], "Bo": ["בֹּא"], "Chayei Sara": ["חַיֵּי שָֹרָה"], "Chukat": ["חֻקַּת"], "Devarim": ["דְּבָרִים"], "Eikev": ["עֵקֶב"], "Emor": ["אֱמוֹר"], "Ha'azinu": ["הַאֲזִינוּ"], "Kedoshim": ["קְדשִׁים"], "Ki Tavo": ["כִּי־תָבוֹא"], "Ki Teitzei": ["כִּי־תֵצֵא"], "Ki Tisa": ["כִּי תִשָּׂא"], "Korach": ["קֹרַח"], "Lech-Lecha": ["לֶךְ־לְךָ"], "Masei": ["מַסְעֵי"], "Matot": ["מַּטּוֹת"], "Metzora": ["מְּצֹרָע"], "Miketz": ["מִקֵּץ"], "Mishpatim": ["מִּשְׁפָּטִים"], "Nasso": ["נָשׂא"], "Nitzavim": ["נִצָּבִים"], "Noach": ["נֹחַ"], "Pekudei": ["פְקוּדֵי"], "Pinchas": ["פִּינְחָס"], "Re'eh": ["רְאֵה"], "Sh'lach": ["שְׁלַח־לְךָ"], "Shemot": ["שְׁמוֹת"], "Shmini": ["שְּׁמִינִי"], "Shoftim": ["שׁוֹפְטִים"], "Tazria": ["תַזְרִיעַ"], "Terumah": ["תְּרוּמָה"], "Tetzaveh": ["תְּצַוֶּה"], "Toldot": ["תּוֹלְדוֹת"], "Tzav": ["צַו"], "Vaera": ["וָאֵרָא"], "Vaetchanan": ["וָאֶתְחַנַּן"], "Vayakhel": ["וַיַּקְהֵל"], "Vayechi": ["וַיְחִי"], "Vayeilech": ["וַיֵּלֶךְ"], "Vayera": ["וַיֵּרָא"], "Vayeshev": ["וַיֵּשֶׁב"], "Vayetzei": ["וַיֵּצֵא"], "Vayigash": ["וַיִּגַּשׁ"], "Vayikra": ["וַיִּקְרָא"], "Vayishlach": ["וַיִּשְׁלַח"], "Vezot Haberakhah": ["וְזֹאת הַבְּרָכָה"], "Yitro": ["יִתְרוֹ"], "Asara B'Tevet": ["עֲשָׂרָה בְּטֵבֵת"], "Candle lighting": ["הַדְלָקַת נֵרוֹת"], "Chanukah": ["חֲנוּכָּה"], "Chanukah: 1 Candle": ["חֲנוּכָּה: א׳ נֵר"], "Chanukah: 2 Candles": ["חֲנוּכָּה: ב׳ נֵרוֹת"], "Chanukah: 3 Candles": ["חֲנוּכָּה: ג׳ נֵרוֹת"], "Chanukah: 4 Candles": ["חֲנוּכָּה: ד׳ נֵרוֹת"], "Chanukah: 5 Candles": ["חֲנוּכָּה: ה׳ נֵרוֹת"], "Chanukah: 6 Candles": ["חֲנוּכָּה: ו׳ נֵרוֹת"], "Chanukah: 7 Candles": ["חֲנוּכָּה: ז׳ נֵרוֹת"], "Chanukah: 8 Candles": ["חֲנוּכָּה: ח׳ נֵרוֹת"], "Chanukah: 8th Day": ["חֲנוּכָּה: יוֹם ח׳"], "Days of the Omer": ["סְפִירַת הָעוֹמֶר"], "Omer": ["עוֹמֶר"], "day of the Omer": ["בָּעוֹמֶר"], "Erev Pesach": ["עֶרֶב פֶּסַח"], "Erev Purim": ["עֶרֶב פּוּרִים"], "Erev Rosh Hashana": ["עֶרֶב רֹאשׁ הַשָּׁנָה"], "Erev Shavuot": ["עֶרֶב שָׁבוּעוֹת"], "Erev Simchat Torah": ["עֶרֶב שִׂמְחַת תּוֹרָה"], "Erev Sukkot": ["עֶרֶב סוּכּוֹת"], "Erev Tish'a B'Av": ["עֶרֶב תִּשְׁעָה בְּאָב"], "Erev Yom Kippur": ["עֶרֶב יוֹם כִּפּוּר"], "Havdalah": ["הַבְדָּלָה"], "Lag BaOmer": ["ל״ג בָּעוֹמֶר"], "Leil Selichot": ["סליחות"], "Pesach": ["פֶּסַח"], "Pesach I": ["פֶּסַח א׳"], "Pesach II": ["פֶּסַח ב׳"], "Pesach II (CH''M)": ["פֶּסַח ב׳ (חוה״מ)"], "Pesach III (CH''M)": ["פֶּסַח ג׳ (חוה״מ)"], "Pesach IV (CH''M)": ["פֶּסַח ד׳ (חוה״מ)"], "Pesach Sheni": ["פֶּסַח שני"], "Pesach V (CH''M)": ["פֶּסַח ה׳ (חוה״מ)"], "Pesach VI (CH''M)": ["פֶּסַח ו׳ (חוה״מ)"], "Pesach VII": ["פֶּסַח ז׳"], "Pesach VIII": ["פֶּסַח ח׳"], "Purim": ["פּוּרִים"], "Purim Katan": ["פּוּרִים קָטָן"], "Rosh Chodesh %s": ["רֹאשׁ חוֹדֶשׁ %s"], "Rosh Chodesh": ["רֹאשׁ חוֹדֶשׁ"], "Rosh Hashana": ["רֹאשׁ הַשָּׁנָה"], "Rosh Hashana I": ["רֹאשׁ הַשָּׁנָה א׳"], "Rosh Hashana II": ["רֹאשׁ הַשָּׁנָה ב׳"], "Shabbat Chazon": ["שַׁבָּת חֲזוֹן"], "Shabbat HaChodesh": ["שַׁבָּת הַחֹדֶשׁ"], "Shabbat HaGadol": ["שַׁבָּת הַגָּדוֹל"], "Shabbat Nachamu": ["שַׁבָּת נַחֲמוּ"], "Shabbat Parah": ["שַׁבָּת פּרה"], "Shabbat Shekalim": ["שַׁבָּת שְׁקָלִים"], "Shabbat Shuva": ["שַׁבָּת שׁוּבָה"], "Shabbat Zachor": ["שַׁבָּת זָכוֹר"], "Shavuot": ["שָׁבוּעוֹת"], "Shavuot I": ["שָׁבוּעוֹת א׳"], "Shavuot II": ["שָׁבוּעוֹת ב׳"], "Shmini Atzeret": ["שְׁמִינִי עֲצֶרֶת"], "Shushan Purim": ["שׁוּשָׁן פּוּרִים"], "Sigd": ["סיגד"], "Simchat Torah": ["שִׂמְחַת תּוֹרָה"], "Sukkot": ["סוּכּוֹת"], "Sukkot I": ["סוּכּוֹת א׳"], "Sukkot II": ["סוּכּוֹת ב׳"], "Sukkot II (CH''M)": ["סוּכּוֹת ב׳ (חוה״מ)"], "Sukkot III (CH''M)": ["סוּכּוֹת ג׳ (חוה״מ)"], "Sukkot IV (CH''M)": ["סוּכּוֹת ד׳ (חוה״מ)"], "Sukkot V (CH''M)": ["סוּכּוֹת ה׳ (חוה״מ)"], "Sukkot VI (CH''M)": ["סוּכּוֹת ו׳ (חוה״מ)"], "Sukkot VII (Hoshana Raba)": ["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"], "Ta'anit Bechorot": ["תַּעֲנִית בְּכוֹרוֹת"], "Ta'anit Esther": ["תַּעֲנִית אֶסְתֵּר"], "Tish'a B'Av": ["תִּשְׁעָה בְּאָב"], "Tu B'Av": ["טוּ בְּאָב"], "Tu BiShvat": ["טוּ בִּשְׁבָט"], "Tu B'Shvat": ["טוּ בִּשְׁבָט"], "Tzom Gedaliah": ["צוֹם גְּדַלְיָה"], "Tzom Tammuz": ["צוֹם תָּמוּז"], "Yom HaAtzma'ut": ["יוֹם הָעַצְמָאוּת"], "Yom HaShoah": ["יוֹם הַשּׁוֹאָה"], "Yom HaZikaron": ["יוֹם הַזִּכָּרוֹן"], "Yom Kippur": ["יוֹם כִּפּוּר"], "Yom Yerushalayim": ["יוֹם יְרוּשָׁלַיִם"], "Yom HaAliyah": ["יוֹם הַעֲלִיָּה"], "Yom HaAliyah School Observance": ["שְׁמִירָת בֵּית הַסֵפֶר לְיוֹם הַעֲלִיָּה"], "Rosh Chodesh Adar": ["רֹאשׁ חוֹדֶשׁ אַדָר"], "Rosh Chodesh Adar I": ["רֹאשׁ חוֹדֶשׁ אַדָר א׳"], "Rosh Chodesh Adar II": ["רֹאשׁ חוֹדֶשׁ אַדָר ב׳"], "Rosh Chodesh Av": ["רֹאשׁ חוֹדֶשׁ אָב"], "Rosh Chodesh Cheshvan": ["רֹאשׁ חוֹדֶשׁ חֶשְׁוָן"], "Rosh Chodesh Elul": ["רֹאשׁ חוֹדֶשׁ אֱלוּל"], "Rosh Chodesh Iyyar": ["רֹאשׁ חוֹדֶשׁ אִיָיר"], "Rosh Chodesh Kislev": ["רֹאשׁ חוֹדֶשׁ כִּסְלֵו"], "Rosh Chodesh Nisan": ["רֹאשׁ חוֹדֶשׁ נִיסָן"], "Rosh Chodesh Sh'vat": ["רֹאשׁ חוֹדֶשׁ שְׁבָט"], "Rosh Chodesh Sivan": ["רֹאשׁ חוֹדֶשׁ סִיוָן"], "Rosh Chodesh Tamuz": ["רֹאשׁ חוֹדֶשׁ תָּמוּז"], "Rosh Chodesh Tevet": ["רֹאשׁ חוֹדֶשׁ טֵבֵת"], "min": ["דַּקּוֹת"], "Fast begins": ["תחילת הַצוֹם"], "Fast ends": ["סִיּוּם הַצוֹם"], "Rosh Hashana LaBehemot": ["רֹאשׁ הַשָּׁנָה לְמַעְשַׂר בְּהֵמָה"], "Tish'a B'Av (observed)": ["תִּשְׁעָה בְּאָב נִדחֶה"], "Shabbat Mevarchim Chodesh": ["שַׁבָּת מְבָרְכִים חוֹדֶשׁ"], "Shabbat Shirah": ["שַׁבָּת שִׁירָה"], "Lovingkindness": ["חֶֽסֶד"], "Might": ["גְבוּרָה"], "Beauty": ["תִּפְאֶֽרֶת"], "Eternity": ["נֶּֽצַח"], "Splendor": ["הוֹד"], "Foundation": ["יְּסוֹד"], "Majesty": ["מַּלְכוּת"], "day": ["יוֹם"], "Yom Kippur Katan": ["יוֹם כִּפּוּר קָטָן"], "Yizkor": ["יִזְכּוֹר"], "Family Day": ["יוֹם הַמִּשׁפָּחָה"], "Yitzhak Rabin Memorial Day": ["יוֹם הַזִּכָּרוֹן ליצחק רבין"], "Jabotinsky Day": ["יוֹם ז׳בוטינסקי"], "Herzl Day": ["יוֹם הרצל"], "Ben-Gurion Day": ["יוֹם בן־גוריון"], "Hebrew Language Day": ["יוֹם הַשָׂפָה הַעִברִית"], "Birkat Hachamah": ["בִרְכַּת הַחַמָּה"], "Shushan Purim Katan": ["שׁוּשָׁן פּוּרִים קָטָן"], "Purim Meshulash": ["פּוּרִים מְשׁוּלָּשׁ"], "Chag HaBanot": ["חַג הַבָּנוֹת"], "Molad": ["מוֹלָד הָלְּבָנָה"], "chalakim": ["חֲלָקִים"] } } };
1
+ /*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
+ var poHe = { "headers": { "plural-forms": "nplurals=2; plural=(n > 1);", "language": "he_IL" }, "contexts": { "": { "Shabbat": ["שַׁבָּת"], "Parashat": ["פָּרָשַׁת"], "Achrei Mot": ["אַחֲרֵי מוֹת"], "Balak": ["בָּלָק"], "Bamidbar": ["בְּמִדְבַּר"], "Bechukotai": ["בְּחֻקֹּתַי"], "Beha'alotcha": ["בְּהַעֲלֹתְךָ"], "Behar": ["בְּהַר"], "Bereshit": ["בְּרֵאשִׁית"], "Beshalach": ["בְּשַׁלַּח"], "Bo": ["בֹּא"], "Chayei Sara": ["חַיֵּי שָֹרָה"], "Chukat": ["חֻקַּת"], "Devarim": ["דְּבָרִים"], "Eikev": ["עֵקֶב"], "Emor": ["אֱמוֹר"], "Ha'azinu": ["הַאֲזִינוּ"], "Kedoshim": ["קְדשִׁים"], "Ki Tavo": ["כִּי־תָבוֹא"], "Ki Teitzei": ["כִּי־תֵצֵא"], "Ki Tisa": ["כִּי תִשָּׂא"], "Korach": ["קֹרַח"], "Lech-Lecha": ["לֶךְ־לְךָ"], "Masei": ["מַסְעֵי"], "Matot": ["מַטּוֹת"], "Metzora": ["מְצֹרָע"], "Miketz": ["מִקֵּץ"], "Mishpatim": ["מִשְׁפָּטִים"], "Nasso": ["נָשׂא"], "Nitzavim": ["נִצָּבִים"], "Noach": ["נֹחַ"], "Pekudei": ["פְקוּדֵי"], "Pinchas": ["פִּינְחָס"], "Re'eh": ["רְאֵה"], "Sh'lach": ["שְׁלַח־לְךָ"], "Shemot": ["שְׁמוֹת"], "Shmini": ["שְּׁמִינִי"], "Shoftim": ["שׁוֹפְטִים"], "Tazria": ["תַזְרִיעַ"], "Terumah": ["תְּרוּמָה"], "Tetzaveh": ["תְּצַוֶּה"], "Toldot": ["תּוֹלְדוֹת"], "Tzav": ["צַו"], "Vaera": ["וָאֵרָא"], "Vaetchanan": ["וָאֶתְחַנַּן"], "Vayakhel": ["וַיַּקְהֵל"], "Vayechi": ["וַיְחִי"], "Vayeilech": ["וַיֵּלֶךְ"], "Vayera": ["וַיֵּרָא"], "Vayeshev": ["וַיֵּשֶׁב"], "Vayetzei": ["וַיֵּצֵא"], "Vayigash": ["וַיִּגַּשׁ"], "Vayikra": ["וַיִּקְרָא"], "Vayishlach": ["וַיִּשְׁלַח"], "Vezot Haberakhah": ["וְזֹאת הַבְּרָכָה"], "Yitro": ["יִתְרוֹ"], "Asara B'Tevet": ["עֲשָׂרָה בְּטֵבֵת"], "Candle lighting": ["הַדְלָקַת נֵרוֹת"], "Chanukah": ["חֲנוּכָּה"], "Chanukah: 1 Candle": ["חֲנוּכָּה: א׳ נֵר"], "Chanukah: 2 Candles": ["חֲנוּכָּה: ב׳ נֵרוֹת"], "Chanukah: 3 Candles": ["חֲנוּכָּה: ג׳ נֵרוֹת"], "Chanukah: 4 Candles": ["חֲנוּכָּה: ד׳ נֵרוֹת"], "Chanukah: 5 Candles": ["חֲנוּכָּה: ה׳ נֵרוֹת"], "Chanukah: 6 Candles": ["חֲנוּכָּה: ו׳ נֵרוֹת"], "Chanukah: 7 Candles": ["חֲנוּכָּה: ז׳ נֵרוֹת"], "Chanukah: 8 Candles": ["חֲנוּכָּה: ח׳ נֵרוֹת"], "Chanukah: 8th Day": ["חֲנוּכָּה: יוֹם ח׳"], "Days of the Omer": ["סְפִירַת הָעוֹמֶר"], "Omer": ["עוֹמֶר"], "day of the Omer": ["בָּעוֹמֶר"], "Erev Pesach": ["עֶרֶב פֶּסַח"], "Erev Purim": ["עֶרֶב פּוּרִים"], "Erev Rosh Hashana": ["עֶרֶב רֹאשׁ הַשָּׁנָה"], "Erev Shavuot": ["עֶרֶב שָׁבוּעוֹת"], "Erev Simchat Torah": ["עֶרֶב שִׂמְחַת תּוֹרָה"], "Erev Sukkot": ["עֶרֶב סוּכּוֹת"], "Erev Tish'a B'Av": ["עֶרֶב תִּשְׁעָה בְּאָב"], "Erev Yom Kippur": ["עֶרֶב יוֹם כִּפּוּר"], "Havdalah": ["הַבְדָּלָה"], "Lag BaOmer": ["ל״ג בָּעוֹמֶר"], "Leil Selichot": ["סְלִיחוֹת"], "Pesach": ["פֶּסַח"], "Pesach I": ["פֶּסַח א׳"], "Pesach II": ["פֶּסַח ב׳"], "Pesach II (CH''M)": ["פֶּסַח ב׳ (חוה״מ)"], "Pesach III (CH''M)": ["פֶּסַח ג׳ (חוה״מ)"], "Pesach IV (CH''M)": ["פֶּסַח ד׳ (חוה״מ)"], "Pesach Sheni": ["פֶּסַח שֵׁנִי"], "Pesach V (CH''M)": ["פֶּסַח ה׳ (חוה״מ)"], "Pesach VI (CH''M)": ["פֶּסַח ו׳ (חוה״מ)"], "Pesach VII": ["פֶּסַח ז׳"], "Pesach VIII": ["פֶּסַח ח׳"], "Purim": ["פּוּרִים"], "Purim Katan": ["פּוּרִים קָטָן"], "Rosh Chodesh %s": ["רֹאשׁ חוֹדֶשׁ %s"], "Rosh Chodesh": ["רֹאשׁ חוֹדֶשׁ"], "Rosh Hashana": ["רֹאשׁ הַשָּׁנָה"], "Rosh Hashana I": ["רֹאשׁ הַשָּׁנָה א׳"], "Rosh Hashana II": ["רֹאשׁ הַשָּׁנָה ב׳"], "Shabbat Chazon": ["שַׁבַּת חֲזוֹן"], "Shabbat HaChodesh": ["שַׁבַּת הַחֹדֶשׁ"], "Shabbat HaGadol": ["שַׁבַּת הַגָּדוֹל"], "Shabbat Nachamu": ["שַׁבַּת נַחֲמוּ"], "Shabbat Parah": ["שַׁבַּת פָּרָה"], "Shabbat Shekalim": ["שַׁבַּת שְׁקָלִים"], "Shabbat Shuva": ["שַׁבַּת שׁוּבָה"], "Shabbat Zachor": ["שַׁבַּת זָכוֹר"], "Shavuot": ["שָׁבוּעוֹת"], "Shavuot I": ["שָׁבוּעוֹת א׳"], "Shavuot II": ["שָׁבוּעוֹת ב׳"], "Shmini Atzeret": ["שְׁמִינִי עֲצֶרֶת"], "Shushan Purim": ["שׁוּשָׁן פּוּרִים"], "Sigd": ["חַג הַסִּיגְד"], "Simchat Torah": ["שִׂמְחַת תּוֹרָה"], "Sukkot": ["סוּכּוֹת"], "Sukkot I": ["סוּכּוֹת א׳"], "Sukkot II": ["סוּכּוֹת ב׳"], "Sukkot II (CH''M)": ["סוּכּוֹת ב׳ (חוה״מ)"], "Sukkot III (CH''M)": ["סוּכּוֹת ג׳ (חוה״מ)"], "Sukkot IV (CH''M)": ["סוּכּוֹת ד׳ (חוה״מ)"], "Sukkot V (CH''M)": ["סוּכּוֹת ה׳ (חוה״מ)"], "Sukkot VI (CH''M)": ["סוּכּוֹת ו׳ (חוה״מ)"], "Sukkot VII (Hoshana Raba)": ["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"], "Ta'anit Bechorot": ["תַּעֲנִית בְּכוֹרוֹת"], "Ta'anit Esther": ["תַּעֲנִית אֶסְתֵּר"], "Tish'a B'Av": ["תִּשְׁעָה בְּאָב"], "Tu B'Av": ["ט״וּ בְּאָב"], "Tu BiShvat": ["ט״וּ בִּשְׁבָט"], "Tu B'Shvat": ["ט״וּ בִּשְׁבָט"], "Tzom Gedaliah": ["צוֹם גְּדַלְיָה"], "Tzom Tammuz": ["צוֹם י״ז בְּתַמּוּז"], "Yom HaAtzma'ut": ["יוֹם הָעַצְמָאוּת"], "Yom HaShoah": ["יוֹם הַשּׁוֹאָה"], "Yom HaZikaron": ["יוֹם הַזִּכָּרוֹן"], "Yom Kippur": ["יוֹם כִּפּוּר"], "Yom Yerushalayim": ["יוֹם יְרוּשָׁלַיִם"], "Yom HaAliyah": ["יוֹם הַעֲלִיָּה"], "Yom HaAliyah School Observance": ["שְׁמִירָת בֵּית הַסֵפֶר לְיוֹם הַעֲלִיָּה"], "Rosh Chodesh Adar": ["רֹאשׁ חוֹדֶשׁ אֲדָר"], "Rosh Chodesh Adar I": ["רֹאשׁ חוֹדֶשׁ אֲדָר א׳"], "Rosh Chodesh Adar II": ["רֹאשׁ חוֹדֶשׁ אֲדָר ב׳"], "Rosh Chodesh Av": ["רֹאשׁ חוֹדֶשׁ אָב"], "Rosh Chodesh Cheshvan": ["רֹאשׁ חוֹדֶשׁ חֶשְׁוָן"], "Rosh Chodesh Elul": ["רֹאשׁ חוֹדֶשׁ אֱלוּל"], "Rosh Chodesh Iyyar": ["רֹאשׁ חוֹדֶשׁ אִיָּיר"], "Rosh Chodesh Kislev": ["רֹאשׁ חוֹדֶשׁ כִּסְלֵו"], "Rosh Chodesh Nisan": ["רֹאשׁ חוֹדֶשׁ נִיסָן"], "Rosh Chodesh Sh'vat": ["רֹאשׁ חוֹדֶשׁ שְׁבָט"], "Rosh Chodesh Sivan": ["רֹאשׁ חוֹדֶשׁ סִיוָן"], "Rosh Chodesh Tamuz": ["רֹאשׁ חוֹדֶשׁ תַּמּוּז"], "Rosh Chodesh Tevet": ["רֹאשׁ חוֹדֶשׁ טֵבֵת"], "min": ["דַּקּוֹת"], "Fast begins": ["תְּחִילַּת הַצוֹם"], "Fast ends": ["סִיּוּם הַצוֹם"], "Rosh Hashana LaBehemot": ["רֹאשׁ הַשָּׁנָה לְמַעְשַׂר בְּהֵמָה"], "Tish'a B'Av (observed)": ["(תִּשְׁעָה בְּאָב (נִדְחָה"], "Shabbat Mevarchim Chodesh": ["שַׁבַּת מְבָרְכִים חוֹדֶשׁ"], "Shabbat Shirah": ["שַׁבַּת שִׁירָה"], "Lovingkindness": ["חֶסֶד"], "Might": ["גְּבוּרָה"], "Beauty": ["תִּפְאֶרֶת"], "Eternity": ["נֶּצַח"], "Splendor": ["הוֹד"], "Foundation": ["יְּסוֹד"], "Majesty": ["מַּלְכוּת"], "day": ["יוֹם"], "Yom Kippur Katan": ["יוֹם כִּפּוּר קָטָן"], "Yizkor": ["יִזְכּוֹר"], "Family Day": ["יוֹם הַמִּשׁפָּחָה"], "Yitzhak Rabin Memorial Day": ["יוֹם הַזִּכָּרוֹן לְיִצְחָק רַבִּין"], "Jabotinsky Day": ["יוֹם זַ׳בּוֹטִינְסְקִי"], "Herzl Day": ["יוֹם הֵרְצְל"], "Ben-Gurion Day": ["יוֹם בן־גוריון"], "Hebrew Language Day": ["יוֹם הַשָׂפָה הַעִברִית"], "Birkat Hachamah": ["בִּרְכַּת הַחַמָּה"], "Shushan Purim Katan": ["שׁוּשָׁן פּוּרִים קָטָן"], "Purim Meshulash": ["פּוּרִים מְשׁוּלָּשׁ"], "Chag HaBanot": ["חַג הַבָּנוֹת"], "Molad": ["מוֹלָד הָלְּבָנָה"], "chalakim": ["חֲלָקִים"] } } };
3
3
 
4
4
  export { poHe as default };
5
5
  //# sourceMappingURL=he.po.js.map