@hebcal/core 5.10.1 → 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.
- package/README.md +2 -2
- package/dist/HolidayEvent.d.ts +5 -6
- package/dist/ParshaEvent.d.ts +3 -9
- package/dist/bundle.js +4416 -6366
- package/dist/bundle.js.map +1 -1
- package/dist/bundle.min.js +20 -20
- package/dist/bundle.min.js.map +1 -1
- package/dist/candles.d.ts +2 -2
- package/dist/esm/DailyLearning.js +1 -1
- package/dist/esm/HebrewDateEvent.js +3 -3
- package/dist/esm/HebrewDateEvent.js.map +1 -1
- package/dist/esm/HolidayEvent.d.ts +5 -6
- package/dist/esm/HolidayEvent.js +30 -15
- package/dist/esm/HolidayEvent.js.map +1 -1
- package/dist/esm/MevarchimChodeshEvent.js +1 -1
- package/dist/esm/ParshaEvent.d.ts +3 -9
- package/dist/esm/ParshaEvent.js +10 -19
- package/dist/esm/ParshaEvent.js.map +1 -1
- package/dist/esm/TimedEvent.js +1 -1
- package/dist/esm/YomKippurKatanEvent.js +1 -1
- package/dist/esm/ashkenazi.po.js +1 -1
- package/dist/esm/calendar.js +23 -14
- package/dist/esm/calendar.js.map +1 -1
- package/dist/esm/candles.d.ts +2 -2
- package/dist/esm/candles.js +7 -8
- package/dist/esm/candles.js.map +1 -1
- package/dist/esm/event.d.ts +4 -5
- package/dist/esm/event.js +7 -11
- package/dist/esm/event.js.map +1 -1
- package/dist/esm/getStartAndEnd.js +1 -1
- package/dist/esm/hallel.js +1 -1
- package/dist/esm/he-x-NoNikud.po.js +1 -1
- package/dist/esm/he.po.js +1 -1
- package/dist/esm/hebcal.js +1 -1
- package/dist/esm/holidays.js +6 -34
- package/dist/esm/holidays.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/isAssurBemlacha.js +1 -1
- package/dist/esm/locale.js +2 -12
- package/dist/esm/locale.js.map +1 -1
- package/dist/esm/location.js +1 -1
- package/dist/esm/modern.js +1 -1
- package/dist/esm/molad.js +2 -2
- package/dist/esm/molad.js.map +1 -1
- package/dist/esm/omer.js +4 -4
- package/dist/esm/omer.js.map +1 -1
- package/dist/esm/parshaName.js +2 -2
- package/dist/esm/parshaName.js.map +1 -1
- package/dist/esm/parshaYear.js +2 -2
- package/dist/esm/parshaYear.js.map +1 -1
- package/dist/esm/pkgVersion.d.ts +1 -1
- package/dist/esm/pkgVersion.js +2 -2
- package/dist/esm/pkgVersion.js.map +1 -1
- package/dist/esm/reformatTimeStr.js +1 -1
- package/dist/esm/sedra.d.ts +2 -20
- package/dist/esm/sedra.js +10 -31
- package/dist/esm/sedra.js.map +1 -1
- package/dist/esm/staticHolidays.js +2 -9
- package/dist/esm/staticHolidays.js.map +1 -1
- package/dist/esm/tachanun.js +1 -1
- package/dist/esm/zmanim.js +1 -1
- package/dist/event.d.ts +4 -5
- package/dist/pkgVersion.d.ts +1 -1
- package/dist/sedra.d.ts +2 -20
- package/package.json +16 -26
- package/dist/index.cjs +0 -8378
- package/dist/index.cjs.map +0 -1
package/dist/esm/holidays.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"holidays.js","sources":["../../../src/holidays.ts"],"sourcesContent":["/*\n Hebcal - A Jewish Calendar Generator\n Copyright (c) 1994-2020 Danny Sadinoff\n Portions copyright Eyal Schachter and Michael J. Radwin\n\n https://github.com/hebcal/hebcal-es6\n\n This program is free software; you can redistribute it and/or\n modify it under the terms of the GNU General Public License\n as published by the Free Software Foundation; either version 2\n of the License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {HDate, months} from '@hebcal/hdate';\nimport QuickLRU from 'quick-lru';\nimport {Event, flags} from './event';\nimport {dateYomHaShoah, dateYomHaZikaron} from './modern';\nimport {getSedra} from './sedra';\nimport {\n staticHolidays,\n staticModernHolidays,\n holidayDesc as hdesc,\n} from './staticHolidays';\nimport {YomKippurKatanEvent} from './YomKippurKatanEvent';\nimport {\n HolidayEvent,\n ChanukahEvent,\n AsaraBTevetEvent,\n RoshHashanaEvent,\n RoshChodeshEvent,\n} from './HolidayEvent';\n\n/** @private */\nfunction observedInIsrael(ev: Event): boolean {\n return ev.observedInIsrael();\n}\n\n/** @private */\nfunction observedInDiaspora(ev: Event): boolean {\n return ev.observedInDiaspora();\n}\n\n/** @private */\nfunction holidayFilter(il: boolean) {\n return il ? observedInIsrael : observedInDiaspora;\n}\n\n/**\n * Returns an array of Events on this date (or `undefined` if no events)\n * @param date Hebrew Date, Gregorian date, or absolute R.D. day number\n * @param [il] use the Israeli schedule for holidays\n */\nexport function getHolidaysOnDate(\n date: HDate | Date | number,\n il?: boolean\n): HolidayEvent[] | undefined {\n const hd = HDate.isHDate(date) ? (date as HDate) : new HDate(date);\n const hdStr = hd.toString();\n const yearMap = getHolidaysForYear_(hd.getFullYear());\n const events = yearMap.get(hdStr);\n // if il isn't a boolean return both diaspora + IL for day\n if (typeof il === 'undefined' || typeof events === 'undefined') {\n return events;\n }\n const filtered = events.filter(holidayFilter(il));\n return filtered;\n}\n\nconst CHAG = flags.CHAG;\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 MINOR_HOLIDAY = flags.MINOR_HOLIDAY;\nconst EREV = flags.EREV;\n\nconst SUN = 0;\nconst TUE = 2;\nconst THU = 4;\nconst FRI = 5;\nconst SAT = 6;\n\nconst NISAN = months.NISAN;\nconst TAMUZ = months.TAMUZ;\nconst AV = months.AV;\nconst TISHREI = months.TISHREI;\nconst KISLEV = months.KISLEV;\nconst TEVET = months.TEVET;\nconst ADAR_I = months.ADAR_I;\nconst ADAR_II = months.ADAR_II;\n\nconst emojiIsraelFlag = {emoji: '🇮🇱'} as const;\nconst chanukahEmoji = '🕎';\nexport type HolidayYearMap = Map<string, HolidayEvent[]>;\nconst yearCache = new QuickLRU<number, HolidayYearMap>({maxSize: 400});\n\nconst KEYCAP_DIGITS = [\n '0️⃣',\n '1️⃣',\n '2️⃣',\n '3️⃣',\n '4️⃣',\n '5️⃣',\n '6️⃣',\n '7️⃣',\n '8️⃣',\n '9️⃣',\n] as const;\n\n/**\n * Lower-level holidays interface, which returns a `Map` of `Event`s indexed by\n * `HDate.toString()`. These events must filtered especially for `flags.IL_ONLY`\n * or `flags.CHUL_ONLY` depending on Israel vs. Diaspora holiday scheme.\n * @private\n */\nexport function getHolidaysForYear_(year: number): HolidayYearMap {\n if (typeof year !== 'number') {\n throw new TypeError(`bad Hebrew year: ${year}`);\n } else if (year < 1 || year > 32658) {\n throw new RangeError(`Hebrew year ${year} out of range 1-32658`);\n }\n const cached = yearCache.get(year);\n if (cached) {\n return cached;\n }\n\n const RH = new HDate(1, TISHREI, year);\n const pesach = new HDate(15, NISAN, year);\n\n const map = new Map<string, HolidayEvent[]>();\n function add(...events: HolidayEvent[]) {\n for (const ev of events) {\n const key = ev.date.toString();\n const arr = map.get(key);\n if (typeof arr === 'object') {\n if (arr[0].getFlags() & EREV) {\n arr.unshift(ev);\n } else {\n arr.push(ev);\n }\n } else {\n map.set(key, [ev]);\n }\n }\n }\n\n for (const h of staticHolidays) {\n const hd = new HDate(h.dd, h.mm, year);\n const ev = new HolidayEvent(hd, h.desc, h.flags);\n if (h.emoji) ev.emoji = h.emoji;\n if (h.chmDay) ev.cholHaMoedDay = h.chmDay;\n add(ev);\n }\n\n // standard holidays that don't shift based on year\n add(new RoshHashanaEvent(RH, year, CHAG | LIGHT_CANDLES_TZEIS));\n\n // Variable date holidays\n const tzomGedaliahDay: number = RH.getDay() === THU ? 4 : 3;\n add(\n new HolidayEvent(\n new HDate(tzomGedaliahDay, TISHREI, year),\n hdesc.TZOM_GEDALIAH,\n MINOR_FAST\n )\n );\n // first SAT after RH\n add(\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, 7 + RH.abs())),\n hdesc.SHABBAT_SHUVA,\n SPECIAL_SHABBAT\n )\n );\n const rchTevet = HDate.shortKislev(year)\n ? new HDate(1, TEVET, year)\n : new HDate(30, KISLEV, year);\n add(new HolidayEvent(rchTevet, hdesc.CHAG_HABANOT, MINOR_HOLIDAY));\n // yes, we know Kislev 30-32 are wrong\n // HDate() corrects the month automatically\n for (let candles = 2; candles <= 8; candles++) {\n const hd = new HDate(23 + candles, KISLEV, year);\n add(\n new ChanukahEvent(\n hd,\n `Chanukah: ${candles} Candles`,\n MINOR_HOLIDAY | CHANUKAH_CANDLES,\n {\n chanukahDay: candles - 1,\n emoji: chanukahEmoji + KEYCAP_DIGITS[candles],\n }\n )\n );\n }\n add(\n new ChanukahEvent(\n new HDate(32, KISLEV, year),\n hdesc.CHANUKAH_8TH_DAY,\n MINOR_HOLIDAY,\n {chanukahDay: 8, emoji: chanukahEmoji}\n )\n );\n add(\n new AsaraBTevetEvent(\n new HDate(10, TEVET, year),\n hdesc.ASARA_BTEVET,\n MINOR_FAST\n )\n );\n const pesachAbs = pesach.abs();\n add(\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, pesachAbs - 43)),\n hdesc.SHABBAT_SHEKALIM,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, pesachAbs - 30)),\n hdesc.SHABBAT_ZACHOR,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(pesachAbs - (pesach.getDay() === TUE ? 33 : 31)),\n hdesc.TAANIT_ESTHER,\n MINOR_FAST\n )\n );\n const haChodeshAbs = HDate.dayOnOrBefore(SAT, pesachAbs - 14);\n add(\n new HolidayEvent(\n new HDate(haChodeshAbs - 7),\n hdesc.SHABBAT_PARAH,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(haChodeshAbs),\n hdesc.SHABBAT_HACHODESH,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, pesachAbs - 1)),\n hdesc.SHABBAT_HAGADOL,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n // if the fast falls on Shabbat, move to Thursday\n pesach.prev().getDay() === SAT\n ? pesach.onOrBefore(THU)\n : new HDate(14, NISAN, year),\n hdesc.TAANIT_BECHOROT,\n MINOR_FAST\n )\n );\n add(\n new HolidayEvent(\n new HDate(\n HDate.dayOnOrBefore(SAT, new HDate(1, TISHREI, year + 1).abs() - 4)\n ),\n hdesc.LEIL_SELICHOT,\n MINOR_HOLIDAY,\n {emoji: '🕍'}\n )\n );\n\n if (pesach.getDay() === SUN) {\n add(\n new HolidayEvent(\n new HDate(16, ADAR_II, year),\n hdesc.PURIM_MESHULASH,\n MINOR_HOLIDAY\n )\n );\n }\n\n if (HDate.isLeapYear(year)) {\n add(\n new HolidayEvent(\n new HDate(14, ADAR_I, year),\n hdesc.PURIM_KATAN,\n MINOR_HOLIDAY,\n {emoji: '🎭️'}\n )\n );\n add(\n new HolidayEvent(\n new HDate(15, ADAR_I, year),\n hdesc.SHUSHAN_PURIM_KATAN,\n MINOR_HOLIDAY,\n {emoji: '🎭️'}\n )\n );\n }\n\n const nisan27dt = dateYomHaShoah(year);\n if (nisan27dt) {\n add(new HolidayEvent(nisan27dt, hdesc.YOM_HASHOAH, MODERN_HOLIDAY));\n }\n\n const yomHaZikaronDt = dateYomHaZikaron(year);\n if (yomHaZikaronDt) {\n add(\n new HolidayEvent(\n yomHaZikaronDt,\n hdesc.YOM_HAZIKARON,\n MODERN_HOLIDAY,\n emojiIsraelFlag\n ),\n new HolidayEvent(\n yomHaZikaronDt.next(),\n hdesc.YOM_HAATZMA_UT,\n MODERN_HOLIDAY,\n emojiIsraelFlag\n )\n );\n }\n\n for (const h of staticModernHolidays) {\n if (year >= h.firstYear) {\n let hd = new HDate(h.dd, h.mm, year);\n const dow = hd.getDay();\n if (h.friSatMovetoThu && (dow === FRI || dow === SAT)) {\n hd = hd.onOrBefore(THU);\n } else if (h.friPostponeToSun && dow === FRI) {\n hd = new HDate(hd.abs() + 2);\n } else if (h.satPostponeToSun && dow === SAT) {\n hd = hd.next();\n }\n const mask = h.chul ? MODERN_HOLIDAY : MODERN_HOLIDAY | IL_ONLY;\n const ev = new HolidayEvent(hd, h.desc, mask);\n if (!h.suppressEmoji) {\n ev.emoji = '🇮🇱';\n }\n add(ev);\n }\n }\n\n let tamuz17 = new HDate(17, TAMUZ, year);\n let tamuz17attrs;\n if (tamuz17.getDay() === SAT) {\n tamuz17 = new HDate(18, TAMUZ, year);\n tamuz17attrs = {observed: true};\n }\n add(new HolidayEvent(tamuz17, hdesc.TZOM_TAMMUZ, MINOR_FAST, tamuz17attrs));\n\n let av9dt = new HDate(9, AV, year);\n let av9title = hdesc.TISHA_BAV;\n let av9attrs;\n if (av9dt.getDay() === SAT) {\n av9dt = av9dt.next();\n av9attrs = {observed: true};\n av9title += ' (observed)';\n }\n const av9abs = av9dt.abs();\n add(\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, av9abs)),\n hdesc.SHABBAT_CHAZON,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n av9dt.prev(),\n hdesc.EREV_TISHA_BAV,\n EREV | MAJOR_FAST,\n av9attrs\n ),\n new HolidayEvent(av9dt, av9title, MAJOR_FAST, av9attrs),\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, av9abs + 7)),\n hdesc.SHABBAT_NACHAMU,\n SPECIAL_SHABBAT\n )\n );\n\n const monthsInYear = HDate.monthsInYear(year);\n for (let month = 1; month <= monthsInYear; month++) {\n const monthName = HDate.getMonthName(month, year);\n if (\n (month === NISAN\n ? HDate.daysInMonth(HDate.monthsInYear(year - 1), year - 1)\n : HDate.daysInMonth(month - 1, year)) === 30\n ) {\n add(new RoshChodeshEvent(new HDate(1, month, year), monthName));\n add(new RoshChodeshEvent(new HDate(30, month - 1, year), monthName));\n } else if (month !== TISHREI) {\n add(new RoshChodeshEvent(new HDate(1, month, year), monthName));\n }\n }\n\n // Begin: Yom Kippur Katan\n // start at Iyyar because one may not fast during Nisan\n for (let month = months.IYYAR; month <= monthsInYear; month++) {\n const nextMonth = month + 1;\n // Yom Kippur Katan is not observed on the day before Rosh Hashanah.\n // Not observed prior to Rosh Chodesh Cheshvan because Yom Kippur has just passed.\n // Not observed before Rosh Chodesh Tevet, because that day is Hanukkah.\n if (\n nextMonth === TISHREI ||\n nextMonth === months.CHESHVAN ||\n nextMonth === TEVET\n ) {\n continue;\n }\n let ykk = new HDate(29, month, year);\n const dow = ykk.getDay();\n if (dow === FRI || dow === SAT) {\n ykk = ykk.onOrBefore(THU);\n }\n\n const nextMonthName = HDate.getMonthName(nextMonth, year);\n const ev = new YomKippurKatanEvent(ykk, nextMonthName);\n add(ev);\n }\n\n const sedra = getSedra(year, false);\n const beshalachHd = sedra.find(15) as HDate;\n add(new HolidayEvent(beshalachHd, hdesc.SHABBAT_SHIRAH, SPECIAL_SHABBAT));\n\n // Birkat Hachamah appears only once every 28 years\n const birkatHaChama = getBirkatHaChama(year);\n if (birkatHaChama) {\n const hd = new HDate(birkatHaChama);\n add(\n new HolidayEvent(hd, hdesc.BIRKAT_HACHAMAH, MINOR_HOLIDAY, {emoji: '☀️'})\n );\n }\n\n yearCache.set(year, map);\n return map;\n}\n\n/**\n * Birkat Hachamah appears only once every 28 years.\n * Although almost always in Nisan, it can occur in Adar II.\n * - 27 Adar II 5461 (Gregorian year 1701)\n * - 29 Adar II 5993 (Gregorian year 2233)\n *\n * Due to drift, this will eventually slip into Iyyar\n * - 2 Iyyar 7141 (Gregorian year 3381)\n * @private\n */\nfunction getBirkatHaChama(year: number): number {\n const leap = HDate.isLeapYear(year);\n const startMonth = leap ? ADAR_II : NISAN;\n const startDay = leap ? 20 : 1;\n const baseRd = HDate.hebrew2abs(year, startMonth, startDay);\n for (let day = 0; day <= 40; day++) {\n const abs = baseRd + day;\n const elapsed = abs + 1373429;\n if (elapsed % 10227 === 172) {\n return abs;\n }\n }\n return 0;\n}\n\n/**\n * Returns an array of holidays for the year\n * @param year Hebrew year\n * @param il use the Israeli schedule for holidays\n */\nexport function getHolidaysForYearArray(\n year: number,\n il: boolean\n): HolidayEvent[] {\n const yearMap = getHolidaysForYear_(year);\n const startAbs = HDate.hebrew2abs(year, TISHREI, 1);\n const endAbs = HDate.hebrew2abs(year + 1, TISHREI, 1) - 1;\n let events: HolidayEvent[] = [];\n const myFilter = il ? observedInIsrael : observedInDiaspora;\n for (let absDt = startAbs; absDt <= endAbs; absDt++) {\n const hd = new HDate(absDt);\n const holidays = yearMap.get(hd.toString());\n if (holidays) {\n const filtered: HolidayEvent[] = holidays.filter(myFilter);\n events = events.concat(filtered);\n }\n }\n return events;\n}\n"],"names":["hdesc"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"holidays.js","sources":["../../../src/holidays.ts"],"sourcesContent":["/*\n Hebcal - A Jewish Calendar Generator\n Copyright (c) 1994-2020 Danny Sadinoff\n Portions copyright Eyal Schachter and Michael J. Radwin\n\n https://github.com/hebcal/hebcal-es6\n\n This program is free software; you can redistribute it and/or\n modify it under the terms of the GNU General Public License\n as published by the Free Software Foundation; either version 2\n of the License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {HDate, months} from '@hebcal/hdate';\nimport QuickLRU from 'quick-lru';\nimport {Event, flags} from './event';\nimport {dateYomHaShoah, dateYomHaZikaron} from './modern';\nimport {getSedra} from './sedra';\nimport {\n staticHolidays,\n staticModernHolidays,\n holidayDesc as hdesc,\n} from './staticHolidays';\nimport {YomKippurKatanEvent} from './YomKippurKatanEvent';\nimport {\n HolidayEvent,\n ChanukahEvent,\n AsaraBTevetEvent,\n RoshHashanaEvent,\n RoshChodeshEvent,\n} from './HolidayEvent';\n\n/**\n * Returns an array of Events on this date (or `undefined` if no events)\n * @param date Hebrew Date, Gregorian date, or absolute R.D. day number\n * @param [il] use the Israeli schedule for holidays\n */\nexport function getHolidaysOnDate(\n date: HDate | Date | number,\n il?: boolean\n): HolidayEvent[] | undefined {\n const hd = HDate.isHDate(date) ? (date as HDate) : new HDate(date);\n const hdStr = hd.toString();\n const yearMap = getHolidaysForYear_(hd.getFullYear());\n const events = yearMap.get(hdStr);\n // if il isn't a boolean return both diaspora + IL for day\n if (typeof il === 'undefined' || typeof events === 'undefined') {\n return events;\n }\n const filtered = events.filter(ev => ev.observedIn(il));\n return filtered;\n}\n\nconst CHAG = flags.CHAG;\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 MINOR_HOLIDAY = flags.MINOR_HOLIDAY;\nconst EREV = flags.EREV;\n\nconst SUN = 0;\nconst TUE = 2;\nconst THU = 4;\nconst FRI = 5;\nconst SAT = 6;\n\nconst NISAN = months.NISAN;\nconst TAMUZ = months.TAMUZ;\nconst AV = months.AV;\nconst TISHREI = months.TISHREI;\nconst KISLEV = months.KISLEV;\nconst TEVET = months.TEVET;\nconst ADAR_I = months.ADAR_I;\nconst ADAR_II = months.ADAR_II;\n\nconst emojiIsraelFlag = {emoji: '🇮🇱'} as const;\nexport type HolidayYearMap = Map<string, HolidayEvent[]>;\nconst yearCache = new QuickLRU<number, HolidayYearMap>({maxSize: 400});\n\n/**\n * Lower-level holidays interface, which returns a `Map` of `Event`s indexed by\n * `HDate.toString()`. These events must filtered especially for `flags.IL_ONLY`\n * or `flags.CHUL_ONLY` depending on Israel vs. Diaspora holiday scheme.\n * @private\n */\nexport function getHolidaysForYear_(year: number): HolidayYearMap {\n if (typeof year !== 'number') {\n throw new TypeError(`bad Hebrew year: ${year}`);\n } else if (year < 1 || year > 32658) {\n throw new RangeError(`Hebrew year ${year} out of range 1-32658`);\n }\n const cached = yearCache.get(year);\n if (cached) {\n return cached;\n }\n\n const RH = new HDate(1, TISHREI, year);\n const pesach = new HDate(15, NISAN, year);\n\n const map = new Map<string, HolidayEvent[]>();\n function add(...events: HolidayEvent[]) {\n for (const ev of events) {\n const key = ev.date.toString();\n const arr = map.get(key);\n if (typeof arr === 'object') {\n if (arr[0].getFlags() & EREV) {\n arr.unshift(ev);\n } else {\n arr.push(ev);\n }\n } else {\n map.set(key, [ev]);\n }\n }\n }\n\n for (const h of staticHolidays) {\n const hd = new HDate(h.dd, h.mm, year);\n const ev = new HolidayEvent(hd, h.desc, h.flags);\n if (h.emoji) ev.emoji = h.emoji;\n if (h.chmDay) ev.cholHaMoedDay = h.chmDay;\n add(ev);\n }\n\n // standard holidays that don't shift based on year\n add(new RoshHashanaEvent(RH, year, CHAG | LIGHT_CANDLES_TZEIS));\n\n // Variable date holidays\n const tzomGedaliahDay: number = RH.getDay() === THU ? 4 : 3;\n add(\n new HolidayEvent(\n new HDate(tzomGedaliahDay, TISHREI, year),\n hdesc.TZOM_GEDALIAH,\n MINOR_FAST\n )\n );\n // first SAT after RH\n add(\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, 7 + RH.abs())),\n hdesc.SHABBAT_SHUVA,\n SPECIAL_SHABBAT\n )\n );\n const rchTevet = HDate.shortKislev(year)\n ? new HDate(1, TEVET, year)\n : new HDate(30, KISLEV, year);\n add(new HolidayEvent(rchTevet, hdesc.CHAG_HABANOT, MINOR_HOLIDAY));\n add(\n new ChanukahEvent(\n new HDate(24, KISLEV, year),\n hdesc.CHANUKAH_1_CANDLE,\n EREV | MINOR_HOLIDAY | CHANUKAH_CANDLES,\n undefined\n )\n );\n // yes, we know Kislev 30-32 are wrong\n // HDate() corrects the month automatically\n for (let candles = 2; candles <= 8; candles++) {\n const hd = new HDate(23 + candles, KISLEV, year);\n add(\n new ChanukahEvent(\n hd,\n `Chanukah: ${candles} Candles`,\n MINOR_HOLIDAY | CHANUKAH_CANDLES,\n candles - 1\n )\n );\n }\n add(\n new ChanukahEvent(\n new HDate(32, KISLEV, year),\n hdesc.CHANUKAH_8TH_DAY,\n MINOR_HOLIDAY,\n 8\n )\n );\n add(\n new AsaraBTevetEvent(\n new HDate(10, TEVET, year),\n hdesc.ASARA_BTEVET,\n MINOR_FAST\n )\n );\n const pesachAbs = pesach.abs();\n add(\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, pesachAbs - 43)),\n hdesc.SHABBAT_SHEKALIM,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, pesachAbs - 30)),\n hdesc.SHABBAT_ZACHOR,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(pesachAbs - (pesach.getDay() === TUE ? 33 : 31)),\n hdesc.TAANIT_ESTHER,\n MINOR_FAST\n )\n );\n const haChodeshAbs = HDate.dayOnOrBefore(SAT, pesachAbs - 14);\n add(\n new HolidayEvent(\n new HDate(haChodeshAbs - 7),\n hdesc.SHABBAT_PARAH,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(haChodeshAbs),\n hdesc.SHABBAT_HACHODESH,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, pesachAbs - 1)),\n hdesc.SHABBAT_HAGADOL,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n // if the fast falls on Shabbat, move to Thursday\n pesach.prev().getDay() === SAT\n ? pesach.onOrBefore(THU)\n : new HDate(14, NISAN, year),\n hdesc.TAANIT_BECHOROT,\n MINOR_FAST\n )\n );\n add(\n new HolidayEvent(\n new HDate(\n HDate.dayOnOrBefore(SAT, new HDate(1, TISHREI, year + 1).abs() - 4)\n ),\n hdesc.LEIL_SELICHOT,\n MINOR_HOLIDAY,\n {emoji: '🕍'}\n )\n );\n\n if (pesach.getDay() === SUN) {\n add(\n new HolidayEvent(\n new HDate(16, ADAR_II, year),\n hdesc.PURIM_MESHULASH,\n MINOR_HOLIDAY\n )\n );\n }\n\n if (HDate.isLeapYear(year)) {\n add(\n new HolidayEvent(\n new HDate(14, ADAR_I, year),\n hdesc.PURIM_KATAN,\n MINOR_HOLIDAY,\n {emoji: '🎭️'}\n )\n );\n add(\n new HolidayEvent(\n new HDate(15, ADAR_I, year),\n hdesc.SHUSHAN_PURIM_KATAN,\n MINOR_HOLIDAY,\n {emoji: '🎭️'}\n )\n );\n }\n\n const nisan27dt = dateYomHaShoah(year);\n if (nisan27dt) {\n add(new HolidayEvent(nisan27dt, hdesc.YOM_HASHOAH, MODERN_HOLIDAY));\n }\n\n const yomHaZikaronDt = dateYomHaZikaron(year);\n if (yomHaZikaronDt) {\n add(\n new HolidayEvent(\n yomHaZikaronDt,\n hdesc.YOM_HAZIKARON,\n MODERN_HOLIDAY,\n emojiIsraelFlag\n ),\n new HolidayEvent(\n yomHaZikaronDt.next(),\n hdesc.YOM_HAATZMA_UT,\n MODERN_HOLIDAY,\n emojiIsraelFlag\n )\n );\n }\n\n for (const h of staticModernHolidays) {\n if (year >= h.firstYear) {\n let hd = new HDate(h.dd, h.mm, year);\n const dow = hd.getDay();\n if (h.friSatMovetoThu && (dow === FRI || dow === SAT)) {\n hd = hd.onOrBefore(THU);\n } else if (h.friPostponeToSun && dow === FRI) {\n hd = new HDate(hd.abs() + 2);\n } else if (h.satPostponeToSun && dow === SAT) {\n hd = hd.next();\n }\n const mask = h.chul ? MODERN_HOLIDAY : MODERN_HOLIDAY | IL_ONLY;\n const ev = new HolidayEvent(hd, h.desc, mask);\n if (!h.suppressEmoji) {\n ev.emoji = '🇮🇱';\n }\n add(ev);\n }\n }\n\n let tamuz17 = new HDate(17, TAMUZ, year);\n let tamuz17attrs;\n if (tamuz17.getDay() === SAT) {\n tamuz17 = new HDate(18, TAMUZ, year);\n tamuz17attrs = {observed: true};\n }\n add(new HolidayEvent(tamuz17, hdesc.TZOM_TAMMUZ, MINOR_FAST, tamuz17attrs));\n\n let av9dt = new HDate(9, AV, year);\n let av9title = hdesc.TISHA_BAV;\n let av9attrs;\n if (av9dt.getDay() === SAT) {\n av9dt = av9dt.next();\n av9attrs = {observed: true};\n av9title += ' (observed)';\n }\n const av9abs = av9dt.abs();\n add(\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, av9abs)),\n hdesc.SHABBAT_CHAZON,\n SPECIAL_SHABBAT\n ),\n new HolidayEvent(\n av9dt.prev(),\n hdesc.EREV_TISHA_BAV,\n EREV | MAJOR_FAST,\n av9attrs\n ),\n new HolidayEvent(av9dt, av9title, MAJOR_FAST, av9attrs),\n new HolidayEvent(\n new HDate(HDate.dayOnOrBefore(SAT, av9abs + 7)),\n hdesc.SHABBAT_NACHAMU,\n SPECIAL_SHABBAT\n )\n );\n\n const monthsInYear = HDate.monthsInYear(year);\n for (let month = 1; month <= monthsInYear; month++) {\n const monthName = HDate.getMonthName(month, year);\n if (\n (month === NISAN\n ? HDate.daysInMonth(HDate.monthsInYear(year - 1), year - 1)\n : HDate.daysInMonth(month - 1, year)) === 30\n ) {\n add(new RoshChodeshEvent(new HDate(1, month, year), monthName));\n add(new RoshChodeshEvent(new HDate(30, month - 1, year), monthName));\n } else if (month !== TISHREI) {\n add(new RoshChodeshEvent(new HDate(1, month, year), monthName));\n }\n }\n\n // Begin: Yom Kippur Katan\n // start at Iyyar because one may not fast during Nisan\n for (let month = months.IYYAR; month <= monthsInYear; month++) {\n const nextMonth = month + 1;\n // Yom Kippur Katan is not observed on the day before Rosh Hashanah.\n // Not observed prior to Rosh Chodesh Cheshvan because Yom Kippur has just passed.\n // Not observed before Rosh Chodesh Tevet, because that day is Hanukkah.\n if (\n nextMonth === TISHREI ||\n nextMonth === months.CHESHVAN ||\n nextMonth === TEVET\n ) {\n continue;\n }\n let ykk = new HDate(29, month, year);\n const dow = ykk.getDay();\n if (dow === FRI || dow === SAT) {\n ykk = ykk.onOrBefore(THU);\n }\n\n const nextMonthName = HDate.getMonthName(nextMonth, year);\n const ev = new YomKippurKatanEvent(ykk, nextMonthName);\n add(ev);\n }\n\n const sedra = getSedra(year, false);\n const beshalachHd = sedra.find(15) as HDate;\n add(new HolidayEvent(beshalachHd, hdesc.SHABBAT_SHIRAH, SPECIAL_SHABBAT));\n\n // Birkat Hachamah appears only once every 28 years\n const birkatHaChama = getBirkatHaChama(year);\n if (birkatHaChama) {\n const hd = new HDate(birkatHaChama);\n add(\n new HolidayEvent(hd, hdesc.BIRKAT_HACHAMAH, MINOR_HOLIDAY, {emoji: '☀️'})\n );\n }\n\n yearCache.set(year, map);\n return map;\n}\n\n/**\n * Birkat Hachamah appears only once every 28 years.\n * Although almost always in Nisan, it can occur in Adar II.\n * - 27 Adar II 5461 (Gregorian year 1701)\n * - 29 Adar II 5993 (Gregorian year 2233)\n *\n * Due to drift, this will eventually slip into Iyyar\n * - 2 Iyyar 7141 (Gregorian year 3381)\n * @private\n */\nfunction getBirkatHaChama(year: number): number {\n const leap = HDate.isLeapYear(year);\n const startMonth = leap ? ADAR_II : NISAN;\n const startDay = leap ? 20 : 1;\n const baseRd = HDate.hebrew2abs(year, startMonth, startDay);\n for (let day = 0; day <= 40; day++) {\n const abs = baseRd + day;\n const elapsed = abs + 1373429;\n if (elapsed % 10227 === 172) {\n return abs;\n }\n }\n return 0;\n}\n\n/**\n * Returns an array of holidays for the year\n * @param year Hebrew year\n * @param il use the Israeli schedule for holidays\n */\nexport function getHolidaysForYearArray(\n year: number,\n il: boolean\n): HolidayEvent[] {\n const yearMap = getHolidaysForYear_(year);\n const startAbs = HDate.hebrew2abs(year, TISHREI, 1);\n const endAbs = HDate.hebrew2abs(year + 1, TISHREI, 1) - 1;\n let events: HolidayEvent[] = [];\n for (let absDt = startAbs; absDt <= endAbs; absDt++) {\n const hd = new HDate(absDt);\n const holidays = yearMap.get(hd.toString());\n if (holidays) {\n const filtered: HolidayEvent[] = holidays.filter(ev => ev.observedIn(il));\n events = events.concat(filtered);\n }\n }\n return events;\n}\n"],"names":["hdesc"],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
export { version } from './pkgVersion.js';
|
|
3
3
|
export { HDate, Locale, gematriya, gematriyaStrToNum, greg, months } from '@hebcal/hdate';
|
|
4
4
|
import './locale.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { HDate } from '@hebcal/hdate';
|
|
3
3
|
import { Zmanim } from './zmanim.js';
|
|
4
4
|
import { getHolidaysOnDate } from './holidays.js';
|
package/dist/esm/locale.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { Locale } from '@hebcal/hdate';
|
|
3
3
|
export { Locale } from '@hebcal/hdate';
|
|
4
4
|
import poAshkenazi from './ashkenazi.po.js';
|
|
@@ -6,19 +6,9 @@ import poHe from './he.po.js';
|
|
|
6
6
|
import noNikudOverride from './he-x-NoNikud.po.js';
|
|
7
7
|
|
|
8
8
|
Locale.addTranslations('he', poHe);
|
|
9
|
-
Locale.addTranslations('h', poHe);
|
|
10
9
|
Locale.addTranslations('ashkenazi', poAshkenazi);
|
|
11
|
-
Locale.addTranslations('a', poAshkenazi);
|
|
12
10
|
/* Hebrew without nikkud */
|
|
13
|
-
const
|
|
14
|
-
const heNoNikud = {};
|
|
15
|
-
for (const [key, val] of Object.entries(heStrs)) {
|
|
16
|
-
heNoNikud[key] = [Locale.hebrewStripNikkud(val[0])];
|
|
17
|
-
}
|
|
18
|
-
const poHeNoNikud = {
|
|
19
|
-
headers: poHe.headers,
|
|
20
|
-
contexts: { '': heNoNikud },
|
|
21
|
-
};
|
|
11
|
+
const poHeNoNikud = Locale.copyLocaleNoNikud(poHe);
|
|
22
12
|
Locale.addTranslations('he-x-NoNikud', poHeNoNikud);
|
|
23
13
|
Locale.addTranslations('he-x-NoNikud', noNikudOverride);
|
|
24
14
|
//# sourceMappingURL=locale.js.map
|
package/dist/esm/locale.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale.js","sources":["../../../src/locale.ts"],"sourcesContent":["import {Locale
|
|
1
|
+
{"version":3,"file":"locale.js","sources":["../../../src/locale.ts"],"sourcesContent":["import {Locale} from '@hebcal/hdate';\nimport poAshkenazi from './ashkenazi.po';\nimport poHe from './he.po';\nimport noNikudOverride from './he-x-NoNikud.po';\n\nexport {Locale};\n\nLocale.addTranslations('he', poHe);\nLocale.addTranslations('ashkenazi', poAshkenazi);\n\n/* Hebrew without nikkud */\nconst poHeNoNikud = Locale.copyLocaleNoNikud(poHe);\nLocale.addTranslations('he-x-NoNikud', poHeNoNikud);\nLocale.addTranslations('he-x-NoNikud', noNikudOverride);\n"],"names":[],"mappings":";;;;;;;AAOA,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;AAClC,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC;AAEhD;AACA,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAClD,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE,WAAW,CAAC;AACnD,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC"}
|
package/dist/esm/location.js
CHANGED
package/dist/esm/modern.js
CHANGED
package/dist/esm/molad.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { Event, flags } from './event.js';
|
|
3
3
|
import { molad, HDate, Locale } from '@hebcal/hdate';
|
|
4
4
|
import { reformatTimeStr } from './reformatTimeStr.js';
|
|
@@ -85,7 +85,7 @@ class Molad {
|
|
|
85
85
|
*/
|
|
86
86
|
render(locale, options) {
|
|
87
87
|
var _a;
|
|
88
|
-
locale = locale !== null && locale !== void 0 ? locale :
|
|
88
|
+
locale = locale !== null && locale !== void 0 ? locale : 'en';
|
|
89
89
|
if (typeof locale === 'string') {
|
|
90
90
|
locale = locale.toLowerCase();
|
|
91
91
|
}
|
package/dist/esm/molad.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"molad.js","sources":["../../../src/molad.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport {Event, flags} from './event';\nimport {CalOptions} from './CalOptions';\nimport {HDate, Locale, molad, Molad as MoladBase} from '@hebcal/hdate';\nimport {reformatTimeStr} from './reformatTimeStr';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\nconst shortDayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nconst heDayNames = [\n 'רִאשׁוֹן',\n 'שֵׁנִי',\n 'שְׁלִישִׁי',\n 'רְבִיעִי',\n 'חֲמִישִׁי',\n 'שִׁישִּׁי',\n 'שַׁבָּת',\n];\nconst frDayNames = ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'];\nconst night = 'בַּלַּ֥יְלָה';\n\nfunction getHebrewTimeOfDay(hour: number): string {\n if (hour < 5) return night;\n else if (hour < 12) return 'בַּבֹּקֶר';\n else if (hour < 17) return 'בַּצׇּהֳרַיִים';\n else if (hour < 21) return 'בָּעֶרֶב';\n return night;\n}\n\n/**\n * Represents a molad, the moment when the new moon is \"born\"\n */\nexport class Molad {\n private readonly m: MoladBase;\n /**\n * Calculates the molad for a Hebrew month\n * @param year\n * @param month\n */\n constructor(year: number, month: number) {\n this.m = molad(year, month);\n }\n /**\n */\n getYear(): number {\n return this.m.year;\n }\n /**\n */\n getMonth(): number {\n return this.m.month;\n }\n /**\n */\n getMonthName(): string {\n return HDate.getMonthName(this.m.month, this.m.year);\n }\n /**\n * @returns Day of Week (0=Sunday, 6=Saturday)\n */\n getDow(): number {\n return this.m.dayOfWeek;\n }\n /**\n * @returns hour of day (0-23)\n */\n getHour(): number {\n return this.m.hour;\n }\n /**\n * @returns minutes past hour (0-59)\n */\n getMinutes(): number {\n return this.m.minutes;\n }\n /**\n * @returns parts of a minute (0-17)\n */\n getChalakim(): number {\n return this.m.chalakim;\n }\n /**\n * @param [locale] Optional locale name (defaults to active locale)\n * @param options\n */\n render(locale?: string, options?: CalOptions): string {\n locale = locale ??
|
|
1
|
+
{"version":3,"file":"molad.js","sources":["../../../src/molad.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport {Event, flags} from './event';\nimport {CalOptions} from './CalOptions';\nimport {HDate, Locale, molad, Molad as MoladBase} from '@hebcal/hdate';\nimport {reformatTimeStr} from './reformatTimeStr';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\nconst shortDayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nconst heDayNames = [\n 'רִאשׁוֹן',\n 'שֵׁנִי',\n 'שְׁלִישִׁי',\n 'רְבִיעִי',\n 'חֲמִישִׁי',\n 'שִׁישִּׁי',\n 'שַׁבָּת',\n];\nconst frDayNames = ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'];\nconst night = 'בַּלַּ֥יְלָה';\n\nfunction getHebrewTimeOfDay(hour: number): string {\n if (hour < 5) return night;\n else if (hour < 12) return 'בַּבֹּקֶר';\n else if (hour < 17) return 'בַּצׇּהֳרַיִים';\n else if (hour < 21) return 'בָּעֶרֶב';\n return night;\n}\n\n/**\n * Represents a molad, the moment when the new moon is \"born\"\n */\nexport class Molad {\n private readonly m: MoladBase;\n /**\n * Calculates the molad for a Hebrew month\n * @param year\n * @param month\n */\n constructor(year: number, month: number) {\n this.m = molad(year, month);\n }\n /**\n */\n getYear(): number {\n return this.m.year;\n }\n /**\n */\n getMonth(): number {\n return this.m.month;\n }\n /**\n */\n getMonthName(): string {\n return HDate.getMonthName(this.m.month, this.m.year);\n }\n /**\n * @returns Day of Week (0=Sunday, 6=Saturday)\n */\n getDow(): number {\n return this.m.dayOfWeek;\n }\n /**\n * @returns hour of day (0-23)\n */\n getHour(): number {\n return this.m.hour;\n }\n /**\n * @returns minutes past hour (0-59)\n */\n getMinutes(): number {\n return this.m.minutes;\n }\n /**\n * @returns parts of a minute (0-17)\n */\n getChalakim(): number {\n return this.m.chalakim;\n }\n /**\n * @param [locale] Optional locale name (defaults to active locale)\n * @param options\n */\n render(locale?: string, options?: CalOptions): string {\n locale = locale ?? 'en';\n if (typeof locale === 'string') {\n locale = locale.toLowerCase();\n }\n const isHebrewLocale =\n locale === 'he' || locale === 'he-x-nonikud' || locale === 'h';\n const isFrenchLocale = locale === 'fr';\n const monthName = Locale.gettext(this.getMonthName(), locale);\n const dayNames = isHebrewLocale ? heDayNames : (isFrenchLocale ? frDayNames : shortDayNames);\n const dow = dayNames[this.getDow()];\n const minutes = this.getMinutes();\n const hour = this.getHour();\n const chalakim = this.getChalakim();\n const moladStr = Locale.gettext('Molad', locale);\n const minutesStr = Locale.lookupTranslation('min', locale) ?? 'minutes';\n const chalakimStr = Locale.gettext('chalakim', locale);\n const and = Locale.gettext('and', locale);\n const after = Locale.gettext('after', locale);\n if (isHebrewLocale) {\n const ampm = getHebrewTimeOfDay(hour);\n const result =\n `${moladStr} ${monthName} יִהְיֶה בַּיּוֹם ${dow} בשָׁבוּעַ, ` +\n `בְּשָׁעָה ${hour} ${ampm}, ` +\n `ו-${minutes} ${minutesStr} ` +\n `ו-${chalakim} ${chalakimStr}`;\n if (locale === 'he-x-nonikud') {\n return Locale.hebrewStripNikkud(result);\n }\n return result;\n }\n const fmtTime = reformatTimeStr(`${hour}:00`, 'pm', options);\n const month = monthName.replace(/'/g, '’');\n return `${moladStr} ${month}: ${dow}, ${minutes} ${minutesStr} ${and} ${chalakim} ${chalakimStr} ${after} ${fmtTime}`;\n }\n}\n\n/** Represents a Molad announcement on Shabbat Mevarchim */\nexport class MoladEvent extends Event {\n readonly molad: Molad;\n private readonly options: CalOptions;\n /**\n * @param date Hebrew date event occurs\n * @param hyear molad year\n * @param hmonth molad month\n * @param options\n */\n constructor(date: HDate, hyear: number, hmonth: number, options: CalOptions) {\n const m = new Molad(hyear, hmonth);\n const monthName = m.getMonthName();\n super(date, `Molad ${monthName} ${hyear}`, flags.MOLAD);\n this.molad = m;\n this.options = options;\n }\n /**\n * @param [locale] Optional locale name (defaults to active locale).\n */\n render(locale?: string): string {\n return this.molad.render(locale, this.options);\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/esm/omer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
2
|
-
import {
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
|
+
import { gematriya, Locale } from '@hebcal/hdate';
|
|
3
3
|
import { Event, flags } from './event.js';
|
|
4
4
|
import './locale.js';
|
|
5
5
|
|
|
@@ -227,7 +227,7 @@ class OmerEvent extends Event {
|
|
|
227
227
|
* @param [locale] Optional locale name (defaults to active locale).
|
|
228
228
|
*/
|
|
229
229
|
render(locale) {
|
|
230
|
-
locale = locale !== null && locale !== void 0 ? locale :
|
|
230
|
+
locale = locale !== null && locale !== void 0 ? locale : 'en';
|
|
231
231
|
if (typeof locale === 'string') {
|
|
232
232
|
locale = locale.toLowerCase();
|
|
233
233
|
}
|
|
@@ -283,7 +283,7 @@ class OmerEvent extends Event {
|
|
|
283
283
|
* or `הַיוֹם עֲשָׂרָה יָמִים, שְׁהֵם שָׁבוּעַ אֶחָד וְשְׁלוֹשָׁה יָמִים לָעוֹמֶר`
|
|
284
284
|
*/
|
|
285
285
|
getTodayIs(locale) {
|
|
286
|
-
locale = locale !== null && locale !== void 0 ? locale :
|
|
286
|
+
locale = locale !== null && locale !== void 0 ? locale : 'en';
|
|
287
287
|
if (typeof locale === 'string') {
|
|
288
288
|
locale = locale.toLowerCase();
|
|
289
289
|
}
|
package/dist/esm/omer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omer.js","sources":["../../../src/omer.ts"],"sourcesContent":["import {HDate, Locale, gematriya} from '@hebcal/hdate';\nimport {Event, flags} from './event';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\n/**\n * Language for counting the Omer can be English or Hebrew.\n * Lang for the Sefira can be English, Hebrew, or Hebrew in Sephardic transliteration.\n */\nexport type OmerLang = 'en' | 'he' | 'translit';\n\nconst sefirot = {\n en: {\n infix: 'within ',\n infix26: 'within ',\n words: [\n '',\n 'Lovingkindness',\n 'Might',\n 'Beauty',\n 'Eternity',\n 'Splendor',\n 'Foundation',\n 'Majesty',\n ],\n pfxWords: null,\n },\n he: {\n infix: null,\n infix26: null,\n words: [\n '',\n 'חֶֽסֶד',\n 'גְּבוּרָה',\n 'תִּפְאֶֽרֶת',\n 'נֶּֽצַח',\n 'הוֹד',\n 'יְּסוֹד',\n 'מַלְכוּת',\n ],\n pfxWords: [\n '',\n 'שֶׁבְּחֶֽסֶד',\n 'שֶׁבִּגְבוּרָה',\n 'שֶׁבְּתִפְאֶֽרֶת',\n 'שֶׁבְּנֶֽצַח',\n 'שֶׁבְּהוֹד',\n 'שֶׁבִּיְסוֹד',\n 'שֶׁבְּמַלְכוּת',\n ],\n },\n translit: {\n infix: \"sheb'\",\n infix26: 'shebi',\n words: [\n '',\n 'Chesed',\n 'Gevurah',\n 'Tiferet',\n 'Netzach',\n 'Hod',\n 'Yesod',\n 'Malkhut',\n ],\n pfxWords: null,\n },\n} as const;\n\nfunction checkDay(omerDay: number): void {\n if (omerDay < 1 || omerDay > 49) {\n throw new RangeError(`Invalid Omer day ${omerDay}`);\n }\n}\n\nfunction getWeeks(omerDay: number): number[] {\n const weekNum: number = Math.floor((omerDay - 1) / 7) + 1;\n const daysWithinWeeks: number = omerDay % 7 || 7;\n return [weekNum, daysWithinWeeks];\n}\n\nfunction omerTodayIsEn(omerDay: number): string {\n const [weekNumber, daysWithinWeeks]: number[] = getWeeks(omerDay);\n\n const totalDaysStr: string = omerDay === 1 ? 'day' : 'days';\n let str = `Today is ${omerDay} ${totalDaysStr}`;\n\n if (weekNumber > 1 || omerDay === 7) {\n const day7: boolean = daysWithinWeeks === 7;\n const numWeeks: number = day7 ? weekNumber : weekNumber - 1;\n const weeksStr: string = numWeeks === 1 ? 'week' : 'weeks';\n str += `, which is ${numWeeks} ${weeksStr}`;\n if (!day7) {\n const daysStr: string = daysWithinWeeks === 1 ? 'day' : 'days';\n str += ` and ${daysWithinWeeks} ${daysStr}`;\n }\n }\n return str + ' of the Omer';\n}\n\n// adapted from pip hdate package (GPL)\n// https://github.com/py-libhdate/py-libhdate/blob/master/hdate/date.py\n\nconst tens = ['', 'עֲשָׂרָה', 'עֶשְׂרִים', 'שְׁלוֹשִׁים', 'אַרְבָּעִים'];\nconst ones = [\n '',\n 'אֶחָד',\n 'שְׁנַיִם',\n 'שְׁלוֹשָׁה',\n 'אַרְבָּעָה',\n 'חֲמִשָּׁה',\n 'שִׁשָּׁה',\n 'שִׁבְעָה',\n 'שְׁמוֹנָה',\n 'תִּשְׁעָה',\n];\n\nconst shnei = 'שְׁנֵי';\nconst yamim = 'יָמִים';\nconst shneiYamim = shnei + ' ' + yamim;\nconst shavuot = 'שָׁבוּעוֹת';\nconst yom = 'יוֹם';\nconst yomEchad = yom + ' ' + ones[1];\nconst asar = 'עָשָׂר';\n\nfunction omerTodayIsHe(omerDay: number): string {\n const ten: number = Math.floor(omerDay / 10);\n const one: number = omerDay % 10;\n let str = 'הַיּוֹם ';\n if (omerDay === 11) {\n str += 'אַחַד ' + asar;\n } else if (omerDay === 12) {\n str += 'שְׁנֵים ' + asar;\n } else if (12 < omerDay && omerDay < 20) {\n str += ones[one] + ' ' + asar;\n } else if (omerDay > 9) {\n str += ones[one];\n if (one) {\n str += ' ';\n str += ten === 3 ? 'וּ' : 'וְ';\n }\n }\n if (omerDay > 2) {\n if (omerDay > 20 || omerDay === 10 || omerDay === 20) {\n str += tens[ten];\n }\n if (omerDay < 11) {\n str += ones[one] + ' ' + yamim + ' ';\n } else {\n str += ' ' + yom + ' ';\n }\n } else if (omerDay === 1) {\n str += yomEchad + ' ';\n } else {\n // omer == 2\n str += shneiYamim + ' ';\n }\n if (omerDay > 6) {\n str = str.trim(); // remove trailing space before comma\n str += ', שֶׁהֵם ';\n const weeks: number = Math.floor(omerDay / 7);\n const days: number = omerDay % 7;\n if (weeks > 2) {\n str += ones[weeks] + ' ' + shavuot + ' ';\n } else if (weeks === 1) {\n str += 'שָׁבֽוּעַ' + ' ' + ones[1] + ' ';\n } else {\n // weeks == 2\n str += shnei + ' ' + shavuot + ' ';\n }\n if (days) {\n if (days === 2 || days === 3) {\n str += 'וּ';\n } else if (days === 5) {\n str += 'וַ';\n } else {\n str += 'וְ';\n }\n if (days > 2) {\n str += ones[days] + ' ' + yamim + ' ';\n } else if (days === 1) {\n str += yomEchad + ' ';\n } else {\n // days == 2\n str += shneiYamim + ' ';\n }\n }\n }\n str += 'לָעֽוֹמֶר';\n return str.normalize();\n}\n\n/** Represents a day 1-49 of counting the Omer from Pesach to Shavuot */\nexport class OmerEvent extends Event {\n private readonly weekNumber: number;\n private readonly daysWithinWeeks: number;\n readonly omer: number;\n emoji?: string;\n\n /**\n * @param date\n * @param omerDay\n */\n constructor(date: HDate, omerDay: number) {\n super(date, `Omer ${omerDay}`, flags.OMER_COUNT);\n checkDay(omerDay);\n this.weekNumber = Math.floor((omerDay - 1) / 7) + 1;\n this.daysWithinWeeks = omerDay % 7 || 7;\n this.omer = omerDay;\n }\n\n /**\n * Returns the sefira. For example, on day 8:\n * * חֶֽסֶד שֶׁבִּגְבוּרָה\n * * Chesed shebiGevurah\n * * Lovingkindness within Might\n * @param lang `en` (English), `he` (Hebrew with nikud), or `translit` (Hebrew in Sephardic transliteration)\n * @returns a string such as `Lovingkindness within Might` or `חֶֽסֶד שֶׁבִּגְבוּרָה`\n */\n sefira(lang: OmerLang = 'en'): string {\n if (lang !== 'he' && lang !== 'translit') {\n lang = 'en';\n }\n const [weekNum, daysWithinWeeks]: number[] = getWeeks(this.omer);\n const config = sefirot[lang as OmerLang];\n const pfxWords = config.pfxWords;\n const words = config.words;\n const week = pfxWords ? pfxWords[weekNum] : words[weekNum];\n const dayWithinWeek = words[daysWithinWeeks];\n const infix = pfxWords\n ? ''\n : weekNum === 2 || weekNum === 6\n ? config.infix26\n : config.infix;\n return (dayWithinWeek + ' ' + infix + week).normalize();\n }\n /**\n * @param [locale] Optional locale name (defaults to active locale).\n */\n render(locale?: string): string {\n locale = locale ?? Locale.getLocaleName();\n if (typeof locale === 'string') {\n locale = locale.toLowerCase();\n }\n const isHebrewLocale =\n locale === 'he' || locale === 'he-x-nonikud' || locale === 'h';\n const omer = this.omer;\n const nth = isHebrewLocale ? gematriya(omer) : Locale.ordinal(omer, locale);\n return nth + ' ' + Locale.gettext('day of the Omer', locale);\n }\n /**\n * Returns translation of \"Omer day 22\" without ordinal numbers.\n * @param [locale] Optional locale name (defaults to active locale).\n */\n renderBrief(locale?: string): string {\n return (\n Locale.gettext('Omer', locale) +\n ' ' +\n Locale.gettext('day', locale) +\n ' ' +\n this.omer\n );\n }\n /**\n * Returns an emoji number symbol with a circle, for example `㊲`\n * from the “Enclosed CJK Letters and Months” block of the Unicode standard\n * @returns a single Unicode character from `①` through `㊾`\n */\n getEmoji(): string {\n if (typeof this.emoji === 'string') return this.emoji;\n let codePoint: number;\n const omerDay = this.omer;\n if (omerDay <= 20) {\n codePoint = 9312 + omerDay - 1;\n } else if (omerDay <= 35) {\n // between 21 and 35 inclusive\n codePoint = 12881 + omerDay - 21;\n } else {\n // between 36 and 49 inclusive\n codePoint = 12977 + omerDay - 36;\n }\n return String.fromCodePoint(codePoint);\n }\n\n getWeeks(): number {\n const day7 = this.daysWithinWeeks === 7;\n return day7 ? this.weekNumber : this.weekNumber - 1;\n }\n\n getDaysWithinWeeks(): number {\n return this.daysWithinWeeks;\n }\n /**\n * Returns a sentence with that evening's omer count\n * @returns a string such as `Today is 10 days, which is 1 week and 3 days of the Omer`\n * or `הַיוֹם עֲשָׂרָה יָמִים, שְׁהֵם שָׁבוּעַ אֶחָד וְשְׁלוֹשָׁה יָמִים לָעוֹמֶר`\n */\n getTodayIs(locale: string): string {\n locale = locale ?? Locale.getLocaleName();\n if (typeof locale === 'string') {\n locale = locale.toLowerCase();\n }\n const isHebrew = locale === 'he' || locale === 'he-x-nonikud';\n const str = isHebrew ? omerTodayIsHe(this.omer) : omerTodayIsEn(this.omer);\n if (locale === 'he-x-nonikud') {\n return Locale.hebrewStripNikkud(str);\n }\n return str;\n }\n\n url(): string {\n return `https://www.hebcal.com/omer/${this.getDate().getFullYear()}/${this.omer}`;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"omer.js","sources":["../../../src/omer.ts"],"sourcesContent":["import {HDate, Locale, gematriya} from '@hebcal/hdate';\nimport {Event, flags} from './event';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\n/**\n * Language for counting the Omer can be English or Hebrew.\n * Lang for the Sefira can be English, Hebrew, or Hebrew in Sephardic transliteration.\n */\nexport type OmerLang = 'en' | 'he' | 'translit';\n\nconst sefirot = {\n en: {\n infix: 'within ',\n infix26: 'within ',\n words: [\n '',\n 'Lovingkindness',\n 'Might',\n 'Beauty',\n 'Eternity',\n 'Splendor',\n 'Foundation',\n 'Majesty',\n ],\n pfxWords: null,\n },\n he: {\n infix: null,\n infix26: null,\n words: [\n '',\n 'חֶֽסֶד',\n 'גְּבוּרָה',\n 'תִּפְאֶֽרֶת',\n 'נֶּֽצַח',\n 'הוֹד',\n 'יְּסוֹד',\n 'מַלְכוּת',\n ],\n pfxWords: [\n '',\n 'שֶׁבְּחֶֽסֶד',\n 'שֶׁבִּגְבוּרָה',\n 'שֶׁבְּתִפְאֶֽרֶת',\n 'שֶׁבְּנֶֽצַח',\n 'שֶׁבְּהוֹד',\n 'שֶׁבִּיְסוֹד',\n 'שֶׁבְּמַלְכוּת',\n ],\n },\n translit: {\n infix: \"sheb'\",\n infix26: 'shebi',\n words: [\n '',\n 'Chesed',\n 'Gevurah',\n 'Tiferet',\n 'Netzach',\n 'Hod',\n 'Yesod',\n 'Malkhut',\n ],\n pfxWords: null,\n },\n} as const;\n\nfunction checkDay(omerDay: number): void {\n if (omerDay < 1 || omerDay > 49) {\n throw new RangeError(`Invalid Omer day ${omerDay}`);\n }\n}\n\nfunction getWeeks(omerDay: number): number[] {\n const weekNum: number = Math.floor((omerDay - 1) / 7) + 1;\n const daysWithinWeeks: number = omerDay % 7 || 7;\n return [weekNum, daysWithinWeeks];\n}\n\nfunction omerTodayIsEn(omerDay: number): string {\n const [weekNumber, daysWithinWeeks]: number[] = getWeeks(omerDay);\n\n const totalDaysStr: string = omerDay === 1 ? 'day' : 'days';\n let str = `Today is ${omerDay} ${totalDaysStr}`;\n\n if (weekNumber > 1 || omerDay === 7) {\n const day7: boolean = daysWithinWeeks === 7;\n const numWeeks: number = day7 ? weekNumber : weekNumber - 1;\n const weeksStr: string = numWeeks === 1 ? 'week' : 'weeks';\n str += `, which is ${numWeeks} ${weeksStr}`;\n if (!day7) {\n const daysStr: string = daysWithinWeeks === 1 ? 'day' : 'days';\n str += ` and ${daysWithinWeeks} ${daysStr}`;\n }\n }\n return str + ' of the Omer';\n}\n\n// adapted from pip hdate package (GPL)\n// https://github.com/py-libhdate/py-libhdate/blob/master/hdate/date.py\n\nconst tens = ['', 'עֲשָׂרָה', 'עֶשְׂרִים', 'שְׁלוֹשִׁים', 'אַרְבָּעִים'];\nconst ones = [\n '',\n 'אֶחָד',\n 'שְׁנַיִם',\n 'שְׁלוֹשָׁה',\n 'אַרְבָּעָה',\n 'חֲמִשָּׁה',\n 'שִׁשָּׁה',\n 'שִׁבְעָה',\n 'שְׁמוֹנָה',\n 'תִּשְׁעָה',\n];\n\nconst shnei = 'שְׁנֵי';\nconst yamim = 'יָמִים';\nconst shneiYamim = shnei + ' ' + yamim;\nconst shavuot = 'שָׁבוּעוֹת';\nconst yom = 'יוֹם';\nconst yomEchad = yom + ' ' + ones[1];\nconst asar = 'עָשָׂר';\n\nfunction omerTodayIsHe(omerDay: number): string {\n const ten: number = Math.floor(omerDay / 10);\n const one: number = omerDay % 10;\n let str = 'הַיּוֹם ';\n if (omerDay === 11) {\n str += 'אַחַד ' + asar;\n } else if (omerDay === 12) {\n str += 'שְׁנֵים ' + asar;\n } else if (12 < omerDay && omerDay < 20) {\n str += ones[one] + ' ' + asar;\n } else if (omerDay > 9) {\n str += ones[one];\n if (one) {\n str += ' ';\n str += ten === 3 ? 'וּ' : 'וְ';\n }\n }\n if (omerDay > 2) {\n if (omerDay > 20 || omerDay === 10 || omerDay === 20) {\n str += tens[ten];\n }\n if (omerDay < 11) {\n str += ones[one] + ' ' + yamim + ' ';\n } else {\n str += ' ' + yom + ' ';\n }\n } else if (omerDay === 1) {\n str += yomEchad + ' ';\n } else {\n // omer == 2\n str += shneiYamim + ' ';\n }\n if (omerDay > 6) {\n str = str.trim(); // remove trailing space before comma\n str += ', שֶׁהֵם ';\n const weeks: number = Math.floor(omerDay / 7);\n const days: number = omerDay % 7;\n if (weeks > 2) {\n str += ones[weeks] + ' ' + shavuot + ' ';\n } else if (weeks === 1) {\n str += 'שָׁבֽוּעַ' + ' ' + ones[1] + ' ';\n } else {\n // weeks == 2\n str += shnei + ' ' + shavuot + ' ';\n }\n if (days) {\n if (days === 2 || days === 3) {\n str += 'וּ';\n } else if (days === 5) {\n str += 'וַ';\n } else {\n str += 'וְ';\n }\n if (days > 2) {\n str += ones[days] + ' ' + yamim + ' ';\n } else if (days === 1) {\n str += yomEchad + ' ';\n } else {\n // days == 2\n str += shneiYamim + ' ';\n }\n }\n }\n str += 'לָעֽוֹמֶר';\n return str.normalize();\n}\n\n/** Represents a day 1-49 of counting the Omer from Pesach to Shavuot */\nexport class OmerEvent extends Event {\n private readonly weekNumber: number;\n private readonly daysWithinWeeks: number;\n readonly omer: number;\n emoji?: string;\n\n /**\n * @param date\n * @param omerDay\n */\n constructor(date: HDate, omerDay: number) {\n super(date, `Omer ${omerDay}`, flags.OMER_COUNT);\n checkDay(omerDay);\n this.weekNumber = Math.floor((omerDay - 1) / 7) + 1;\n this.daysWithinWeeks = omerDay % 7 || 7;\n this.omer = omerDay;\n }\n\n /**\n * Returns the sefira. For example, on day 8:\n * * חֶֽסֶד שֶׁבִּגְבוּרָה\n * * Chesed shebiGevurah\n * * Lovingkindness within Might\n * @param lang `en` (English), `he` (Hebrew with nikud), or `translit` (Hebrew in Sephardic transliteration)\n * @returns a string such as `Lovingkindness within Might` or `חֶֽסֶד שֶׁבִּגְבוּרָה`\n */\n sefira(lang: OmerLang = 'en'): string {\n if (lang !== 'he' && lang !== 'translit') {\n lang = 'en';\n }\n const [weekNum, daysWithinWeeks]: number[] = getWeeks(this.omer);\n const config = sefirot[lang as OmerLang];\n const pfxWords = config.pfxWords;\n const words = config.words;\n const week = pfxWords ? pfxWords[weekNum] : words[weekNum];\n const dayWithinWeek = words[daysWithinWeeks];\n const infix = pfxWords\n ? ''\n : weekNum === 2 || weekNum === 6\n ? config.infix26\n : config.infix;\n return (dayWithinWeek + ' ' + infix + week).normalize();\n }\n /**\n * @param [locale] Optional locale name (defaults to active locale).\n */\n render(locale?: string): string {\n locale = locale ?? 'en';\n if (typeof locale === 'string') {\n locale = locale.toLowerCase();\n }\n const isHebrewLocale =\n locale === 'he' || locale === 'he-x-nonikud' || locale === 'h';\n const omer = this.omer;\n const nth = isHebrewLocale ? gematriya(omer) : Locale.ordinal(omer, locale);\n return nth + ' ' + Locale.gettext('day of the Omer', locale);\n }\n /**\n * Returns translation of \"Omer day 22\" without ordinal numbers.\n * @param [locale] Optional locale name (defaults to active locale).\n */\n renderBrief(locale?: string): string {\n return (\n Locale.gettext('Omer', locale) +\n ' ' +\n Locale.gettext('day', locale) +\n ' ' +\n this.omer\n );\n }\n /**\n * Returns an emoji number symbol with a circle, for example `㊲`\n * from the “Enclosed CJK Letters and Months” block of the Unicode standard\n * @returns a single Unicode character from `①` through `㊾`\n */\n getEmoji(): string {\n if (typeof this.emoji === 'string') return this.emoji;\n let codePoint: number;\n const omerDay = this.omer;\n if (omerDay <= 20) {\n codePoint = 9312 + omerDay - 1;\n } else if (omerDay <= 35) {\n // between 21 and 35 inclusive\n codePoint = 12881 + omerDay - 21;\n } else {\n // between 36 and 49 inclusive\n codePoint = 12977 + omerDay - 36;\n }\n return String.fromCodePoint(codePoint);\n }\n\n getWeeks(): number {\n const day7 = this.daysWithinWeeks === 7;\n return day7 ? this.weekNumber : this.weekNumber - 1;\n }\n\n getDaysWithinWeeks(): number {\n return this.daysWithinWeeks;\n }\n /**\n * Returns a sentence with that evening's omer count\n * @returns a string such as `Today is 10 days, which is 1 week and 3 days of the Omer`\n * or `הַיוֹם עֲשָׂרָה יָמִים, שְׁהֵם שָׁבוּעַ אֶחָד וְשְׁלוֹשָׁה יָמִים לָעוֹמֶר`\n */\n getTodayIs(locale: string): string {\n locale = locale ?? 'en';\n if (typeof locale === 'string') {\n locale = locale.toLowerCase();\n }\n const isHebrew = locale === 'he' || locale === 'he-x-nonikud';\n const str = isHebrew ? omerTodayIsHe(this.omer) : omerTodayIsEn(this.omer);\n if (locale === 'he-x-nonikud') {\n return Locale.hebrewStripNikkud(str);\n }\n return str;\n }\n\n url(): string {\n return `https://www.hebcal.com/omer/${this.getDate().getFullYear()}/${this.omer}`;\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/esm/parshaName.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import './locale.js';
|
|
3
3
|
import { Locale } from '@hebcal/hdate';
|
|
4
4
|
|
|
5
5
|
/** @private */
|
|
6
6
|
function renderParshaName(parsha, locale) {
|
|
7
|
-
const locale0 = locale !== null && locale !== void 0 ? locale :
|
|
7
|
+
const locale0 = locale !== null && locale !== void 0 ? locale : 'en';
|
|
8
8
|
let name = Locale.gettext(parsha[0], locale0);
|
|
9
9
|
if (parsha.length === 2) {
|
|
10
10
|
const hyphen = locale0 === 'he' ? '־' : '-';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parshaName.js","sources":["../../../src/parshaName.ts"],"sourcesContent":["import {Locale} from './locale';\n\n/** @private */\nexport function renderParshaName(parsha: string[], locale?: string): string {\n const locale0 = locale ??
|
|
1
|
+
{"version":3,"file":"parshaName.js","sources":["../../../src/parshaName.ts"],"sourcesContent":["import {Locale} from './locale';\n\n/** @private */\nexport function renderParshaName(parsha: string[], locale?: string): string {\n const locale0 = locale ?? 'en';\n let name = Locale.gettext(parsha[0], locale0);\n if (parsha.length === 2) {\n const hyphen = locale0 === 'he' ? '־' : '-';\n name += hyphen + Locale.gettext(parsha[1], locale0);\n }\n name = name.replace(/'/g, '’');\n const str = Locale.gettext('Parashat', locale) + ' ' + name;\n return str.normalize();\n}\n"],"names":[],"mappings":";;;;AAEA;AACM,SAAU,gBAAgB,CAAC,MAAgB,EAAE,MAAe,EAAA;IAChE,MAAM,OAAO,GAAG,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAN,MAAM,GAAI,IAAI;AAC9B,IAAA,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;AAC7C,IAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AACvB,QAAA,MAAM,MAAM,GAAG,OAAO,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG;AAC3C,QAAA,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IACrD;IACA,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;AAC9B,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI;AAC3D,IAAA,OAAO,GAAG,CAAC,SAAS,EAAE;AACxB;;;;"}
|
package/dist/esm/parshaYear.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { HDate, months } from '@hebcal/hdate';
|
|
3
3
|
import { ParshaEvent } from './ParshaEvent.js';
|
|
4
4
|
import { getSedra } from './sedra.js';
|
|
@@ -18,7 +18,7 @@ function parshaYear(year, il) {
|
|
|
18
18
|
for (let absDt = startAbs; absDt <= endAbs; absDt += 7) {
|
|
19
19
|
const parsha = sedra.lookup(absDt);
|
|
20
20
|
if (!parsha.chag) {
|
|
21
|
-
const ev = new ParshaEvent(parsha
|
|
21
|
+
const ev = new ParshaEvent(parsha);
|
|
22
22
|
events.push(ev);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parshaYear.js","sources":["../../../src/parshaYear.ts"],"sourcesContent":["import {HDate, months} from '@hebcal/hdate';\nimport {Event} from './event';\nimport {ParshaEvent} from './ParshaEvent';\nimport {getSedra} from './sedra';\n\n/**\n * Calculates weekly Torah Reading on Saturdays for entire year\n * @param year Hebrew year\n * @param il Israel (false for Diaspora)\n * @returns an array of `ParshaEvent` occurring on Saturdays that contain a regular\n * (non-holiday) Parashat HaShavua\n */\nexport function parshaYear(year: number, il: boolean): Event[] {\n const sedra = getSedra(year, il);\n const startAbs = sedra.getFirstSaturday();\n const endAbs = HDate.hebrew2abs(year, months.ELUL, 29);\n const events: Event[] = [];\n for (let absDt = startAbs; absDt <= endAbs; absDt += 7) {\n const parsha = sedra.lookup(absDt);\n if (!parsha.chag) {\n const ev = new ParshaEvent(parsha
|
|
1
|
+
{"version":3,"file":"parshaYear.js","sources":["../../../src/parshaYear.ts"],"sourcesContent":["import {HDate, months} from '@hebcal/hdate';\nimport {Event} from './event';\nimport {ParshaEvent} from './ParshaEvent';\nimport {getSedra} from './sedra';\n\n/**\n * Calculates weekly Torah Reading on Saturdays for entire year\n * @param year Hebrew year\n * @param il Israel (false for Diaspora)\n * @returns an array of `ParshaEvent` occurring on Saturdays that contain a regular\n * (non-holiday) Parashat HaShavua\n */\nexport function parshaYear(year: number, il: boolean): Event[] {\n const sedra = getSedra(year, il);\n const startAbs = sedra.getFirstSaturday();\n const endAbs = HDate.hebrew2abs(year, months.ELUL, 29);\n const events: Event[] = [];\n for (let absDt = startAbs; absDt <= endAbs; absDt += 7) {\n const parsha = sedra.lookup(absDt);\n if (!parsha.chag) {\n const ev = new ParshaEvent(parsha);\n events.push(ev);\n }\n }\n return events;\n}\n"],"names":[],"mappings":";;;;;AAKA;;;;;;AAMG;AACG,SAAU,UAAU,CAAC,IAAY,EAAE,EAAW,EAAA;IAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;AAChC,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,EAAE;AACzC,IAAA,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IACtD,MAAM,MAAM,GAAY,EAAE;AAC1B,IAAA,KAAK,IAAI,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE;QACtD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAClC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAChB,YAAA,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC;AAClC,YAAA,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACjB;IACF;AACA,IAAA,OAAO,MAAM;AACf;;;;"}
|
package/dist/esm/pkgVersion.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** DO NOT EDIT THIS AUTO-GENERATED FILE! */
|
|
2
|
-
export declare const version = "
|
|
2
|
+
export declare const version = "6.0.0";
|
package/dist/esm/pkgVersion.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
/** DO NOT EDIT THIS AUTO-GENERATED FILE! */
|
|
3
|
-
const version = '
|
|
3
|
+
const version = '6.0.0';
|
|
4
4
|
|
|
5
5
|
export { version };
|
|
6
6
|
//# sourceMappingURL=pkgVersion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pkgVersion.js","sources":["../../../src/pkgVersion.ts"],"sourcesContent":["/** DO NOT EDIT THIS AUTO-GENERATED FILE! */\nexport const version = '
|
|
1
|
+
{"version":3,"file":"pkgVersion.js","sources":["../../../src/pkgVersion.ts"],"sourcesContent":["/** DO NOT EDIT THIS AUTO-GENERATED FILE! */\nexport const version = '6.0.0';\n"],"names":[],"mappings":";AAAA;AACO,MAAM,OAAO,GAAG;;;;"}
|
package/dist/esm/sedra.d.ts
CHANGED
|
@@ -22,6 +22,8 @@ export type SedraResult = {
|
|
|
22
22
|
num?: number | number[];
|
|
23
23
|
/** The date of the Shabbat this parsha is read */
|
|
24
24
|
hdate: HDate;
|
|
25
|
+
/** true if Israel, false for Diaspora */
|
|
26
|
+
il: boolean;
|
|
25
27
|
};
|
|
26
28
|
/**
|
|
27
29
|
* Represents Parashah HaShavua for an entire Hebrew year
|
|
@@ -38,26 +40,6 @@ export declare class Sedra {
|
|
|
38
40
|
* @param il - Use Israel sedra schedule (false for Diaspora)
|
|
39
41
|
*/
|
|
40
42
|
constructor(hyear: number, il: boolean);
|
|
41
|
-
/**
|
|
42
|
-
* Returns the parsha (or parshiyot) read on Hebrew date
|
|
43
|
-
* @deprecated Use {@link lookup} instead
|
|
44
|
-
* @param hd Hebrew date or R.D. days
|
|
45
|
-
*/
|
|
46
|
-
get(hd: HDate | number): string[];
|
|
47
|
-
/**
|
|
48
|
-
* Looks up parsha for the date, then returns a translated or transliterated string
|
|
49
|
-
* @deprecated Use {@link lookup} instead
|
|
50
|
-
* @param hd Hebrew date or R.D. days
|
|
51
|
-
* @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale
|
|
52
|
-
*/
|
|
53
|
-
getString(hd: HDate | number, locale?: string): string;
|
|
54
|
-
/**
|
|
55
|
-
* Checks to see if this day would be a regular parasha HaShavua
|
|
56
|
-
* Torah reading or special holiday reading
|
|
57
|
-
* @deprecated Use {@link lookup} instead
|
|
58
|
-
* @param hd Hebrew date or R.D. days
|
|
59
|
-
*/
|
|
60
|
-
isParsha(hd: HDate | number): boolean;
|
|
61
43
|
/**
|
|
62
44
|
* Returns the date that a parsha occurs
|
|
63
45
|
* or `null` if the parsha doesn't occur this year
|
package/dist/esm/sedra.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { HDate, months } from '@hebcal/hdate';
|
|
3
|
-
import { renderParshaName } from './parshaName.js';
|
|
4
3
|
import QuickLRU from 'quick-lru';
|
|
5
4
|
import './locale.js';
|
|
6
5
|
|
|
@@ -85,33 +84,6 @@ class Sedra {
|
|
|
85
84
|
throw new Error(`improper sedra year type ${key} calculated for ${hyear}`);
|
|
86
85
|
}
|
|
87
86
|
}
|
|
88
|
-
/**
|
|
89
|
-
* Returns the parsha (or parshiyot) read on Hebrew date
|
|
90
|
-
* @deprecated Use {@link lookup} instead
|
|
91
|
-
* @param hd Hebrew date or R.D. days
|
|
92
|
-
*/
|
|
93
|
-
get(hd) {
|
|
94
|
-
return this.lookup(hd).parsha;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Looks up parsha for the date, then returns a translated or transliterated string
|
|
98
|
-
* @deprecated Use {@link lookup} instead
|
|
99
|
-
* @param hd Hebrew date or R.D. days
|
|
100
|
-
* @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale
|
|
101
|
-
*/
|
|
102
|
-
getString(hd, locale) {
|
|
103
|
-
const parsha = this.get(hd);
|
|
104
|
-
return renderParshaName(parsha, locale);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Checks to see if this day would be a regular parasha HaShavua
|
|
108
|
-
* Torah reading or special holiday reading
|
|
109
|
-
* @deprecated Use {@link lookup} instead
|
|
110
|
-
* @param hd Hebrew date or R.D. days
|
|
111
|
-
*/
|
|
112
|
-
isParsha(hd) {
|
|
113
|
-
return !this.lookup(hd).chag;
|
|
114
|
-
}
|
|
115
87
|
/**
|
|
116
88
|
* Returns the date that a parsha occurs
|
|
117
89
|
* or `null` if the parsha doesn't occur this year
|
|
@@ -253,10 +225,16 @@ class Sedra {
|
|
|
253
225
|
const hdate = new HDate(saturday);
|
|
254
226
|
if (typeof index === 'string') {
|
|
255
227
|
// Shabbat has a chag. Return a description
|
|
256
|
-
return { parsha: [index], chag: true, hdate };
|
|
228
|
+
return { parsha: [index], chag: true, hdate, il: this.il };
|
|
257
229
|
}
|
|
258
230
|
if (index >= 0) {
|
|
259
|
-
return {
|
|
231
|
+
return {
|
|
232
|
+
parsha: [parshiot[index]],
|
|
233
|
+
chag: false,
|
|
234
|
+
num: index + 1,
|
|
235
|
+
hdate,
|
|
236
|
+
il: this.il,
|
|
237
|
+
};
|
|
260
238
|
}
|
|
261
239
|
const p1 = D(index); // undouble the parsha
|
|
262
240
|
return {
|
|
@@ -264,6 +242,7 @@ class Sedra {
|
|
|
264
242
|
chag: false,
|
|
265
243
|
num: [p1 + 1, p1 + 2],
|
|
266
244
|
hdate,
|
|
245
|
+
il: this.il,
|
|
267
246
|
};
|
|
268
247
|
}
|
|
269
248
|
}
|