@hebcal/core 5.9.9 → 5.10.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/dist/bundle.js +2555 -2496
- package/dist/bundle.js.map +1 -1
- package/dist/bundle.min.js +6 -6
- package/dist/bundle.min.js.map +1 -1
- package/dist/esm/DailyLearning.js +1 -1
- package/dist/esm/HebrewDateEvent.js +1 -1
- package/dist/esm/HebrewDateEvent.js.map +1 -1
- package/dist/esm/HolidayEvent.js +1 -1
- package/dist/esm/HolidayEvent.js.map +1 -1
- package/dist/esm/MevarchimChodeshEvent.js +1 -1
- package/dist/esm/ParshaEvent.js +1 -1
- package/dist/esm/ParshaEvent.js.map +1 -1
- package/dist/esm/TimedEvent.js +1 -1
- package/dist/esm/TimedEvent.js.map +1 -1
- package/dist/esm/YomKippurKatanEvent.js +1 -1
- package/dist/esm/YomKippurKatanEvent.js.map +1 -1
- package/dist/esm/ashkenazi.po.js +1 -1
- package/dist/esm/calendar.js +1 -1
- package/dist/esm/calendar.js.map +1 -1
- package/dist/esm/candles.js +1 -1
- package/dist/esm/candles.js.map +1 -1
- package/dist/esm/event.js +1 -1
- package/dist/esm/event.js.map +1 -1
- package/dist/esm/getStartAndEnd.js +1 -1
- package/dist/esm/getStartAndEnd.js.map +1 -1
- package/dist/esm/hallel.js +1 -1
- package/dist/esm/hallel.js.map +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 +1 -1
- package/dist/esm/holidays.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/isAssurBemlacha.d.ts +9 -0
- package/dist/esm/isAssurBemlacha.js +67 -0
- package/dist/esm/isAssurBemlacha.js.map +1 -0
- package/dist/esm/locale.js +1 -1
- package/dist/esm/location.js +1 -1
- package/dist/esm/location.js.map +1 -1
- package/dist/esm/modern.js +1 -1
- package/dist/esm/molad.js +1 -1
- package/dist/esm/molad.js.map +1 -1
- package/dist/esm/omer.d.ts +0 -1
- package/dist/esm/omer.js +1 -2
- package/dist/esm/omer.js.map +1 -1
- package/dist/esm/parshaName.js +1 -1
- package/dist/esm/parshaName.js.map +1 -1
- package/dist/esm/parshaYear.js +1 -1
- 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/reformatTimeStr.js.map +1 -1
- package/dist/esm/sedra.js +1 -1
- package/dist/esm/sedra.js.map +1 -1
- package/dist/esm/staticHolidays.js +1 -1
- package/dist/esm/staticHolidays.js.map +1 -1
- package/dist/esm/tachanun.js +1 -1
- package/dist/esm/tachanun.js.map +1 -1
- package/dist/esm/zmanim.js +1 -1
- package/dist/index.cjs +2423 -2364
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/isAssurBemlacha.d.ts +9 -0
- package/dist/omer.d.ts +0 -1
- package/dist/pkgVersion.d.ts +1 -1
- package/package.json +6 -6
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 * @param omerDay the day of the omer, 1-49 inclusive\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 ?? 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":";;;;;AAUA,MAAM,OAAO,GAAG;AACd,IAAA,EAAE,EAAE;AACF,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,KAAK,EAAE;YACL,EAAE;YACF,gBAAgB;YAChB,OAAO;YACP,QAAQ;YACR,UAAU;YACV,UAAU;YACV,YAAY;YACZ,SAAS;AACV,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA;AACD,IAAA,EAAE,EAAE;AACF,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,KAAK,EAAE;YACL,EAAE;YACF,QAAQ;YACR,WAAW;YACX,aAAa;YACb,SAAS;YACT,MAAM;YACN,SAAS;YACT,UAAU;AACX,SAAA;AACD,QAAA,QAAQ,EAAE;YACR,EAAE;YACF,cAAc;YACd,gBAAgB;YAChB,kBAAkB;YAClB,cAAc;YACd,YAAY;YACZ,cAAc;YACd,gBAAgB;AACjB,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,KAAK,EAAE;YACL,EAAE;YACF,QAAQ;YACR,SAAS;YACT,SAAS;YACT,SAAS;YACT,KAAK;YACL,OAAO;YACP,SAAS;AACV,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA;CACO;AAEV,SAAS,QAAQ,CAAC,OAAe,EAAA;IAC/B,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,EAAE,EAAE;AAC/B,QAAA,MAAM,IAAI,UAAU,CAAC,oBAAoB,OAAO,CAAA,CAAE,CAAC;;AAEvD;AAEA,SAAS,QAAQ,CAAC,OAAe,EAAA;AAC/B,IAAA,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;AACzD,IAAA,MAAM,eAAe,GAAW,OAAO,GAAG,CAAC,IAAI,CAAC;AAChD,IAAA,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;AACnC;AAEA,SAAS,aAAa,CAAC,OAAe,EAAA;IACpC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,GAAa,QAAQ,CAAC,OAAO,CAAC;AAEjE,IAAA,MAAM,YAAY,GAAW,OAAO,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM;AAC3D,IAAA,IAAI,GAAG,GAAG,CAAA,SAAA,EAAY,OAAO,CAAA,CAAA,EAAI,YAAY,EAAE;IAE/C,IAAI,UAAU,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE;AACnC,QAAA,MAAM,IAAI,GAAY,eAAe,KAAK,CAAC;AAC3C,QAAA,MAAM,QAAQ,GAAW,IAAI,GAAG,UAAU,GAAG,UAAU,GAAG,CAAC;AAC3D,QAAA,MAAM,QAAQ,GAAW,QAAQ,KAAK,CAAC,GAAG,MAAM,GAAG,OAAO;AAC1D,QAAA,GAAG,IAAI,CAAA,WAAA,EAAc,QAAQ,CAAA,CAAA,EAAI,QAAQ,EAAE;QAC3C,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,OAAO,GAAW,eAAe,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM;AAC9D,YAAA,GAAG,IAAI,CAAA,KAAA,EAAQ,eAAe,CAAA,CAAA,EAAI,OAAO,EAAE;;;IAG/C,OAAO,GAAG,GAAG,cAAc;AAC7B;AAEA;AACA;AAEA,MAAM,IAAI,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC;AACxE,MAAM,IAAI,GAAG;IACX,EAAE;IACF,OAAO;IACP,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;CACZ;AAED,MAAM,KAAK,GAAG,QAAQ;AACtB,MAAM,KAAK,GAAG,QAAQ;AACtB,MAAM,UAAU,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK;AACtC,MAAM,OAAO,GAAG,YAAY;AAC5B,MAAM,GAAG,GAAG,MAAM;AAClB,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACpC,MAAM,IAAI,GAAG,QAAQ;AAErB,SAAS,aAAa,CAAC,OAAe,EAAA;IACpC,MAAM,GAAG,GAAW,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;AAC5C,IAAA,MAAM,GAAG,GAAW,OAAO,GAAG,EAAE;IAChC,IAAI,GAAG,GAAG,UAAU;AACpB,IAAA,IAAI,OAAO,KAAK,EAAE,EAAE;AAClB,QAAA,GAAG,IAAI,QAAQ,GAAG,IAAI;;AACjB,SAAA,IAAI,OAAO,KAAK,EAAE,EAAE;AACzB,QAAA,GAAG,IAAI,UAAU,GAAG,IAAI;;SACnB,IAAI,EAAE,GAAG,OAAO,IAAI,OAAO,GAAG,EAAE,EAAE;QACvC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI;;AACxB,SAAA,IAAI,OAAO,GAAG,CAAC,EAAE;AACtB,QAAA,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QAChB,IAAI,GAAG,EAAE;YACP,GAAG,IAAI,GAAG;AACV,YAAA,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI;;;AAGlC,IAAA,IAAI,OAAO,GAAG,CAAC,EAAE;AACf,QAAA,IAAI,OAAO,GAAG,EAAE,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,EAAE,EAAE;AACpD,YAAA,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;;AAElB,QAAA,IAAI,OAAO,GAAG,EAAE,EAAE;YAChB,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG;;aAC/B;AACL,YAAA,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG;;;AAEnB,SAAA,IAAI,OAAO,KAAK,CAAC,EAAE;AACxB,QAAA,GAAG,IAAI,QAAQ,GAAG,GAAG;;SAChB;;AAEL,QAAA,GAAG,IAAI,UAAU,GAAG,GAAG;;AAEzB,IAAA,IAAI,OAAO,GAAG,CAAC,EAAE;AACf,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,GAAG,IAAI,WAAW;QAClB,MAAM,KAAK,GAAW,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AAC7C,QAAA,MAAM,IAAI,GAAW,OAAO,GAAG,CAAC;AAChC,QAAA,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG;;AACnC,aAAA,IAAI,KAAK,KAAK,CAAC,EAAE;YACtB,GAAG,IAAI,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG;;aACnC;;YAEL,GAAG,IAAI,KAAK,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG;;QAEpC,IAAI,IAAI,EAAE;YACR,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;gBAC5B,GAAG,IAAI,IAAI;;AACN,iBAAA,IAAI,IAAI,KAAK,CAAC,EAAE;gBACrB,GAAG,IAAI,IAAI;;iBACN;gBACL,GAAG,IAAI,IAAI;;AAEb,YAAA,IAAI,IAAI,GAAG,CAAC,EAAE;gBACZ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG;;AAChC,iBAAA,IAAI,IAAI,KAAK,CAAC,EAAE;AACrB,gBAAA,GAAG,IAAI,QAAQ,GAAG,GAAG;;iBAChB;;AAEL,gBAAA,GAAG,IAAI,UAAU,GAAG,GAAG;;;;IAI7B,GAAG,IAAI,WAAW;AAClB,IAAA,OAAO,GAAG,CAAC,SAAS,EAAE;AACxB;AAEA;AACM,MAAO,SAAU,SAAQ,KAAK,CAAA;AAMlC;;;AAGG;IACH,WAAA,CAAY,IAAW,EAAE,OAAe,EAAA;QACtC,KAAK,CAAC,IAAI,EAAE,CAAA,KAAA,EAAQ,OAAO,CAAA,CAAE,EAAE,KAAK,CAAC,UAAU,CAAC;QAChD,QAAQ,CAAC,OAAO,CAAC;AACjB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC;AACvC,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO;;AAGrB;;;;;;;AAOG;IACH,MAAM,CAAC,OAAiB,IAAI,EAAA;QAC1B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,UAAU,EAAE;YACxC,IAAI,GAAG,IAAI;;AAEb,QAAA,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,GAAa,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAChE,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,IAAgB,CAAC;AACxC,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;AAChC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;AAC1B,QAAA,MAAM,IAAI,GAAG,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AAC1D,QAAA,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC;QAC5C,MAAM,KAAK,GAAG;AACZ,cAAE;AACF,cAAE,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK;kBAC3B,MAAM,CAAC;AACT,kBAAE,MAAM,CAAC,KAAK;AAClB,QAAA,OAAO,CAAC,aAAa,GAAG,GAAG,GAAG,KAAK,GAAG,IAAI,EAAE,SAAS,EAAE;;AAEzD;;AAEG;AACH,IAAA,MAAM,CAAC,MAAe,EAAA;QACpB,MAAM,GAAG,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAN,MAAM,GAAI,MAAM,CAAC,aAAa,EAAE;AACzC,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC9B,YAAA,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE;;AAE/B,QAAA,MAAM,cAAc,GAClB,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,cAAc,IAAI,MAAM,KAAK,GAAG;AAChE,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI;QACtB,MAAM,GAAG,GAAG,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;AAC3E,QAAA,OAAO,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;;AAE9D;;;AAGG;AACH,IAAA,WAAW,CAAC,MAAe,EAAA;QACzB,QACE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;YAC9B,GAAG;AACH,YAAA,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;YAC7B,GAAG;YACH,IAAI,CAAC,IAAI;;AAGb;;;;AAIG;IACH,QAAQ,GAAA;AACN,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,KAAK;AACrD,QAAA,IAAI,SAAiB;AACrB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI;AACzB,QAAA,IAAI,OAAO,IAAI,EAAE,EAAE;AACjB,YAAA,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,CAAC;;AACzB,aAAA,IAAI,OAAO,IAAI,EAAE,EAAE;;AAExB,YAAA,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,EAAE;;aAC3B;;AAEL,YAAA,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,EAAE;;AAElC,QAAA,OAAO,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;;IAGxC,QAAQ,GAAA;AACN,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,KAAK,CAAC;AACvC,QAAA,OAAO,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC;;IAGrD,kBAAkB,GAAA;QAChB,OAAO,IAAI,CAAC,eAAe;;AAE7B;;;;AAIG;AACH,IAAA,UAAU,CAAC,MAAc,EAAA;QACvB,MAAM,GAAG,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAN,MAAM,GAAI,MAAM,CAAC,aAAa,EAAE;AACzC,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC9B,YAAA,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE;;QAE/B,MAAM,QAAQ,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,cAAc;QAC7D,MAAM,GAAG,GAAG,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1E,QAAA,IAAI,MAAM,KAAK,cAAc,EAAE;AAC7B,YAAA,OAAO,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC;;AAEtC,QAAA,OAAO,GAAG;;IAGZ,GAAG,GAAA;AACD,QAAA,OAAO,CAAA,4BAAA,EAA+B,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,IAAI,EAAE;;AAEpF;;;;"}
|
package/dist/esm/parshaName.js
CHANGED
|
@@ -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 ?? Locale.getLocaleName();\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;
|
|
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 ?? Locale.getLocaleName();\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;AAChE,IAAA,MAAM,OAAO,GAAG,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAN,MAAM,GAAI,MAAM,CAAC,aAAa,EAAE;AAChD,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;;IAErD,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 v5.
|
|
1
|
+
/*! @hebcal/core v5.10.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';
|
|
@@ -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.hdate, parsha.parsha, il, parsha.num);\n events.push(ev);\n }\n }\n return events;\n}\n"],"names":[],"mappings":";;;;;AAKA;;;;;;AAMG;
|
|
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.hdate, parsha.parsha, il, parsha.num);\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,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;AACvE,YAAA,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;;;AAGnB,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 = "5.
|
|
2
|
+
export declare const version = "5.10.0";
|
package/dist/esm/pkgVersion.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/*! @hebcal/core v5.
|
|
1
|
+
/*! @hebcal/core v5.10.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 = '5.
|
|
3
|
+
const version = '5.10.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 = '5.
|
|
1
|
+
{"version":3,"file":"pkgVersion.js","sources":["../../../src/pkgVersion.ts"],"sourcesContent":["/** DO NOT EDIT THIS AUTO-GENERATED FILE! */\nexport const version = '5.10.0';\n"],"names":[],"mappings":";AAAA;AACO,MAAM,OAAO,GAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reformatTimeStr.js","sources":["../../../src/reformatTimeStr.ts"],"sourcesContent":["import {CalOptions} from './CalOptions';\n\nconst hour12cc: Record<string, number> = {\n US: 1,\n CA: 1,\n BR: 1,\n AU: 1,\n NZ: 1,\n DO: 1,\n PR: 1,\n GR: 1,\n IN: 1,\n KR: 1,\n NP: 1,\n ZA: 1,\n} as const;\n\n/**\n * @private\n * @param timeStr - original time like \"20:30\"\n * @param suffix - \"p\" or \"pm\" or \" P.M.\". Add leading space if you want it\n * @param options\n */\nexport function reformatTimeStr(\n timeStr: string,\n suffix: string,\n options?: CalOptions\n): string {\n if (typeof timeStr !== 'string')\n throw new TypeError(`Bad timeStr: ${timeStr}`);\n const cc = options?.location?.getCountryCode() || (options?.il ? 'IL' : 'US');\n const hour12 = options?.hour12;\n if (typeof hour12 !== 'undefined' && !hour12) {\n return timeStr;\n }\n if (!hour12 && typeof hour12cc[cc] === 'undefined') {\n return timeStr;\n }\n const hm = timeStr.split(':');\n let hour: string | number = parseInt(hm[0], 10);\n if (hour < 12 && suffix) {\n suffix = suffix.replace('p', 'a').replace('P', 'A');\n if (hour === 0) {\n hour = 12;\n }\n } else if (hour > 12) {\n hour = hour % 12;\n } else if (hour === 0) {\n hour = '00';\n }\n return `${hour}:${hm[1]}${suffix}`;\n}\n"],"names":[],"mappings":";AAEA,MAAM,QAAQ,GAA2B;AACvC,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;CACG;AAEV;;;;;AAKG;SACa,eAAe,CAC7B,OAAe,EACf,MAAc,EACd,OAAoB,EAAA;;IAEpB,IAAI,OAAO,OAAO,KAAK,QAAQ;AAC7B,QAAA,MAAM,IAAI,SAAS,CAAC,gBAAgB,OAAO,CAAA,CAAE,CAAC;AAChD,IAAA,MAAM,EAAE,GAAG,CAAA,CAAA,EAAA,GAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"reformatTimeStr.js","sources":["../../../src/reformatTimeStr.ts"],"sourcesContent":["import {CalOptions} from './CalOptions';\n\nconst hour12cc: Record<string, number> = {\n US: 1,\n CA: 1,\n BR: 1,\n AU: 1,\n NZ: 1,\n DO: 1,\n PR: 1,\n GR: 1,\n IN: 1,\n KR: 1,\n NP: 1,\n ZA: 1,\n} as const;\n\n/**\n * @private\n * @param timeStr - original time like \"20:30\"\n * @param suffix - \"p\" or \"pm\" or \" P.M.\". Add leading space if you want it\n * @param options\n */\nexport function reformatTimeStr(\n timeStr: string,\n suffix: string,\n options?: CalOptions\n): string {\n if (typeof timeStr !== 'string')\n throw new TypeError(`Bad timeStr: ${timeStr}`);\n const cc = options?.location?.getCountryCode() || (options?.il ? 'IL' : 'US');\n const hour12 = options?.hour12;\n if (typeof hour12 !== 'undefined' && !hour12) {\n return timeStr;\n }\n if (!hour12 && typeof hour12cc[cc] === 'undefined') {\n return timeStr;\n }\n const hm = timeStr.split(':');\n let hour: string | number = parseInt(hm[0], 10);\n if (hour < 12 && suffix) {\n suffix = suffix.replace('p', 'a').replace('P', 'A');\n if (hour === 0) {\n hour = 12;\n }\n } else if (hour > 12) {\n hour = hour % 12;\n } else if (hour === 0) {\n hour = '00';\n }\n return `${hour}:${hm[1]}${suffix}`;\n}\n"],"names":[],"mappings":";AAEA,MAAM,QAAQ,GAA2B;AACvC,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;CACG;AAEV;;;;;AAKG;SACa,eAAe,CAC7B,OAAe,EACf,MAAc,EACd,OAAoB,EAAA;;IAEpB,IAAI,OAAO,OAAO,KAAK,QAAQ;AAC7B,QAAA,MAAM,IAAI,SAAS,CAAC,gBAAgB,OAAO,CAAA,CAAE,CAAC;AAChD,IAAA,MAAM,EAAE,GAAG,CAAA,CAAA,EAAA,GAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,cAAc,EAAE,MAAK,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,EAAE,IAAG,IAAI,GAAG,IAAI,CAAC;IAC7E,MAAM,MAAM,GAAG,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,MAAM;IAC9B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,MAAM,EAAE;AAC5C,QAAA,OAAO,OAAO;;IAEhB,IAAI,CAAC,MAAM,IAAI,OAAO,QAAQ,CAAC,EAAE,CAAC,KAAK,WAAW,EAAE;AAClD,QAAA,OAAO,OAAO;;IAEhB,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7B,IAAI,IAAI,GAAoB,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC/C,IAAA,IAAI,IAAI,GAAG,EAAE,IAAI,MAAM,EAAE;AACvB,QAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;AACnD,QAAA,IAAI,IAAI,KAAK,CAAC,EAAE;YACd,IAAI,GAAG,EAAE;;;AAEN,SAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACpB,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE;;AACX,SAAA,IAAI,IAAI,KAAK,CAAC,EAAE;QACrB,IAAI,GAAG,IAAI;;IAEb,OAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,EAAE,CAAC,CAAC,CAAC,CAAA,EAAG,MAAM,CAAA,CAAE;AACpC;;;;"}
|
package/dist/esm/sedra.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v5.
|
|
1
|
+
/*! @hebcal/core v5.10.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { HDate, months } from '@hebcal/hdate';
|
|
3
3
|
import { renderParshaName } from './parshaName.js';
|
|
4
4
|
import QuickLRU from 'quick-lru';
|
package/dist/esm/sedra.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sedra.js","sources":["../../../src/sedra.ts"],"sourcesContent":["/*\n Hebcal - A Jewish Calendar Generator\n Copyright (c) 1994-2020 Danny Sadinoff\n Portions copyright Eyal Schachter and Michael J. Radwin\n\n https://github.com/hebcal/hebcal-es6\n\n This program is free software; you can redistribute it and/or\n modify it under the terms of the GNU General Public License\n as published by the Free Software Foundation; either version 2\n of the License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/*\n * Many of the following algorithms were taken from hebrew calendar\n * routines by Maimonedes, from his Mishneh Torah, and implemented by\n * Nachum Dershowitz Department of Computer Science\n * (217) 333-4219 University of Illinois at Urbana-Champaign\n * nachum@cs.uiuedu 1304 West Springfield Avenue\n * Urbana, Illinois 61801\n *\n * The routines were included in the emacs 19 distribution.\n *\n */\nimport {HDate, months} from '@hebcal/hdate';\nimport {renderParshaName} from './parshaName';\nimport QuickLRU from 'quick-lru';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\nconst INCOMPLETE = 0;\nconst REGULAR = 1;\nconst COMPLETE = 2;\n\nfunction yearType(hyear: number): number {\n const longC = HDate.longCheshvan(hyear);\n const shortK = HDate.shortKislev(hyear);\n if (longC && !shortK) {\n return COMPLETE;\n } else if (!longC && shortK) {\n return INCOMPLETE;\n } else {\n return REGULAR;\n }\n}\n\n/** The result from `Sedra.lookup()` */\nexport type SedraResult = {\n /**\n * Name of the parsha (or parshiyot) read on\n * Hebrew date, e.g. `['Noach']` or `['Matot', 'Masei']`\n */\n parsha: string[];\n /**\n * True if this is a regular parasha HaShavua\n * Torah reading, false if it's a special holiday reading\n */\n chag: boolean;\n /**\n * The parsha number (or numbers) using 1-indexing.\n * A `number` for a regular (single) parsha, and a `number[]`\n * for a doubled parsha.\n * For Parashat *Bereshit*, `num` would be equal to `1`, and for\n * *Matot-Masei* it would be `[42, 43]`\n */\n num?: number | number[];\n /** The date of the Shabbat this parsha is read */\n hdate: HDate;\n};\n\n/**\n * Represents Parashah HaShavua for an entire Hebrew year\n */\nexport class Sedra {\n private readonly year: number;\n private readonly il: boolean;\n private readonly firstSaturday: number;\n private readonly theSedraArray: readonly NumberOrString[];\n private readonly yearKey: string;\n /**\n * Caculates the Parashah HaShavua for an entire Hebrew year\n * @param hyear - Hebrew year (e.g. 5749)\n * @param il - Use Israel sedra schedule (false for Diaspora)\n */\n constructor(hyear: number, il: boolean) {\n hyear = +hyear;\n this.year = hyear;\n\n const rh0 = new HDate(1, months.TISHREI, hyear);\n const rh = rh0.abs();\n const rhDay = rh0.getDay() + 1;\n\n // find the first Saturday on or after Rosh Hashana\n this.firstSaturday = HDate.dayOnOrBefore(6, rh + 6);\n const leap = +HDate.isLeapYear(hyear);\n this.il = Boolean(il);\n\n const type = yearType(hyear);\n let key = `${leap}${rhDay}${type}`;\n if (types[key]) {\n this.theSedraArray = types[key];\n this.yearKey = key;\n } else {\n key = key + +this.il; // cast to num, then concat\n this.theSedraArray = types[key];\n this.yearKey = key;\n }\n\n if (!this.theSedraArray) {\n throw new Error(\n `improper sedra year type ${key} calculated for ${hyear}`\n );\n }\n }\n\n /**\n * Returns the parsha (or parshiyot) read on Hebrew date\n * @deprecated Use {@link lookup} instead\n * @param hd Hebrew date or R.D. days\n */\n get(hd: HDate | number): string[] {\n return this.lookup(hd).parsha;\n }\n\n /**\n * Looks up parsha for the date, then returns a translated or transliterated string\n * @deprecated Use {@link lookup} instead\n * @param hd Hebrew date or R.D. days\n * @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale\n */\n getString(hd: HDate | number, locale?: string): string {\n const parsha = this.get(hd);\n return renderParshaName(parsha, locale);\n }\n\n /**\n * Checks to see if this day would be a regular parasha HaShavua\n * Torah reading or special holiday reading\n * @deprecated Use {@link lookup} instead\n * @param hd Hebrew date or R.D. days\n */\n isParsha(hd: HDate | number): boolean {\n return !this.lookup(hd).chag;\n }\n\n /**\n * Returns the date that a parsha occurs\n * or `null` if the parsha doesn't occur this year\n * @param parsha if a `string`, specified with Sephardic transliterations\n * like `'Noach'` or `'Matot-Masei'`. If an array, must be a 1- or 2-element\n * array such as `['Noach']` or `['Matot', 'Masei']`. If a `number`, should\n * be a 0-based parsha index (`0` for Bereshit, `1` for Noach) or a negative\n * number for a doubled parsha (e.g. `-21` for Vayakhel-Pekudei)\n */\n find(parsha: number | string | string[]): HDate | null {\n if (typeof parsha === 'number') {\n if (parsha >= parshiot.length || (parsha < 0 && !isValidDouble(parsha))) {\n throw new RangeError(`Invalid parsha number: ${parsha}`);\n }\n return this.findInternal(parsha);\n } else if (typeof parsha === 'string') {\n const num = parsha2id.get(parsha);\n if (typeof num === 'number') {\n return this.find(num);\n } else if (parsha.indexOf('-') !== -1) {\n if (parsha === CHMPESACH || parsha === CHMSUKOT) {\n return this.findInternal(parsha);\n }\n return this.find(parsha.split('-'));\n } else {\n // try to find Saturday holiday like 'Yom Kippur'\n return this.findInternal(parsha);\n }\n } else if (Array.isArray(parsha)) {\n const plen = parsha.length;\n if ((plen !== 1 && plen !== 2) || typeof parsha[0] !== 'string') {\n throw new TypeError(\n `Invalid parsha argument: ${JSON.stringify(parsha)}`\n );\n }\n if (plen === 1) {\n return this.find(parsha[0]);\n }\n const p1 = parsha[0];\n const p2 = parsha[1];\n const num1 = parsha2id.get(p1);\n const num2 = parsha2id.get(p2);\n if (\n typeof num1 !== 'number' ||\n typeof num2 !== 'number' ||\n num2 !== num1 + 1 ||\n !isValidDouble(-num1)\n ) {\n throw new RangeError(`Unrecognized parsha name: ${p1}-${p2}`);\n }\n return this.find(-num1);\n }\n return null; /* NOTREACHED */\n }\n\n private findInternal(parsha: NumberOrString): HDate | null {\n const idx = this.theSedraArray.indexOf(parsha);\n if (idx === -1) {\n return null; // doesn't occur this year\n }\n return new HDate(this.firstSaturday + idx * 7);\n }\n\n /**\n * Returns the date that a parsha (or its doubled or undoubled counterpart)\n * occurs, or `null` if the parsha doesn't occur this year\n */\n findContaining(parsha: number | string): HDate | null {\n const hdate = this.find(parsha);\n if (hdate) {\n return hdate;\n }\n if (typeof parsha === 'number') {\n // a valid negative number (double parsha in a year where they are\n // combined) would've been found above, and a invalid negative number\n // would've thrown an error, so this parsha must be a positive number\n // representing either p1 or p2\n const p1 = -parsha;\n if (isValidDouble(p1)) {\n return this.find(p1);\n } else {\n // this must be the second individual parsha of a doubled pair\n // for example 29 for Kedoshim, so check for -28 for Achrei Mot-Kedoshim\n return this.find(p1 + 1);\n }\n } else {\n const num = parsha2id.get(parsha);\n if (num) {\n // parsha is either the first or second individual parsha of\n // a pair that is doubled this year\n const p1 = -num;\n if (isValidDouble(p1)) {\n return this.find(p1);\n } else {\n return this.find(p1 + 1);\n }\n } else {\n // this was indeed a doubled parsha, so return date of the first half\n const [p1] = parsha.split('-');\n return this.find(p1);\n }\n }\n }\n\n /**\n * Returns the underlying annual sedra schedule.\n * Used by `@hebcal/triennial`\n */\n getSedraArray(): readonly NumberOrString[] {\n return this.theSedraArray;\n }\n\n /**\n * R.D. date of the first Saturday on or after Rosh Hashana\n */\n getFirstSaturday(): number {\n return this.firstSaturday;\n }\n\n getYear(): number {\n return this.year;\n }\n\n /**\n * Returns an object describing the parsha on the first Saturday on or after `hd`\n * @param hd Hebrew date or R.D. days\n */\n lookup(hd: HDate | number): SedraResult {\n const abs =\n typeof hd === 'number' ? hd : HDate.isHDate(hd) ? hd.abs() : NaN;\n\n if (isNaN(abs)) {\n throw new TypeError(`Bad date argument: ${hd}`);\n }\n\n // find the first saturday on or after today's date\n const saturday = HDate.dayOnOrBefore(6, abs + 6);\n\n const weekNum = (saturday - this.firstSaturday) / 7;\n const index = this.theSedraArray[weekNum];\n\n if (typeof index === 'undefined') {\n const sedra = getSedra(this.year + 1, this.il);\n return sedra.lookup(saturday); // must be next year\n }\n const hdate = new HDate(saturday);\n if (typeof index === 'string') {\n // Shabbat has a chag. Return a description\n return {parsha: [index], chag: true, hdate};\n }\n if (index >= 0) {\n return {parsha: [parshiot[index]], chag: false, num: index + 1, hdate};\n }\n\n const p1 = D(index); // undouble the parsha\n return {\n parsha: [parshiot[p1], parshiot[p1 + 1]],\n chag: false,\n num: [p1 + 1, p1 + 2],\n hdate,\n };\n }\n}\n\n/**\n * The 54 parshiyot of the Torah as transilterated strings.\n * parshiot[0] == 'Bereshit', parshiot[1] == 'Noach', parshiot[52] == \"Ha'azinu\".\n * @readonly\n * @type {string[]}\n */\nexport const parshiot: readonly string[] = [\n 'Bereshit',\n 'Noach',\n 'Lech-Lecha',\n 'Vayera',\n 'Chayei Sara',\n 'Toldot',\n 'Vayetzei',\n 'Vayishlach',\n 'Vayeshev',\n 'Miketz',\n 'Vayigash',\n 'Vayechi',\n 'Shemot',\n 'Vaera',\n 'Bo',\n 'Beshalach',\n 'Yitro',\n 'Mishpatim',\n 'Terumah',\n 'Tetzaveh',\n 'Ki Tisa',\n 'Vayakhel',\n 'Pekudei',\n 'Vayikra',\n 'Tzav',\n 'Shmini',\n 'Tazria',\n 'Metzora',\n 'Achrei Mot',\n 'Kedoshim',\n 'Emor',\n 'Behar',\n 'Bechukotai',\n 'Bamidbar',\n 'Nasso',\n \"Beha'alotcha\",\n \"Sh'lach\",\n 'Korach',\n 'Chukat',\n 'Balak',\n 'Pinchas',\n 'Matot',\n 'Masei',\n 'Devarim',\n 'Vaetchanan',\n 'Eikev',\n \"Re'eh\",\n 'Shoftim',\n 'Ki Teitzei',\n 'Ki Tavo',\n 'Nitzavim',\n 'Vayeilech',\n \"Ha'azinu\",\n] as const;\n\n// 0-based parsha IDs\nconst parsha2id = new Map<string, number>();\nfor (let id = 0; id < parshiot.length; id++) {\n const name = parshiot[id];\n parsha2id.set(name, id);\n}\n\n// 0-based parsha IDs\nconst doubles = [\n 21, // Vayakhel-Pekudei\n 26, // Tazria-Metzora\n 28, // Achrei Mot-Kedoshim\n 31, // Behar-Bechukotai\n 38, // Chukat-Balak\n 41, // Matot-Masei\n 50, // Nitzavim-Vayeilech\n];\n\n/**\n * @private\n * @param id a negative number\n */\nfunction isValidDouble(id: number): boolean {\n return doubles.includes(-id);\n}\n\n/**\n * parsha doubler/undoubler\n * @private\n * @param p\n */\nfunction D(p: number): number {\n return -p;\n}\n\nconst RH = 'Rosh Hashana'; // 0\nconst YK = 'Yom Kippur'; // 1\n\nconst SUKKOT = 'Sukkot'; // 0\nconst CHMSUKOT = 'Sukkot Shabbat Chol ha-Moed'; // 0\nconst SHMINI = 'Shmini Atzeret'; // 0\n\nconst PESACH = 'Pesach'; // 25\nconst PESACH1 = 'Pesach I';\nconst CHMPESACH = 'Pesach Shabbat Chol ha-Moed'; // 25\nconst PESACH7 = 'Pesach VII'; // 25\nconst PESACH8 = 'Pesach VIII';\nconst SHAVUOT = 'Shavuot'; // 33\n\n/**\n * Returns an array from start to end\n * @private\n * @param start beginning number, inclusive\n * @param stop ending number, inclusive\n */\nfunction range(start: number, stop: number): readonly number[] {\n return Array.from({length: stop - start + 1}, (v, k) => k + start);\n}\n\ntype NumberOrString = number | string;\n\nconst yearStartVayeilech: readonly NumberOrString[] = [51, 52, CHMSUKOT];\nconst yearStartHaazinu: readonly NumberOrString[] = [52, YK, CHMSUKOT];\nconst yearStartRH: readonly NumberOrString[] = [RH, 52, SUKKOT, SHMINI];\nconst r020 = range(0, 20);\nconst r027 = range(0, 27);\nconst r3340 = range(33, 40);\nconst r4349 = range(43, 49);\nconst r4350 = range(43, 50);\n\n/**\n * The ordinary year types (keviot)\n * names are leap/nonleap - day - incomplete/regular/complete - diaspora/Israel\n * @private\n * @readonly\n */\nconst types: Record<string, readonly NumberOrString[]> = {\n /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Tuesday. */\n // e.g. 5753\n '020': yearStartVayeilech.concat(\n r020,\n D(21),\n 23,\n 24,\n CHMPESACH,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\n // e.g. 5756\n '0220': yearStartVayeilech.concat(\n r020,\n D(21),\n 23,\n 24,\n CHMPESACH,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n 33,\n SHAVUOT,\n range(34, 37),\n D(38),\n 40,\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Thursday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\n // e.g. 5701\n '0510': yearStartHaazinu.concat(\n r020,\n D(21),\n 23,\n 24,\n PESACH1,\n PESACH8,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Thursday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\n // e.g. 5745\n '0511': yearStartHaazinu.concat(\n r020,\n D(21),\n 23,\n 24,\n PESACH,\n 25,\n D(26),\n D(28),\n range(30, 40),\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Thursday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Sunday. */\n // e.g. 5754\n '052': yearStartHaazinu.concat(\n range(0, 24),\n PESACH7,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Saturday, is `incomplete' (Heshvan and Kislev\n * each have 29 days), and has Passover start on Sunday. */\n // e.g. 5761\n '070': yearStartRH.concat(\n r020,\n D(21),\n 23,\n 24,\n PESACH7,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Saturday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Tuesday. */\n // e.g. 5716\n '072': yearStartRH.concat(\n r020,\n D(21),\n 23,\n 24,\n CHMPESACH,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4349,\n D(50)\n ),\n\n /* -- The leap year types (keviot) -- */\n /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Thursday. */\n // e.g. 5746\n '1200': yearStartVayeilech.concat(\n r027,\n CHMPESACH,\n range(28, 33),\n SHAVUOT,\n range(34, 37),\n D(38),\n 40,\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Thursday. */\n // e.g. 5746\n '1201': yearStartVayeilech.concat(\n r027,\n CHMPESACH,\n range(28, 40),\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Saturday. */\n // e.g.5752\n '1220': yearStartVayeilech.concat(\n r027,\n PESACH1,\n PESACH8,\n range(28, 40),\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Saturday. */\n // e.g.5752\n '1221': yearStartVayeilech.concat(r027, PESACH, range(28, 50)),\n\n /* Hebrew year that starts on Thursday, is `incomplete' (Heshvan and\n * Kislev both have 29 days), and has Passover start on Sunday. */\n // e.g. 5768\n '150': yearStartHaazinu.concat(range(0, 28), PESACH7, range(29, 50)),\n\n /* Hebrew year that starts on Thursday, is `complete' (Heshvan and\n * Kislev both have 30 days), and has Passover start on Tuesday. */\n // eg. 5771\n '152': yearStartHaazinu.concat(range(0, 28), CHMPESACH, range(29, 49), D(50)),\n\n /* Hebrew year that starts on Saturday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Tuesday. */\n // e.g.5757\n '170': yearStartRH.concat(\n r027,\n CHMPESACH,\n range(28, 40),\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Saturday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\n '1720': yearStartRH.concat(\n r027,\n CHMPESACH,\n range(28, 33),\n SHAVUOT,\n range(34, 37),\n D(38),\n 40,\n D(41),\n r4349,\n D(50)\n ),\n} as const;\n\n/* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\ntypes['0221'] = types['020'];\n\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Thursday. */\n// e.g. 5715\ntypes['0310'] = types['0220'];\n\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Thursday. */\ntypes['0311'] = types['020'];\n\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\n// e.g. 5715\ntypes['1310'] = types['1220'];\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\ntypes['1311'] = types['1221'];\n\n/* Hebrew year that starts on Saturday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\ntypes['1721'] = types['170'];\n\nconst sedraCache = new QuickLRU<string, Sedra>({maxSize: 400});\n\n/**\n * Convenience function to create an instance of `Sedra` or reuse a previously\n * created and cached instance.\n * @param hyear\n * @param il\n */\nexport function getSedra(hyear: number, il: boolean): Sedra {\n const cacheKey = `${hyear}-${il ? 1 : 0}`;\n let sedra = sedraCache.get(cacheKey);\n if (!sedra) {\n sedra = new Sedra(hyear, il);\n sedraCache.set(cacheKey, sedra);\n }\n return sedra;\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sedra.js","sources":["../../../src/sedra.ts"],"sourcesContent":["/*\n Hebcal - A Jewish Calendar Generator\n Copyright (c) 1994-2020 Danny Sadinoff\n Portions copyright Eyal Schachter and Michael J. Radwin\n\n https://github.com/hebcal/hebcal-es6\n\n This program is free software; you can redistribute it and/or\n modify it under the terms of the GNU General Public License\n as published by the Free Software Foundation; either version 2\n of the License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/*\n * Many of the following algorithms were taken from hebrew calendar\n * routines by Maimonedes, from his Mishneh Torah, and implemented by\n * Nachum Dershowitz Department of Computer Science\n * (217) 333-4219 University of Illinois at Urbana-Champaign\n * nachum@cs.uiuedu 1304 West Springfield Avenue\n * Urbana, Illinois 61801\n *\n * The routines were included in the emacs 19 distribution.\n *\n */\nimport {HDate, months} from '@hebcal/hdate';\nimport {renderParshaName} from './parshaName';\nimport QuickLRU from 'quick-lru';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\nconst INCOMPLETE = 0;\nconst REGULAR = 1;\nconst COMPLETE = 2;\n\nfunction yearType(hyear: number): number {\n const longC = HDate.longCheshvan(hyear);\n const shortK = HDate.shortKislev(hyear);\n if (longC && !shortK) {\n return COMPLETE;\n } else if (!longC && shortK) {\n return INCOMPLETE;\n } else {\n return REGULAR;\n }\n}\n\n/** The result from `Sedra.lookup()` */\nexport type SedraResult = {\n /**\n * Name of the parsha (or parshiyot) read on\n * Hebrew date, e.g. `['Noach']` or `['Matot', 'Masei']`\n */\n parsha: string[];\n /**\n * True if this is a regular parasha HaShavua\n * Torah reading, false if it's a special holiday reading\n */\n chag: boolean;\n /**\n * The parsha number (or numbers) using 1-indexing.\n * A `number` for a regular (single) parsha, and a `number[]`\n * for a doubled parsha.\n * For Parashat *Bereshit*, `num` would be equal to `1`, and for\n * *Matot-Masei* it would be `[42, 43]`\n */\n num?: number | number[];\n /** The date of the Shabbat this parsha is read */\n hdate: HDate;\n};\n\n/**\n * Represents Parashah HaShavua for an entire Hebrew year\n */\nexport class Sedra {\n private readonly year: number;\n private readonly il: boolean;\n private readonly firstSaturday: number;\n private readonly theSedraArray: readonly NumberOrString[];\n private readonly yearKey: string;\n /**\n * Caculates the Parashah HaShavua for an entire Hebrew year\n * @param hyear - Hebrew year (e.g. 5749)\n * @param il - Use Israel sedra schedule (false for Diaspora)\n */\n constructor(hyear: number, il: boolean) {\n hyear = +hyear;\n this.year = hyear;\n\n const rh0 = new HDate(1, months.TISHREI, hyear);\n const rh = rh0.abs();\n const rhDay = rh0.getDay() + 1;\n\n // find the first Saturday on or after Rosh Hashana\n this.firstSaturday = HDate.dayOnOrBefore(6, rh + 6);\n const leap = +HDate.isLeapYear(hyear);\n this.il = Boolean(il);\n\n const type = yearType(hyear);\n let key = `${leap}${rhDay}${type}`;\n if (types[key]) {\n this.theSedraArray = types[key];\n this.yearKey = key;\n } else {\n key = key + +this.il; // cast to num, then concat\n this.theSedraArray = types[key];\n this.yearKey = key;\n }\n\n if (!this.theSedraArray) {\n throw new Error(\n `improper sedra year type ${key} calculated for ${hyear}`\n );\n }\n }\n\n /**\n * Returns the parsha (or parshiyot) read on Hebrew date\n * @deprecated Use {@link lookup} instead\n * @param hd Hebrew date or R.D. days\n */\n get(hd: HDate | number): string[] {\n return this.lookup(hd).parsha;\n }\n\n /**\n * Looks up parsha for the date, then returns a translated or transliterated string\n * @deprecated Use {@link lookup} instead\n * @param hd Hebrew date or R.D. days\n * @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale\n */\n getString(hd: HDate | number, locale?: string): string {\n const parsha = this.get(hd);\n return renderParshaName(parsha, locale);\n }\n\n /**\n * Checks to see if this day would be a regular parasha HaShavua\n * Torah reading or special holiday reading\n * @deprecated Use {@link lookup} instead\n * @param hd Hebrew date or R.D. days\n */\n isParsha(hd: HDate | number): boolean {\n return !this.lookup(hd).chag;\n }\n\n /**\n * Returns the date that a parsha occurs\n * or `null` if the parsha doesn't occur this year\n * @param parsha if a `string`, specified with Sephardic transliterations\n * like `'Noach'` or `'Matot-Masei'`. If an array, must be a 1- or 2-element\n * array such as `['Noach']` or `['Matot', 'Masei']`. If a `number`, should\n * be a 0-based parsha index (`0` for Bereshit, `1` for Noach) or a negative\n * number for a doubled parsha (e.g. `-21` for Vayakhel-Pekudei)\n */\n find(parsha: number | string | string[]): HDate | null {\n if (typeof parsha === 'number') {\n if (parsha >= parshiot.length || (parsha < 0 && !isValidDouble(parsha))) {\n throw new RangeError(`Invalid parsha number: ${parsha}`);\n }\n return this.findInternal(parsha);\n } else if (typeof parsha === 'string') {\n const num = parsha2id.get(parsha);\n if (typeof num === 'number') {\n return this.find(num);\n } else if (parsha.indexOf('-') !== -1) {\n if (parsha === CHMPESACH || parsha === CHMSUKOT) {\n return this.findInternal(parsha);\n }\n return this.find(parsha.split('-'));\n } else {\n // try to find Saturday holiday like 'Yom Kippur'\n return this.findInternal(parsha);\n }\n } else if (Array.isArray(parsha)) {\n const plen = parsha.length;\n if ((plen !== 1 && plen !== 2) || typeof parsha[0] !== 'string') {\n throw new TypeError(\n `Invalid parsha argument: ${JSON.stringify(parsha)}`\n );\n }\n if (plen === 1) {\n return this.find(parsha[0]);\n }\n const p1 = parsha[0];\n const p2 = parsha[1];\n const num1 = parsha2id.get(p1);\n const num2 = parsha2id.get(p2);\n if (\n typeof num1 !== 'number' ||\n typeof num2 !== 'number' ||\n num2 !== num1 + 1 ||\n !isValidDouble(-num1)\n ) {\n throw new RangeError(`Unrecognized parsha name: ${p1}-${p2}`);\n }\n return this.find(-num1);\n }\n return null; /* NOTREACHED */\n }\n\n private findInternal(parsha: NumberOrString): HDate | null {\n const idx = this.theSedraArray.indexOf(parsha);\n if (idx === -1) {\n return null; // doesn't occur this year\n }\n return new HDate(this.firstSaturday + idx * 7);\n }\n\n /**\n * Returns the date that a parsha (or its doubled or undoubled counterpart)\n * occurs, or `null` if the parsha doesn't occur this year\n */\n findContaining(parsha: number | string): HDate | null {\n const hdate = this.find(parsha);\n if (hdate) {\n return hdate;\n }\n if (typeof parsha === 'number') {\n // a valid negative number (double parsha in a year where they are\n // combined) would've been found above, and a invalid negative number\n // would've thrown an error, so this parsha must be a positive number\n // representing either p1 or p2\n const p1 = -parsha;\n if (isValidDouble(p1)) {\n return this.find(p1);\n } else {\n // this must be the second individual parsha of a doubled pair\n // for example 29 for Kedoshim, so check for -28 for Achrei Mot-Kedoshim\n return this.find(p1 + 1);\n }\n } else {\n const num = parsha2id.get(parsha);\n if (num) {\n // parsha is either the first or second individual parsha of\n // a pair that is doubled this year\n const p1 = -num;\n if (isValidDouble(p1)) {\n return this.find(p1);\n } else {\n return this.find(p1 + 1);\n }\n } else {\n // this was indeed a doubled parsha, so return date of the first half\n const [p1] = parsha.split('-');\n return this.find(p1);\n }\n }\n }\n\n /**\n * Returns the underlying annual sedra schedule.\n * Used by `@hebcal/triennial`\n */\n getSedraArray(): readonly NumberOrString[] {\n return this.theSedraArray;\n }\n\n /**\n * R.D. date of the first Saturday on or after Rosh Hashana\n */\n getFirstSaturday(): number {\n return this.firstSaturday;\n }\n\n getYear(): number {\n return this.year;\n }\n\n /**\n * Returns an object describing the parsha on the first Saturday on or after `hd`\n * @param hd Hebrew date or R.D. days\n */\n lookup(hd: HDate | number): SedraResult {\n const abs =\n typeof hd === 'number' ? hd : HDate.isHDate(hd) ? hd.abs() : NaN;\n\n if (isNaN(abs)) {\n throw new TypeError(`Bad date argument: ${hd}`);\n }\n\n // find the first saturday on or after today's date\n const saturday = HDate.dayOnOrBefore(6, abs + 6);\n\n const weekNum = (saturday - this.firstSaturday) / 7;\n const index = this.theSedraArray[weekNum];\n\n if (typeof index === 'undefined') {\n const sedra = getSedra(this.year + 1, this.il);\n return sedra.lookup(saturday); // must be next year\n }\n const hdate = new HDate(saturday);\n if (typeof index === 'string') {\n // Shabbat has a chag. Return a description\n return {parsha: [index], chag: true, hdate};\n }\n if (index >= 0) {\n return {parsha: [parshiot[index]], chag: false, num: index + 1, hdate};\n }\n\n const p1 = D(index); // undouble the parsha\n return {\n parsha: [parshiot[p1], parshiot[p1 + 1]],\n chag: false,\n num: [p1 + 1, p1 + 2],\n hdate,\n };\n }\n}\n\n/**\n * The 54 parshiyot of the Torah as transilterated strings.\n * parshiot[0] == 'Bereshit', parshiot[1] == 'Noach', parshiot[52] == \"Ha'azinu\".\n * @readonly\n * @type {string[]}\n */\nexport const parshiot: readonly string[] = [\n 'Bereshit',\n 'Noach',\n 'Lech-Lecha',\n 'Vayera',\n 'Chayei Sara',\n 'Toldot',\n 'Vayetzei',\n 'Vayishlach',\n 'Vayeshev',\n 'Miketz',\n 'Vayigash',\n 'Vayechi',\n 'Shemot',\n 'Vaera',\n 'Bo',\n 'Beshalach',\n 'Yitro',\n 'Mishpatim',\n 'Terumah',\n 'Tetzaveh',\n 'Ki Tisa',\n 'Vayakhel',\n 'Pekudei',\n 'Vayikra',\n 'Tzav',\n 'Shmini',\n 'Tazria',\n 'Metzora',\n 'Achrei Mot',\n 'Kedoshim',\n 'Emor',\n 'Behar',\n 'Bechukotai',\n 'Bamidbar',\n 'Nasso',\n \"Beha'alotcha\",\n \"Sh'lach\",\n 'Korach',\n 'Chukat',\n 'Balak',\n 'Pinchas',\n 'Matot',\n 'Masei',\n 'Devarim',\n 'Vaetchanan',\n 'Eikev',\n \"Re'eh\",\n 'Shoftim',\n 'Ki Teitzei',\n 'Ki Tavo',\n 'Nitzavim',\n 'Vayeilech',\n \"Ha'azinu\",\n] as const;\n\n// 0-based parsha IDs\nconst parsha2id = new Map<string, number>();\nfor (let id = 0; id < parshiot.length; id++) {\n const name = parshiot[id];\n parsha2id.set(name, id);\n}\n\n// 0-based parsha IDs\nconst doubles = [\n 21, // Vayakhel-Pekudei\n 26, // Tazria-Metzora\n 28, // Achrei Mot-Kedoshim\n 31, // Behar-Bechukotai\n 38, // Chukat-Balak\n 41, // Matot-Masei\n 50, // Nitzavim-Vayeilech\n];\n\n/**\n * @private\n * @param id a negative number\n */\nfunction isValidDouble(id: number): boolean {\n return doubles.includes(-id);\n}\n\n/**\n * parsha doubler/undoubler\n * @private\n * @param p\n */\nfunction D(p: number): number {\n return -p;\n}\n\nconst RH = 'Rosh Hashana'; // 0\nconst YK = 'Yom Kippur'; // 1\n\nconst SUKKOT = 'Sukkot'; // 0\nconst CHMSUKOT = 'Sukkot Shabbat Chol ha-Moed'; // 0\nconst SHMINI = 'Shmini Atzeret'; // 0\n\nconst PESACH = 'Pesach'; // 25\nconst PESACH1 = 'Pesach I';\nconst CHMPESACH = 'Pesach Shabbat Chol ha-Moed'; // 25\nconst PESACH7 = 'Pesach VII'; // 25\nconst PESACH8 = 'Pesach VIII';\nconst SHAVUOT = 'Shavuot'; // 33\n\n/**\n * Returns an array from start to end\n * @private\n * @param start beginning number, inclusive\n * @param stop ending number, inclusive\n */\nfunction range(start: number, stop: number): readonly number[] {\n return Array.from({length: stop - start + 1}, (v, k) => k + start);\n}\n\ntype NumberOrString = number | string;\n\nconst yearStartVayeilech: readonly NumberOrString[] = [51, 52, CHMSUKOT];\nconst yearStartHaazinu: readonly NumberOrString[] = [52, YK, CHMSUKOT];\nconst yearStartRH: readonly NumberOrString[] = [RH, 52, SUKKOT, SHMINI];\nconst r020 = range(0, 20);\nconst r027 = range(0, 27);\nconst r3340 = range(33, 40);\nconst r4349 = range(43, 49);\nconst r4350 = range(43, 50);\n\n/**\n * The ordinary year types (keviot)\n * names are leap/nonleap - day - incomplete/regular/complete - diaspora/Israel\n * @private\n * @readonly\n */\nconst types: Record<string, readonly NumberOrString[]> = {\n /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Tuesday. */\n // e.g. 5753\n '020': yearStartVayeilech.concat(\n r020,\n D(21),\n 23,\n 24,\n CHMPESACH,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\n // e.g. 5756\n '0220': yearStartVayeilech.concat(\n r020,\n D(21),\n 23,\n 24,\n CHMPESACH,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n 33,\n SHAVUOT,\n range(34, 37),\n D(38),\n 40,\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Thursday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\n // e.g. 5701\n '0510': yearStartHaazinu.concat(\n r020,\n D(21),\n 23,\n 24,\n PESACH1,\n PESACH8,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Thursday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\n // e.g. 5745\n '0511': yearStartHaazinu.concat(\n r020,\n D(21),\n 23,\n 24,\n PESACH,\n 25,\n D(26),\n D(28),\n range(30, 40),\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Thursday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Sunday. */\n // e.g. 5754\n '052': yearStartHaazinu.concat(\n range(0, 24),\n PESACH7,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Saturday, is `incomplete' (Heshvan and Kislev\n * each have 29 days), and has Passover start on Sunday. */\n // e.g. 5761\n '070': yearStartRH.concat(\n r020,\n D(21),\n 23,\n 24,\n PESACH7,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Saturday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Tuesday. */\n // e.g. 5716\n '072': yearStartRH.concat(\n r020,\n D(21),\n 23,\n 24,\n CHMPESACH,\n 25,\n D(26),\n D(28),\n 30,\n D(31),\n r3340,\n D(41),\n r4349,\n D(50)\n ),\n\n /* -- The leap year types (keviot) -- */\n /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Thursday. */\n // e.g. 5746\n '1200': yearStartVayeilech.concat(\n r027,\n CHMPESACH,\n range(28, 33),\n SHAVUOT,\n range(34, 37),\n D(38),\n 40,\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Monday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Thursday. */\n // e.g. 5746\n '1201': yearStartVayeilech.concat(\n r027,\n CHMPESACH,\n range(28, 40),\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Saturday. */\n // e.g.5752\n '1220': yearStartVayeilech.concat(\n r027,\n PESACH1,\n PESACH8,\n range(28, 40),\n D(41),\n r4350\n ),\n\n /* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Saturday. */\n // e.g.5752\n '1221': yearStartVayeilech.concat(r027, PESACH, range(28, 50)),\n\n /* Hebrew year that starts on Thursday, is `incomplete' (Heshvan and\n * Kislev both have 29 days), and has Passover start on Sunday. */\n // e.g. 5768\n '150': yearStartHaazinu.concat(range(0, 28), PESACH7, range(29, 50)),\n\n /* Hebrew year that starts on Thursday, is `complete' (Heshvan and\n * Kislev both have 30 days), and has Passover start on Tuesday. */\n // eg. 5771\n '152': yearStartHaazinu.concat(range(0, 28), CHMPESACH, range(29, 49), D(50)),\n\n /* Hebrew year that starts on Saturday, is `incomplete' (Heshvan and\n * Kislev each have 29 days), and has Passover start on Tuesday. */\n // e.g.5757\n '170': yearStartRH.concat(\n r027,\n CHMPESACH,\n range(28, 40),\n D(41),\n r4349,\n D(50)\n ),\n\n /* Hebrew year that starts on Saturday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\n '1720': yearStartRH.concat(\n r027,\n CHMPESACH,\n range(28, 33),\n SHAVUOT,\n range(34, 37),\n D(38),\n 40,\n D(41),\n r4349,\n D(50)\n ),\n} as const;\n\n/* Hebrew year that starts on Monday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\ntypes['0221'] = types['020'];\n\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Thursday. */\n// e.g. 5715\ntypes['0310'] = types['0220'];\n\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Thursday. */\ntypes['0311'] = types['020'];\n\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\n// e.g. 5715\ntypes['1310'] = types['1220'];\n/* Hebrew year that starts on Tuesday, is `regular' (Heshvan has 29\n * days and Kislev has 30 days), and has Passover start on Saturday. */\ntypes['1311'] = types['1221'];\n\n/* Hebrew year that starts on Saturday, is `complete' (Heshvan and\n * Kislev each have 30 days), and has Passover start on Thursday. */\ntypes['1721'] = types['170'];\n\nconst sedraCache = new QuickLRU<string, Sedra>({maxSize: 400});\n\n/**\n * Convenience function to create an instance of `Sedra` or reuse a previously\n * created and cached instance.\n * @param hyear\n * @param il\n */\nexport function getSedra(hyear: number, il: boolean): Sedra {\n const cacheKey = `${hyear}-${il ? 1 : 0}`;\n let sedra = sedraCache.get(cacheKey);\n if (!sedra) {\n sedra = new Sedra(hyear, il);\n sedraCache.set(cacheKey, sedra);\n }\n return sedra;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticHolidays.js","sources":["../../../src/staticHolidays.ts"],"sourcesContent":["import {months} from '@hebcal/hdate';\nimport {flags} from './event';\n\nconst Nisan = months.NISAN;\nconst Iyyar = months.IYYAR;\nconst Sivan = months.SIVAN;\nconst Tamuz = months.TAMUZ;\nconst Av = months.AV;\nconst Elul = months.ELUL;\nconst Tishrei = months.TISHREI;\nconst Cheshvan = months.CHESHVAN;\nconst Kislev = months.KISLEV;\nconst Shvat = months.SHVAT;\nconst Adar2 = months.ADAR_II;\n\nconst CHAG = flags.CHAG;\nconst LIGHT_CANDLES = flags.LIGHT_CANDLES;\nconst YOM_TOV_ENDS = flags.YOM_TOV_ENDS;\nconst CHUL_ONLY = flags.CHUL_ONLY;\nconst IL_ONLY = flags.IL_ONLY;\nconst LIGHT_CANDLES_TZEIS = flags.LIGHT_CANDLES_TZEIS;\nconst CHANUKAH_CANDLES = flags.CHANUKAH_CANDLES;\nconst MAJOR_FAST = flags.MAJOR_FAST;\nconst MINOR_HOLIDAY = flags.MINOR_HOLIDAY;\nconst EREV = flags.EREV;\nconst CHOL_HAMOED = flags.CHOL_HAMOED;\n\nconst emojiPesach = '🫓';\nconst emojiSukkot = '🌿🍋';\n\nconst ROSH_HASHANA_II = 'Rosh Hashana II';\nconst EREV_YOM_KIPPUR = 'Erev Yom Kippur';\nconst YOM_KIPPUR = 'Yom Kippur';\nconst EREV_SUKKOT = 'Erev Sukkot';\nconst SUKKOT_I = 'Sukkot I';\nconst SUKKOT_II = 'Sukkot II';\nconst SUKKOT_III_CHM = \"Sukkot III (CH''M)\";\nconst SUKKOT_IV_CHM = \"Sukkot IV (CH''M)\";\nconst SUKKOT_V_CHM = \"Sukkot V (CH''M)\";\nconst SUKKOT_VI_CHM = \"Sukkot VI (CH''M)\";\nconst SHMINI_ATZERET = 'Shmini Atzeret';\nconst SIMCHAT_TORAH = 'Simchat Torah';\nconst SUKKOT_II_CHM = \"Sukkot II (CH''M)\";\nconst SUKKOT_VII_HOSHANA_RABA = 'Sukkot VII (Hoshana Raba)';\nconst CHANUKAH_1_CANDLE = 'Chanukah: 1 Candle';\nconst TU_BISHVAT = 'Tu BiShvat';\nconst EREV_PURIM = 'Erev Purim';\nconst PURIM = 'Purim';\nconst SHUSHAN_PURIM = 'Shushan Purim';\nconst EREV_PESACH = 'Erev Pesach';\nconst PESACH_I = 'Pesach I';\nconst PESACH_II = 'Pesach II';\nconst PESACH_II_CHM = \"Pesach II (CH''M)\";\nconst PESACH_III_CHM = \"Pesach III (CH''M)\";\nconst PESACH_IV_CHM = \"Pesach IV (CH''M)\";\nconst PESACH_V_CHM = \"Pesach V (CH''M)\";\nconst PESACH_VI_CHM = \"Pesach VI (CH''M)\";\nconst PESACH_VII = 'Pesach VII';\nconst PESACH_VIII = 'Pesach VIII';\nconst PESACH_SHENI = 'Pesach Sheni';\nconst LAG_BAOMER = 'Lag BaOmer';\nconst EREV_SHAVUOT = 'Erev Shavuot';\nconst SHAVUOT = 'Shavuot';\nconst SHAVUOT_I = 'Shavuot I';\nconst SHAVUOT_II = 'Shavuot II';\nconst TU_BAV = \"Tu B'Av\";\nconst ROSH_HASHANA_LABEHEMOT = 'Rosh Hashana LaBehemot';\nconst EREV_ROSH_HASHANA = 'Erev Rosh Hashana';\nconst YOM_YERUSHALAYIM = 'Yom Yerushalayim';\nconst BEN_GURION_DAY = 'Ben-Gurion Day';\nconst FAMILY_DAY = 'Family Day';\nconst YITZHAK_RABIN_MEMORIAL_DAY = 'Yitzhak Rabin Memorial Day';\nconst HERZL_DAY = 'Herzl Day';\nconst JABOTINSKY_DAY = 'Jabotinsky Day';\nconst SIGD = 'Sigd';\nconst YOM_HAALIYAH = 'Yom HaAliyah';\nconst YOM_HAALIYAH_SCHOOL_OBSERVANCE = 'Yom HaAliyah School Observance';\nconst HEBREW_LANGUAGE_DAY = 'Hebrew Language Day';\n\n/**\n * Transliterated names of holidays, used by `Event.getDesc()`\n * @readonly\n * @enum {string}\n */\nexport const holidayDesc = {\n /** Asara B'Tevet */\n ASARA_BTEVET: \"Asara B'Tevet\",\n /** Birkat Hachamah */\n BIRKAT_HACHAMAH: 'Birkat Hachamah',\n /** Chag HaBanot */\n CHAG_HABANOT: 'Chag HaBanot',\n /** Chanukah: 8th Day */\n CHANUKAH_8TH_DAY: 'Chanukah: 8th Day',\n /** Erev Tish'a B'Av */\n EREV_TISHA_BAV: \"Erev Tish'a B'Av\",\n /** Leil Selichot */\n LEIL_SELICHOT: 'Leil Selichot',\n /** Purim Katan */\n PURIM_KATAN: 'Purim Katan',\n /** Purim Meshulash */\n PURIM_MESHULASH: 'Purim Meshulash',\n /** Shabbat Chazon */\n SHABBAT_CHAZON: 'Shabbat Chazon',\n /** Shabbat HaChodesh */\n SHABBAT_HACHODESH: 'Shabbat HaChodesh',\n /** Shabbat HaGadol */\n SHABBAT_HAGADOL: 'Shabbat HaGadol',\n /** Shabbat Nachamu */\n SHABBAT_NACHAMU: 'Shabbat Nachamu',\n /** Shabbat Parah */\n SHABBAT_PARAH: 'Shabbat Parah',\n /** Shabbat Shekalim */\n SHABBAT_SHEKALIM: 'Shabbat Shekalim',\n /** Shabbat Shirah */\n SHABBAT_SHIRAH: 'Shabbat Shirah',\n /** Shabbat Shuva */\n SHABBAT_SHUVA: 'Shabbat Shuva',\n /** Shabbat Zachor */\n SHABBAT_ZACHOR: 'Shabbat Zachor',\n /** Shushan Purim Katan */\n SHUSHAN_PURIM_KATAN: 'Shushan Purim Katan',\n /** Ta'anit Bechorot */\n TAANIT_BECHOROT: \"Ta'anit Bechorot\",\n /** Ta'anit Esther */\n TAANIT_ESTHER: \"Ta'anit Esther\",\n /** Tish'a B'Av */\n TISHA_BAV: \"Tish'a B'Av\",\n /** Tzom Gedaliah */\n TZOM_GEDALIAH: 'Tzom Gedaliah',\n /** Tzom Tammuz */\n TZOM_TAMMUZ: 'Tzom Tammuz',\n /** Yom HaAtzma'ut */\n YOM_HAATZMA_UT: \"Yom HaAtzma'ut\",\n /** Yom HaShoah */\n YOM_HASHOAH: 'Yom HaShoah',\n /** Yom HaZikaron */\n YOM_HAZIKARON: 'Yom HaZikaron',\n\n /** Ben-Gurion Day */\n BEN_GURION_DAY,\n /** Chanukah: 1 Candle */\n CHANUKAH_1_CANDLE,\n /** Erev Pesach */\n EREV_PESACH,\n /** Erev Purim */\n EREV_PURIM,\n /** Erev Rosh Hashana */\n EREV_ROSH_HASHANA,\n /** Erev Shavuot */\n EREV_SHAVUOT,\n /** Erev Sukkot */\n EREV_SUKKOT,\n /** Erev Yom Kippur */\n EREV_YOM_KIPPUR,\n /** Family Day */\n FAMILY_DAY,\n /** Hebrew Language Day */\n HEBREW_LANGUAGE_DAY,\n /** Herzl Day */\n HERZL_DAY,\n /** Jabotinsky Day */\n JABOTINSKY_DAY,\n /** Lag BaOmer */\n LAG_BAOMER,\n /** Pesach I */\n PESACH_I,\n /** Pesach II */\n PESACH_II,\n /** Pesach III (CH''M) */\n PESACH_III_CHM,\n /** Pesach II (CH''M) */\n PESACH_II_CHM,\n /** Pesach IV (CH''M) */\n PESACH_IV_CHM,\n /** Pesach Sheni */\n PESACH_SHENI,\n /** Pesach VII */\n PESACH_VII,\n /** Pesach VIII */\n PESACH_VIII,\n /** Pesach VI (CH''M) */\n PESACH_VI_CHM,\n /** Pesach V (CH''M) */\n PESACH_V_CHM,\n /** Purim */\n PURIM,\n /** Rosh Hashana II */\n ROSH_HASHANA_II,\n /** Rosh Hashana LaBehemot */\n ROSH_HASHANA_LABEHEMOT,\n /** Shavuot */\n SHAVUOT,\n /** Shavuot I */\n SHAVUOT_I,\n /** Shavuot II */\n SHAVUOT_II,\n /** Shmini Atzeret */\n SHMINI_ATZERET,\n /** Shushan Purim */\n SHUSHAN_PURIM,\n /** Sigd */\n SIGD,\n /** Simchat Torah */\n SIMCHAT_TORAH,\n /** Sukkot I */\n SUKKOT_I,\n /** Sukkot II */\n SUKKOT_II,\n /** Sukkot III (CH''M) */\n SUKKOT_III_CHM,\n /** Sukkot II (CH''M) */\n SUKKOT_II_CHM,\n /** Sukkot IV (CH''M) */\n SUKKOT_IV_CHM,\n /** Sukkot VII (Hoshana Raba) */\n SUKKOT_VII_HOSHANA_RABA,\n /** Sukkot VI (CH''M) */\n SUKKOT_VI_CHM,\n /** Sukkot V (CH''M) */\n SUKKOT_V_CHM,\n /** Tu B\\'Av */\n TU_BAV,\n /** Tu BiShvat */\n TU_BISHVAT,\n /** Yitzhak Rabin Memorial Day */\n YITZHAK_RABIN_MEMORIAL_DAY,\n /** Yom HaAliyah */\n YOM_HAALIYAH,\n /** Yom HaAliyah School Observance */\n YOM_HAALIYAH_SCHOOL_OBSERVANCE,\n /** Yom Kippur */\n YOM_KIPPUR,\n /** Yom Yerushalayim */\n YOM_YERUSHALAYIM,\n} as const;\n\nexport interface Holiday {\n mm: number; // This should be an enum `Month` eventually\n dd: number;\n desc: string;\n flags: number;\n chmDay?: number;\n emoji?: string;\n}\n\nexport const staticHolidays: Holiday[] = [\n {\n mm: Tishrei,\n dd: 2,\n desc: ROSH_HASHANA_II,\n flags: CHAG | YOM_TOV_ENDS,\n emoji: '🍏🍯',\n },\n {mm: Tishrei, dd: 9, desc: EREV_YOM_KIPPUR, flags: EREV | LIGHT_CANDLES},\n {\n mm: Tishrei,\n dd: 10,\n desc: YOM_KIPPUR,\n flags: CHAG | MAJOR_FAST | YOM_TOV_ENDS,\n },\n\n {\n mm: Tishrei,\n dd: 14,\n desc: EREV_SUKKOT,\n flags: CHUL_ONLY | EREV | LIGHT_CANDLES,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 15,\n desc: SUKKOT_I,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 16,\n desc: SUKKOT_II,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 17,\n desc: SUKKOT_III_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 18,\n desc: SUKKOT_IV_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 19,\n desc: SUKKOT_V_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 20,\n desc: SUKKOT_VI_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 4,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 22,\n desc: SHMINI_ATZERET,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n },\n {\n mm: Tishrei,\n dd: 23,\n desc: SIMCHAT_TORAH,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n },\n\n {\n mm: Tishrei,\n dd: 14,\n desc: EREV_SUKKOT,\n flags: IL_ONLY | EREV | LIGHT_CANDLES,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 15,\n desc: SUKKOT_I,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 16,\n desc: SUKKOT_II_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 17,\n desc: SUKKOT_III_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 18,\n desc: SUKKOT_IV_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 19,\n desc: SUKKOT_V_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 4,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 20,\n desc: SUKKOT_VI_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 5,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 22,\n desc: SHMINI_ATZERET,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n },\n\n {\n mm: Tishrei,\n dd: 21,\n desc: SUKKOT_VII_HOSHANA_RABA,\n flags: LIGHT_CANDLES | CHOL_HAMOED,\n chmDay: -1,\n emoji: emojiSukkot,\n },\n {\n mm: Kislev,\n dd: 24,\n desc: CHANUKAH_1_CANDLE,\n flags: EREV | MINOR_HOLIDAY | CHANUKAH_CANDLES,\n emoji: '🕎1️⃣',\n },\n {mm: Shvat, dd: 15, desc: TU_BISHVAT, flags: MINOR_HOLIDAY, emoji: '🌳'},\n {\n mm: Adar2,\n dd: 13,\n desc: EREV_PURIM,\n flags: EREV | MINOR_HOLIDAY,\n emoji: '🎭️📜',\n },\n {mm: Adar2, dd: 14, desc: PURIM, flags: MINOR_HOLIDAY, emoji: '🎭️📜'},\n {\n mm: Adar2,\n dd: 15,\n desc: SHUSHAN_PURIM,\n flags: MINOR_HOLIDAY,\n emoji: '🎭️📜',\n },\n // Pesach Israel\n {\n mm: Nisan,\n dd: 14,\n desc: EREV_PESACH,\n flags: IL_ONLY | EREV | LIGHT_CANDLES,\n emoji: '🫓🍷',\n },\n {\n mm: Nisan,\n dd: 15,\n desc: PESACH_I,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 16,\n desc: PESACH_II_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 17,\n desc: PESACH_III_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 18,\n desc: PESACH_IV_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 19,\n desc: PESACH_V_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 4,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 20,\n desc: PESACH_VI_CHM,\n flags: IL_ONLY | CHOL_HAMOED | LIGHT_CANDLES,\n chmDay: 5,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 21,\n desc: PESACH_VII,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n // Pesach chutz l'aretz\n {\n mm: Nisan,\n dd: 14,\n desc: EREV_PESACH,\n flags: CHUL_ONLY | EREV | LIGHT_CANDLES,\n emoji: '🫓🍷',\n },\n {\n mm: Nisan,\n dd: 15,\n desc: PESACH_I,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: '🫓🍷',\n },\n {\n mm: Nisan,\n dd: 16,\n desc: PESACH_II,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 17,\n desc: PESACH_III_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 18,\n desc: PESACH_IV_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 19,\n desc: PESACH_V_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 20,\n desc: PESACH_VI_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED | LIGHT_CANDLES,\n chmDay: 4,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 21,\n desc: PESACH_VII,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 22,\n desc: PESACH_VIII,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n\n {mm: Iyyar, dd: 14, desc: PESACH_SHENI, flags: MINOR_HOLIDAY},\n {mm: Iyyar, dd: 18, desc: LAG_BAOMER, flags: MINOR_HOLIDAY, emoji: '🔥'},\n {\n mm: Sivan,\n dd: 5,\n desc: EREV_SHAVUOT,\n flags: EREV | LIGHT_CANDLES,\n emoji: '⛰️🌸',\n },\n {\n mm: Sivan,\n dd: 6,\n desc: SHAVUOT,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: '⛰️🌸',\n },\n {\n mm: Sivan,\n dd: 6,\n desc: SHAVUOT_I,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: '⛰️🌸',\n },\n {\n mm: Sivan,\n dd: 7,\n desc: SHAVUOT_II,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: '⛰️🌸',\n },\n {mm: Av, dd: 15, desc: TU_BAV, flags: MINOR_HOLIDAY, emoji: '❤️'},\n {\n mm: Elul,\n dd: 1,\n desc: ROSH_HASHANA_LABEHEMOT,\n flags: MINOR_HOLIDAY,\n emoji: '🐑',\n },\n {\n mm: Elul,\n dd: 29,\n desc: EREV_ROSH_HASHANA,\n flags: EREV | LIGHT_CANDLES,\n emoji: '🍏🍯',\n },\n] as const;\n\nexport interface ModernHoliday {\n firstYear: number;\n mm: number; // This should be an enum `Month` eventually\n dd: number;\n desc: string;\n chul?: boolean;\n suppressEmoji?: boolean;\n satPostponeToSun?: boolean;\n friPostponeToSun?: boolean;\n friSatMovetoThu?: boolean;\n}\n\nexport const staticModernHolidays: ModernHoliday[] = [\n {firstYear: 5727, mm: Iyyar, dd: 28, desc: YOM_YERUSHALAYIM, chul: true},\n {\n firstYear: 5737,\n mm: Kislev,\n dd: 6,\n desc: BEN_GURION_DAY,\n satPostponeToSun: true,\n friPostponeToSun: true,\n },\n {firstYear: 5750, mm: Shvat, dd: 30, desc: FAMILY_DAY},\n {\n firstYear: 5758,\n mm: Cheshvan,\n dd: 12,\n desc: YITZHAK_RABIN_MEMORIAL_DAY,\n friSatMovetoThu: true,\n },\n {firstYear: 5764, mm: Iyyar, dd: 10, desc: HERZL_DAY, satPostponeToSun: true},\n {\n firstYear: 5765,\n mm: Tamuz,\n dd: 29,\n desc: JABOTINSKY_DAY,\n satPostponeToSun: true,\n },\n {\n firstYear: 5769,\n mm: Cheshvan,\n dd: 29,\n desc: SIGD,\n chul: true,\n suppressEmoji: true,\n friSatMovetoThu: true,\n },\n {firstYear: 5777, mm: Nisan, dd: 10, desc: YOM_HAALIYAH, chul: true},\n {firstYear: 5777, mm: Cheshvan, dd: 7, desc: YOM_HAALIYAH_SCHOOL_OBSERVANCE},\n // https://www.gov.il/he/departments/policies/2012_des5234\n {\n firstYear: 5773,\n mm: months.TEVET,\n dd: 21,\n desc: HEBREW_LANGUAGE_DAY,\n friSatMovetoThu: true,\n },\n] as const;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"staticHolidays.js","sources":["../../../src/staticHolidays.ts"],"sourcesContent":["import {months} from '@hebcal/hdate';\nimport {flags} from './event';\n\nconst Nisan = months.NISAN;\nconst Iyyar = months.IYYAR;\nconst Sivan = months.SIVAN;\nconst Tamuz = months.TAMUZ;\nconst Av = months.AV;\nconst Elul = months.ELUL;\nconst Tishrei = months.TISHREI;\nconst Cheshvan = months.CHESHVAN;\nconst Kislev = months.KISLEV;\nconst Shvat = months.SHVAT;\nconst Adar2 = months.ADAR_II;\n\nconst CHAG = flags.CHAG;\nconst LIGHT_CANDLES = flags.LIGHT_CANDLES;\nconst YOM_TOV_ENDS = flags.YOM_TOV_ENDS;\nconst CHUL_ONLY = flags.CHUL_ONLY;\nconst IL_ONLY = flags.IL_ONLY;\nconst LIGHT_CANDLES_TZEIS = flags.LIGHT_CANDLES_TZEIS;\nconst CHANUKAH_CANDLES = flags.CHANUKAH_CANDLES;\nconst MAJOR_FAST = flags.MAJOR_FAST;\nconst MINOR_HOLIDAY = flags.MINOR_HOLIDAY;\nconst EREV = flags.EREV;\nconst CHOL_HAMOED = flags.CHOL_HAMOED;\n\nconst emojiPesach = '🫓';\nconst emojiSukkot = '🌿🍋';\n\nconst ROSH_HASHANA_II = 'Rosh Hashana II';\nconst EREV_YOM_KIPPUR = 'Erev Yom Kippur';\nconst YOM_KIPPUR = 'Yom Kippur';\nconst EREV_SUKKOT = 'Erev Sukkot';\nconst SUKKOT_I = 'Sukkot I';\nconst SUKKOT_II = 'Sukkot II';\nconst SUKKOT_III_CHM = \"Sukkot III (CH''M)\";\nconst SUKKOT_IV_CHM = \"Sukkot IV (CH''M)\";\nconst SUKKOT_V_CHM = \"Sukkot V (CH''M)\";\nconst SUKKOT_VI_CHM = \"Sukkot VI (CH''M)\";\nconst SHMINI_ATZERET = 'Shmini Atzeret';\nconst SIMCHAT_TORAH = 'Simchat Torah';\nconst SUKKOT_II_CHM = \"Sukkot II (CH''M)\";\nconst SUKKOT_VII_HOSHANA_RABA = 'Sukkot VII (Hoshana Raba)';\nconst CHANUKAH_1_CANDLE = 'Chanukah: 1 Candle';\nconst TU_BISHVAT = 'Tu BiShvat';\nconst EREV_PURIM = 'Erev Purim';\nconst PURIM = 'Purim';\nconst SHUSHAN_PURIM = 'Shushan Purim';\nconst EREV_PESACH = 'Erev Pesach';\nconst PESACH_I = 'Pesach I';\nconst PESACH_II = 'Pesach II';\nconst PESACH_II_CHM = \"Pesach II (CH''M)\";\nconst PESACH_III_CHM = \"Pesach III (CH''M)\";\nconst PESACH_IV_CHM = \"Pesach IV (CH''M)\";\nconst PESACH_V_CHM = \"Pesach V (CH''M)\";\nconst PESACH_VI_CHM = \"Pesach VI (CH''M)\";\nconst PESACH_VII = 'Pesach VII';\nconst PESACH_VIII = 'Pesach VIII';\nconst PESACH_SHENI = 'Pesach Sheni';\nconst LAG_BAOMER = 'Lag BaOmer';\nconst EREV_SHAVUOT = 'Erev Shavuot';\nconst SHAVUOT = 'Shavuot';\nconst SHAVUOT_I = 'Shavuot I';\nconst SHAVUOT_II = 'Shavuot II';\nconst TU_BAV = \"Tu B'Av\";\nconst ROSH_HASHANA_LABEHEMOT = 'Rosh Hashana LaBehemot';\nconst EREV_ROSH_HASHANA = 'Erev Rosh Hashana';\nconst YOM_YERUSHALAYIM = 'Yom Yerushalayim';\nconst BEN_GURION_DAY = 'Ben-Gurion Day';\nconst FAMILY_DAY = 'Family Day';\nconst YITZHAK_RABIN_MEMORIAL_DAY = 'Yitzhak Rabin Memorial Day';\nconst HERZL_DAY = 'Herzl Day';\nconst JABOTINSKY_DAY = 'Jabotinsky Day';\nconst SIGD = 'Sigd';\nconst YOM_HAALIYAH = 'Yom HaAliyah';\nconst YOM_HAALIYAH_SCHOOL_OBSERVANCE = 'Yom HaAliyah School Observance';\nconst HEBREW_LANGUAGE_DAY = 'Hebrew Language Day';\n\n/**\n * Transliterated names of holidays, used by `Event.getDesc()`\n * @readonly\n * @enum {string}\n */\nexport const holidayDesc = {\n /** Asara B'Tevet */\n ASARA_BTEVET: \"Asara B'Tevet\",\n /** Birkat Hachamah */\n BIRKAT_HACHAMAH: 'Birkat Hachamah',\n /** Chag HaBanot */\n CHAG_HABANOT: 'Chag HaBanot',\n /** Chanukah: 8th Day */\n CHANUKAH_8TH_DAY: 'Chanukah: 8th Day',\n /** Erev Tish'a B'Av */\n EREV_TISHA_BAV: \"Erev Tish'a B'Av\",\n /** Leil Selichot */\n LEIL_SELICHOT: 'Leil Selichot',\n /** Purim Katan */\n PURIM_KATAN: 'Purim Katan',\n /** Purim Meshulash */\n PURIM_MESHULASH: 'Purim Meshulash',\n /** Shabbat Chazon */\n SHABBAT_CHAZON: 'Shabbat Chazon',\n /** Shabbat HaChodesh */\n SHABBAT_HACHODESH: 'Shabbat HaChodesh',\n /** Shabbat HaGadol */\n SHABBAT_HAGADOL: 'Shabbat HaGadol',\n /** Shabbat Nachamu */\n SHABBAT_NACHAMU: 'Shabbat Nachamu',\n /** Shabbat Parah */\n SHABBAT_PARAH: 'Shabbat Parah',\n /** Shabbat Shekalim */\n SHABBAT_SHEKALIM: 'Shabbat Shekalim',\n /** Shabbat Shirah */\n SHABBAT_SHIRAH: 'Shabbat Shirah',\n /** Shabbat Shuva */\n SHABBAT_SHUVA: 'Shabbat Shuva',\n /** Shabbat Zachor */\n SHABBAT_ZACHOR: 'Shabbat Zachor',\n /** Shushan Purim Katan */\n SHUSHAN_PURIM_KATAN: 'Shushan Purim Katan',\n /** Ta'anit Bechorot */\n TAANIT_BECHOROT: \"Ta'anit Bechorot\",\n /** Ta'anit Esther */\n TAANIT_ESTHER: \"Ta'anit Esther\",\n /** Tish'a B'Av */\n TISHA_BAV: \"Tish'a B'Av\",\n /** Tzom Gedaliah */\n TZOM_GEDALIAH: 'Tzom Gedaliah',\n /** Tzom Tammuz */\n TZOM_TAMMUZ: 'Tzom Tammuz',\n /** Yom HaAtzma'ut */\n YOM_HAATZMA_UT: \"Yom HaAtzma'ut\",\n /** Yom HaShoah */\n YOM_HASHOAH: 'Yom HaShoah',\n /** Yom HaZikaron */\n YOM_HAZIKARON: 'Yom HaZikaron',\n\n /** Ben-Gurion Day */\n BEN_GURION_DAY,\n /** Chanukah: 1 Candle */\n CHANUKAH_1_CANDLE,\n /** Erev Pesach */\n EREV_PESACH,\n /** Erev Purim */\n EREV_PURIM,\n /** Erev Rosh Hashana */\n EREV_ROSH_HASHANA,\n /** Erev Shavuot */\n EREV_SHAVUOT,\n /** Erev Sukkot */\n EREV_SUKKOT,\n /** Erev Yom Kippur */\n EREV_YOM_KIPPUR,\n /** Family Day */\n FAMILY_DAY,\n /** Hebrew Language Day */\n HEBREW_LANGUAGE_DAY,\n /** Herzl Day */\n HERZL_DAY,\n /** Jabotinsky Day */\n JABOTINSKY_DAY,\n /** Lag BaOmer */\n LAG_BAOMER,\n /** Pesach I */\n PESACH_I,\n /** Pesach II */\n PESACH_II,\n /** Pesach III (CH''M) */\n PESACH_III_CHM,\n /** Pesach II (CH''M) */\n PESACH_II_CHM,\n /** Pesach IV (CH''M) */\n PESACH_IV_CHM,\n /** Pesach Sheni */\n PESACH_SHENI,\n /** Pesach VII */\n PESACH_VII,\n /** Pesach VIII */\n PESACH_VIII,\n /** Pesach VI (CH''M) */\n PESACH_VI_CHM,\n /** Pesach V (CH''M) */\n PESACH_V_CHM,\n /** Purim */\n PURIM,\n /** Rosh Hashana II */\n ROSH_HASHANA_II,\n /** Rosh Hashana LaBehemot */\n ROSH_HASHANA_LABEHEMOT,\n /** Shavuot */\n SHAVUOT,\n /** Shavuot I */\n SHAVUOT_I,\n /** Shavuot II */\n SHAVUOT_II,\n /** Shmini Atzeret */\n SHMINI_ATZERET,\n /** Shushan Purim */\n SHUSHAN_PURIM,\n /** Sigd */\n SIGD,\n /** Simchat Torah */\n SIMCHAT_TORAH,\n /** Sukkot I */\n SUKKOT_I,\n /** Sukkot II */\n SUKKOT_II,\n /** Sukkot III (CH''M) */\n SUKKOT_III_CHM,\n /** Sukkot II (CH''M) */\n SUKKOT_II_CHM,\n /** Sukkot IV (CH''M) */\n SUKKOT_IV_CHM,\n /** Sukkot VII (Hoshana Raba) */\n SUKKOT_VII_HOSHANA_RABA,\n /** Sukkot VI (CH''M) */\n SUKKOT_VI_CHM,\n /** Sukkot V (CH''M) */\n SUKKOT_V_CHM,\n /** Tu B\\'Av */\n TU_BAV,\n /** Tu BiShvat */\n TU_BISHVAT,\n /** Yitzhak Rabin Memorial Day */\n YITZHAK_RABIN_MEMORIAL_DAY,\n /** Yom HaAliyah */\n YOM_HAALIYAH,\n /** Yom HaAliyah School Observance */\n YOM_HAALIYAH_SCHOOL_OBSERVANCE,\n /** Yom Kippur */\n YOM_KIPPUR,\n /** Yom Yerushalayim */\n YOM_YERUSHALAYIM,\n} as const;\n\nexport interface Holiday {\n mm: number; // This should be an enum `Month` eventually\n dd: number;\n desc: string;\n flags: number;\n chmDay?: number;\n emoji?: string;\n}\n\nexport const staticHolidays: Holiday[] = [\n {\n mm: Tishrei,\n dd: 2,\n desc: ROSH_HASHANA_II,\n flags: CHAG | YOM_TOV_ENDS,\n emoji: '🍏🍯',\n },\n {mm: Tishrei, dd: 9, desc: EREV_YOM_KIPPUR, flags: EREV | LIGHT_CANDLES},\n {\n mm: Tishrei,\n dd: 10,\n desc: YOM_KIPPUR,\n flags: CHAG | MAJOR_FAST | YOM_TOV_ENDS,\n },\n\n {\n mm: Tishrei,\n dd: 14,\n desc: EREV_SUKKOT,\n flags: CHUL_ONLY | EREV | LIGHT_CANDLES,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 15,\n desc: SUKKOT_I,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 16,\n desc: SUKKOT_II,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 17,\n desc: SUKKOT_III_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 18,\n desc: SUKKOT_IV_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 19,\n desc: SUKKOT_V_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 20,\n desc: SUKKOT_VI_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 4,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 22,\n desc: SHMINI_ATZERET,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n },\n {\n mm: Tishrei,\n dd: 23,\n desc: SIMCHAT_TORAH,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n },\n\n {\n mm: Tishrei,\n dd: 14,\n desc: EREV_SUKKOT,\n flags: IL_ONLY | EREV | LIGHT_CANDLES,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 15,\n desc: SUKKOT_I,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 16,\n desc: SUKKOT_II_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 17,\n desc: SUKKOT_III_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 18,\n desc: SUKKOT_IV_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 19,\n desc: SUKKOT_V_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 4,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 20,\n desc: SUKKOT_VI_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 5,\n emoji: emojiSukkot,\n },\n {\n mm: Tishrei,\n dd: 22,\n desc: SHMINI_ATZERET,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n },\n\n {\n mm: Tishrei,\n dd: 21,\n desc: SUKKOT_VII_HOSHANA_RABA,\n flags: LIGHT_CANDLES | CHOL_HAMOED,\n chmDay: -1,\n emoji: emojiSukkot,\n },\n {\n mm: Kislev,\n dd: 24,\n desc: CHANUKAH_1_CANDLE,\n flags: EREV | MINOR_HOLIDAY | CHANUKAH_CANDLES,\n emoji: '🕎1️⃣',\n },\n {mm: Shvat, dd: 15, desc: TU_BISHVAT, flags: MINOR_HOLIDAY, emoji: '🌳'},\n {\n mm: Adar2,\n dd: 13,\n desc: EREV_PURIM,\n flags: EREV | MINOR_HOLIDAY,\n emoji: '🎭️📜',\n },\n {mm: Adar2, dd: 14, desc: PURIM, flags: MINOR_HOLIDAY, emoji: '🎭️📜'},\n {\n mm: Adar2,\n dd: 15,\n desc: SHUSHAN_PURIM,\n flags: MINOR_HOLIDAY,\n emoji: '🎭️📜',\n },\n // Pesach Israel\n {\n mm: Nisan,\n dd: 14,\n desc: EREV_PESACH,\n flags: IL_ONLY | EREV | LIGHT_CANDLES,\n emoji: '🫓🍷',\n },\n {\n mm: Nisan,\n dd: 15,\n desc: PESACH_I,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 16,\n desc: PESACH_II_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 17,\n desc: PESACH_III_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 18,\n desc: PESACH_IV_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 19,\n desc: PESACH_V_CHM,\n flags: IL_ONLY | CHOL_HAMOED,\n chmDay: 4,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 20,\n desc: PESACH_VI_CHM,\n flags: IL_ONLY | CHOL_HAMOED | LIGHT_CANDLES,\n chmDay: 5,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 21,\n desc: PESACH_VII,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n // Pesach chutz l'aretz\n {\n mm: Nisan,\n dd: 14,\n desc: EREV_PESACH,\n flags: CHUL_ONLY | EREV | LIGHT_CANDLES,\n emoji: '🫓🍷',\n },\n {\n mm: Nisan,\n dd: 15,\n desc: PESACH_I,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: '🫓🍷',\n },\n {\n mm: Nisan,\n dd: 16,\n desc: PESACH_II,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 17,\n desc: PESACH_III_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 1,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 18,\n desc: PESACH_IV_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 2,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 19,\n desc: PESACH_V_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED,\n chmDay: 3,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 20,\n desc: PESACH_VI_CHM,\n flags: CHUL_ONLY | CHOL_HAMOED | LIGHT_CANDLES,\n chmDay: 4,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 21,\n desc: PESACH_VII,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: emojiPesach,\n },\n {\n mm: Nisan,\n dd: 22,\n desc: PESACH_VIII,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: emojiPesach,\n },\n\n {mm: Iyyar, dd: 14, desc: PESACH_SHENI, flags: MINOR_HOLIDAY},\n {mm: Iyyar, dd: 18, desc: LAG_BAOMER, flags: MINOR_HOLIDAY, emoji: '🔥'},\n {\n mm: Sivan,\n dd: 5,\n desc: EREV_SHAVUOT,\n flags: EREV | LIGHT_CANDLES,\n emoji: '⛰️🌸',\n },\n {\n mm: Sivan,\n dd: 6,\n desc: SHAVUOT,\n flags: IL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: '⛰️🌸',\n },\n {\n mm: Sivan,\n dd: 6,\n desc: SHAVUOT_I,\n flags: CHUL_ONLY | CHAG | LIGHT_CANDLES_TZEIS,\n emoji: '⛰️🌸',\n },\n {\n mm: Sivan,\n dd: 7,\n desc: SHAVUOT_II,\n flags: CHUL_ONLY | CHAG | YOM_TOV_ENDS,\n emoji: '⛰️🌸',\n },\n {mm: Av, dd: 15, desc: TU_BAV, flags: MINOR_HOLIDAY, emoji: '❤️'},\n {\n mm: Elul,\n dd: 1,\n desc: ROSH_HASHANA_LABEHEMOT,\n flags: MINOR_HOLIDAY,\n emoji: '🐑',\n },\n {\n mm: Elul,\n dd: 29,\n desc: EREV_ROSH_HASHANA,\n flags: EREV | LIGHT_CANDLES,\n emoji: '🍏🍯',\n },\n] as const;\n\nexport interface ModernHoliday {\n firstYear: number;\n mm: number; // This should be an enum `Month` eventually\n dd: number;\n desc: string;\n chul?: boolean;\n suppressEmoji?: boolean;\n satPostponeToSun?: boolean;\n friPostponeToSun?: boolean;\n friSatMovetoThu?: boolean;\n}\n\nexport const staticModernHolidays: ModernHoliday[] = [\n {firstYear: 5727, mm: Iyyar, dd: 28, desc: YOM_YERUSHALAYIM, chul: true},\n {\n firstYear: 5737,\n mm: Kislev,\n dd: 6,\n desc: BEN_GURION_DAY,\n satPostponeToSun: true,\n friPostponeToSun: true,\n },\n {firstYear: 5750, mm: Shvat, dd: 30, desc: FAMILY_DAY},\n {\n firstYear: 5758,\n mm: Cheshvan,\n dd: 12,\n desc: YITZHAK_RABIN_MEMORIAL_DAY,\n friSatMovetoThu: true,\n },\n {firstYear: 5764, mm: Iyyar, dd: 10, desc: HERZL_DAY, satPostponeToSun: true},\n {\n firstYear: 5765,\n mm: Tamuz,\n dd: 29,\n desc: JABOTINSKY_DAY,\n satPostponeToSun: true,\n },\n {\n firstYear: 5769,\n mm: Cheshvan,\n dd: 29,\n desc: SIGD,\n chul: true,\n suppressEmoji: true,\n friSatMovetoThu: true,\n },\n {firstYear: 5777, mm: Nisan, dd: 10, desc: YOM_HAALIYAH, chul: true},\n {firstYear: 5777, mm: Cheshvan, dd: 7, desc: YOM_HAALIYAH_SCHOOL_OBSERVANCE},\n // https://www.gov.il/he/departments/policies/2012_des5234\n {\n firstYear: 5773,\n mm: months.TEVET,\n dd: 21,\n desc: HEBREW_LANGUAGE_DAY,\n friSatMovetoThu: true,\n },\n] as const;\n"],"names":[],"mappings":";;;;AAGA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;AAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;AAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;AAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;AAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE;AACpB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACxB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO;AAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;AAChC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;AAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;AAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO;AAE5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;AACvB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa;AACzC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY;AACvC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS;AACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;AAC7B,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB;AACrD,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB;AAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU;AACnC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa;AACzC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;AACvB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW;AAErC,MAAM,WAAW,GAAG,IAAI;AACxB,MAAM,WAAW,GAAG,MAAM;AAE1B,MAAM,eAAe,GAAG,iBAAiB;AACzC,MAAM,eAAe,GAAG,iBAAiB;AACzC,MAAM,UAAU,GAAG,YAAY;AAC/B,MAAM,WAAW,GAAG,aAAa;AACjC,MAAM,QAAQ,GAAG,UAAU;AAC3B,MAAM,SAAS,GAAG,WAAW;AAC7B,MAAM,cAAc,GAAG,oBAAoB;AAC3C,MAAM,aAAa,GAAG,mBAAmB;AACzC,MAAM,YAAY,GAAG,kBAAkB;AACvC,MAAM,aAAa,GAAG,mBAAmB;AACzC,MAAM,cAAc,GAAG,gBAAgB;AACvC,MAAM,aAAa,GAAG,eAAe;AACrC,MAAM,aAAa,GAAG,mBAAmB;AACzC,MAAM,uBAAuB,GAAG,2BAA2B;AAC3D,MAAM,iBAAiB,GAAG,oBAAoB;AAC9C,MAAM,UAAU,GAAG,YAAY;AAC/B,MAAM,UAAU,GAAG,YAAY;AAC/B,MAAM,KAAK,GAAG,OAAO;AACrB,MAAM,aAAa,GAAG,eAAe;AACrC,MAAM,WAAW,GAAG,aAAa;AACjC,MAAM,QAAQ,GAAG,UAAU;AAC3B,MAAM,SAAS,GAAG,WAAW;AAC7B,MAAM,aAAa,GAAG,mBAAmB;AACzC,MAAM,cAAc,GAAG,oBAAoB;AAC3C,MAAM,aAAa,GAAG,mBAAmB;AACzC,MAAM,YAAY,GAAG,kBAAkB;AACvC,MAAM,aAAa,GAAG,mBAAmB;AACzC,MAAM,UAAU,GAAG,YAAY;AAC/B,MAAM,WAAW,GAAG,aAAa;AACjC,MAAM,YAAY,GAAG,cAAc;AACnC,MAAM,UAAU,GAAG,YAAY;AAC/B,MAAM,YAAY,GAAG,cAAc;AACnC,MAAM,OAAO,GAAG,SAAS;AACzB,MAAM,SAAS,GAAG,WAAW;AAC7B,MAAM,UAAU,GAAG,YAAY;AAC/B,MAAM,MAAM,GAAG,SAAS;AACxB,MAAM,sBAAsB,GAAG,wBAAwB;AACvD,MAAM,iBAAiB,GAAG,mBAAmB;AAC7C,MAAM,gBAAgB,GAAG,kBAAkB;AAC3C,MAAM,cAAc,GAAG,gBAAgB;AACvC,MAAM,UAAU,GAAG,YAAY;AAC/B,MAAM,0BAA0B,GAAG,4BAA4B;AAC/D,MAAM,SAAS,GAAG,WAAW;AAC7B,MAAM,cAAc,GAAG,gBAAgB;AACvC,MAAM,IAAI,GAAG,MAAM;AACnB,MAAM,YAAY,GAAG,cAAc;AACnC,MAAM,8BAA8B,GAAG,gCAAgC;AACvE,MAAM,mBAAmB,GAAG,qBAAqB;AAEjD;;;;AAIG;AACI,MAAM,WAAW,GAAG;;AAEzB,IAAA,YAAY,EAAE,eAAe;;AAE7B,IAAA,eAAe,EAAE,iBAAiB;;AAElC,IAAA,YAAY,EAAE,cAAc;;AAE5B,IAAA,gBAAgB,EAAE,mBAAmB;;AAErC,IAAA,cAAc,EAAE,kBAAkB;;AAElC,IAAA,aAAa,EAAE,eAAe;;AAE9B,IAAA,WAAW,EAAE,aAAa;;AAE1B,IAAA,eAAe,EAAE,iBAAiB;;AAElC,IAAA,cAAc,EAAE,gBAAgB;;AAEhC,IAAA,iBAAiB,EAAE,mBAAmB;;AAEtC,IAAA,eAAe,EAAE,iBAAiB;;AAElC,IAAA,eAAe,EAAE,iBAAiB;;AAElC,IAAA,aAAa,EAAE,eAAe;;AAE9B,IAAA,gBAAgB,EAAE,kBAAkB;;AAEpC,IAAA,cAAc,EAAE,gBAAgB;;AAEhC,IAAA,aAAa,EAAE,eAAe;;AAE9B,IAAA,cAAc,EAAE,gBAAgB;;AAEhC,IAAA,mBAAmB,EAAE,qBAAqB;;AAE1C,IAAA,eAAe,EAAE,kBAAkB;;AAEnC,IAAA,aAAa,EAAE,gBAAgB;;AAE/B,IAAA,SAAS,EAAE,aAAa;;AAExB,IAAA,aAAa,EAAE,eAAe;;AAE9B,IAAA,WAAW,EAAE,aAAa;;AAE1B,IAAA,cAAc,EAAE,gBAAgB;;AAEhC,IAAA,WAAW,EAAE,aAAa;;AAE1B,IAAA,aAAa,EAAE,eAAe;;IAG9B,cAAc;;IAEd,iBAAiB;;IAEjB,WAAW;;IAEX,UAAU;;IAEV,iBAAiB;;IAEjB,YAAY;;IAEZ,WAAW;;IAEX,eAAe;;IAEf,UAAU;;IAEV,mBAAmB;;IAEnB,SAAS;;IAET,cAAc;;IAEd,UAAU;;IAEV,QAAQ;;IAER,SAAS;;IAET,cAAc;;IAEd,aAAa;;IAEb,aAAa;;IAEb,YAAY;;IAEZ,UAAU;;IAEV,WAAW;;IAEX,aAAa;;IAEb,YAAY;;IAEZ,KAAK;;IAEL,eAAe;;IAEf,sBAAsB;;IAEtB,OAAO;;IAEP,SAAS;;IAET,UAAU;;IAEV,cAAc;;IAEd,aAAa;;IAEb,IAAI;;IAEJ,aAAa;;IAEb,QAAQ;;IAER,SAAS;;IAET,cAAc;;IAEd,aAAa;;IAEb,aAAa;;IAEb,uBAAuB;;IAEvB,aAAa;;IAEb,YAAY;;IAEZ,MAAM;;IAEN,UAAU;;IAEV,0BAA0B;;IAE1B,YAAY;;IAEZ,8BAA8B;;IAE9B,UAAU;;IAEV,gBAAgB;;AAYX,MAAM,cAAc,GAAc;AACvC,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,IAAI,GAAG,YAAY;AAC1B,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA,EAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,GAAG,aAAa,EAAC;AACxE,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,KAAK,EAAE,IAAI,GAAG,UAAU,GAAG,YAAY;AACxC,KAAA;AAED,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,aAAa;AACvC,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,mBAAmB;AAC7C,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,YAAY;AACtC,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,SAAS,GAAG,WAAW;AAC9B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,SAAS,GAAG,WAAW;AAC9B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,SAAS,GAAG,WAAW;AAC9B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,SAAS,GAAG,WAAW;AAC9B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,mBAAmB;AAC9C,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,YAAY;AACvC,KAAA;AAED,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,aAAa;AACrC,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,YAAY;AACpC,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,OAAO,GAAG,WAAW;AAC5B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,OAAO,GAAG,WAAW;AAC5B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,OAAO,GAAG,WAAW;AAC5B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,OAAO,GAAG,WAAW;AAC5B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,OAAO,GAAG,WAAW;AAC5B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,YAAY;AACrC,KAAA;AAED,IAAA;AACE,QAAA,EAAE,EAAE,OAAO;AACX,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,aAAa,GAAG,WAAW;QAClC,MAAM,EAAE,EAAE;AACV,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,KAAK,EAAE,IAAI,GAAG,aAAa,GAAG,gBAAgB;AAC9C,QAAA,KAAK,EAAE,OAAO;AACf,KAAA;AACD,IAAA,EAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAC;AACxE,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,IAAI,GAAG,aAAa;AAC3B,QAAA,KAAK,EAAE,OAAO;AACf,KAAA;AACD,IAAA,EAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAC;AACtE,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,KAAK,EAAE,aAAa;AACpB,QAAA,KAAK,EAAE,OAAO;AACf,KAAA;;AAED,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,aAAa;AACrC,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,YAAY;AACpC,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,OAAO,GAAG,WAAW;AAC5B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,OAAO,GAAG,WAAW;AAC5B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,OAAO,GAAG,WAAW;AAC5B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,OAAO,GAAG,WAAW;AAC5B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,aAAa;AAC5C,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,YAAY;AACpC,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;;AAED,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,aAAa;AACvC,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,mBAAmB;AAC7C,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,YAAY;AACtC,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,SAAS,GAAG,WAAW;AAC9B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,SAAS,GAAG,WAAW;AAC9B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,SAAS,GAAG,WAAW;AAC9B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa;AAC9C,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,mBAAmB;AAC7C,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,YAAY;AACtC,QAAA,KAAK,EAAE,WAAW;AACnB,KAAA;AAED,IAAA,EAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAC;AAC7D,IAAA,EAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAC;AACxE,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,IAAI,GAAG,aAAa;AAC3B,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,YAAY;AACpC,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,mBAAmB;AAC7C,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,YAAY;AACtC,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAC;AACjE,IAAA;AACE,QAAA,EAAE,EAAE,IAAI;AACR,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,IAAI,EAAE,sBAAsB;AAC5B,QAAA,KAAK,EAAE,aAAa;AACpB,QAAA,KAAK,EAAE,IAAI;AACZ,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,IAAI;AACR,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,IAAI,GAAG,aAAa;AAC3B,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;;AAeI,MAAM,oBAAoB,GAAoB;AACnD,IAAA,EAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAC;AACxE,IAAA;AACE,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,EAAE,EAAE,MAAM;AACV,QAAA,EAAE,EAAE,CAAC;AACL,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,gBAAgB,EAAE,IAAI;AACvB,KAAA;AACD,IAAA,EAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAC;AACtD,IAAA;AACE,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,eAAe,EAAE,IAAI;AACtB,KAAA;AACD,IAAA,EAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAC;AAC7E,IAAA;AACE,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,EAAE,EAAE,KAAK;AACT,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,gBAAgB,EAAE,IAAI;AACvB,KAAA;AACD,IAAA;AACE,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,EAAE,EAAE,QAAQ;AACZ,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,eAAe,EAAE,IAAI;AACtB,KAAA;AACD,IAAA,EAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAC;AACpE,IAAA,EAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAC;;AAE5E,IAAA;AACE,QAAA,SAAS,EAAE,IAAI;QACf,EAAE,EAAE,MAAM,CAAC,KAAK;AAChB,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,IAAI,EAAE,mBAAmB;AACzB,QAAA,eAAe,EAAE,IAAI;AACtB,KAAA;;;;;"}
|
package/dist/esm/tachanun.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v5.
|
|
1
|
+
/*! @hebcal/core v5.10.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { HDate, months } from '@hebcal/hdate';
|
|
3
3
|
import { dateYomHaZikaron } from './modern.js';
|
|
4
4
|
|
package/dist/esm/tachanun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tachanun.js","sources":["../../../src/tachanun.ts"],"sourcesContent":["import {HDate, months} from '@hebcal/hdate';\nimport {dateYomHaZikaron} from './modern';\n\nfunction range(start: number, end: number): readonly number[] {\n const arr = [];\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n return arr;\n}\n\n/**\n * Is *tachanun* said today?\n */\nexport type TachanunResult = {\n /** Tachanun is said at Shacharit */\n shacharit: boolean;\n /** Tachanun is said at Mincha */\n mincha: boolean;\n /** All congregations say Tachanun on the day */\n allCongs: boolean;\n};\n\nconst NONE: TachanunResult = {\n shacharit: false,\n mincha: false,\n allCongs: false,\n} as const;\n\n/**\n * Return details on what Tachanun (or Tzidchatcha on Shabbat) is said on `hdate`.\n *\n * Tachanun is not said on Rosh Chodesh, the month of Nisan, Lag Baomer,\n * Rosh Chodesh Sivan until Isru Chag, Tisha B'av, 15 Av, Erev Rosh Hashanah,\n * Rosh Hashanah, Erev Yom Kippur until after Simchat Torah, Chanukah,\n * Tu B'shvat, Purim and Shushan Purim, and Purim and Shushan Purim Katan.\n *\n * In some congregations Tachanun is not said until from Rosh Chodesh Sivan\n * until 14th Sivan, Sukkot until after Rosh Chodesh Cheshvan, Pesach Sheini,\n * Yom Ha'atzmaut, and Yom Yerushalayim.\n *\n * Tachanun is not said at Mincha on days before it is not said at Shacharit.\n *\n * Tachanun is not said at Shacharit on Shabbat, but is at Mincha, usually.\n */\nexport function tachanun(hdate: HDate, il: boolean): TachanunResult {\n return tachanun0(hdate, il, true);\n}\n\nfunction tachanun0(\n hdate: HDate,\n il: boolean,\n checkNext: boolean\n): TachanunResult {\n const year = hdate.yy;\n const dates = tachanunYear(year, il);\n const abs = hdate.abs();\n if (dates.none.indexOf(abs) > -1) {\n return NONE;\n }\n const dow = hdate.getDay();\n const ret: TachanunResult = {\n shacharit: false,\n mincha: false,\n allCongs: false,\n };\n if (dates.some.indexOf(abs) === -1) {\n ret.allCongs = true;\n }\n if (dow !== 6) {\n ret.shacharit = true;\n }\n const tomorrow = abs + 1;\n if (checkNext && dates.yesPrev.indexOf(tomorrow) === -1) {\n const tmp = tachanun0(new HDate(tomorrow), il, false);\n ret.mincha = tmp.shacharit;\n } else {\n ret.mincha = dow !== 5;\n }\n if (ret.allCongs && !ret.mincha && !ret.shacharit) {\n return NONE;\n }\n return ret;\n}\n\ntype TachanunYear = {\n none: number[];\n some: number[];\n yesPrev: number[];\n};\n\nfunction tachanunYear(year: number, il: boolean): TachanunYear {\n const leap = HDate.isLeapYear(year);\n const monthsInYear = HDate.monthsInYear(year);\n let av9dt = new HDate(9, months.AV, year);\n if (av9dt.getDay() === 6) {\n av9dt = av9dt.next();\n }\n let shushPurim = new HDate(15, months.ADAR_II, year);\n if (shushPurim.getDay() === 6) {\n shushPurim = shushPurim.next();\n }\n const none: readonly HDate[] = [\n new HDate(2, months.TISHREI, year), // Rosh Hashana II\n ].concat(\n // Rosh Chodesh - 1st of every month. Also includes RH day 1 (1 Tishrei)\n range(1, monthsInYear).map(month => new HDate(1, month, year)),\n // Rosh Chodesh - 30th of months that have one\n range(1, monthsInYear)\n .filter(month => HDate.daysInMonth(month, year) === 30)\n .map(month => new HDate(30, month, year)),\n // entire month of Nisan\n range(1, HDate.daysInMonth(months.NISAN, year)).map(\n mday => new HDate(mday, months.NISAN, year)\n ),\n new HDate(18, months.IYYAR, year), // Lag BaOmer\n // Rosh Chodesh Sivan thru Isru Chag\n range(1, 8 - (il ? 1 : 0)).map(mday => new HDate(mday, months.SIVAN, year)),\n av9dt, // Tisha B'Av\n new HDate(15, months.AV, year), // Tu B'Av\n new HDate(29, months.ELUL, year), // Erev Rosh Hashanah\n // Erev Yom Kippur thru Isru Chag\n range(9, 24 - (il ? 1 : 0)).map(\n mday => new HDate(mday, months.TISHREI, year)\n ),\n // Chanukah\n range(25, 33).map(mday => new HDate(mday, months.KISLEV, year)),\n new HDate(15, months.SHVAT, year), // Tu BiShvat\n new HDate(14, months.ADAR_II, year), // Purim\n shushPurim,\n leap ? new HDate(14, months.ADAR_I, year) : [] // Purim Katan\n );\n const some: readonly HDate[] = [\n new HDate(14, months.IYYAR, year), // Pesach Sheini\n ].concat(\n // Until 14 Sivan\n range(1, 13).map(mday => new HDate(mday, months.SIVAN, year)),\n // Until after Rosh Chodesh Cheshvan\n range(20, 31).map(mday => new HDate(mday, months.TISHREI, year)),\n // Yom HaAtzma'ut, which changes based on day of week\n year >= 5708 ? (dateYomHaZikaron(year) as HDate).next() : [],\n // Yom Yerushalayim\n year >= 5727 ? new HDate(28, months.IYYAR, year) : []\n );\n const yesPrev: readonly HDate[] = [\n new HDate(29, months.ELUL, year - 1), // Erev Rosh Hashanah\n new HDate(9, months.TISHREI, year), // Erev Yom Kippur\n new HDate(14, months.IYYAR, year), // Pesach Sheini\n ];\n return {\n none: none.map(hd => hd.abs()).sort((a, b) => a - b),\n some: some.map(hd => hd.abs()).sort((a, b) => a - b),\n yesPrev: yesPrev.map(hd => hd.abs()).sort((a, b) => a - b),\n };\n}\n"],"names":[],"mappings":";;;;AAGA,SAAS,KAAK,CAAC,KAAa,EAAE,GAAW,EAAA;IACvC,MAAM,GAAG,GAAG,EAAE;AACd,IAAA,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;AACjC,QAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;;AAEb,IAAA,OAAO,GAAG;AACZ;AAcA,MAAM,IAAI,GAAmB;AAC3B,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,QAAQ,EAAE,KAAK;CACP;AAEV;;;;;;;;;;;;;;;AAeG;
|
|
1
|
+
{"version":3,"file":"tachanun.js","sources":["../../../src/tachanun.ts"],"sourcesContent":["import {HDate, months} from '@hebcal/hdate';\nimport {dateYomHaZikaron} from './modern';\n\nfunction range(start: number, end: number): readonly number[] {\n const arr = [];\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n return arr;\n}\n\n/**\n * Is *tachanun* said today?\n */\nexport type TachanunResult = {\n /** Tachanun is said at Shacharit */\n shacharit: boolean;\n /** Tachanun is said at Mincha */\n mincha: boolean;\n /** All congregations say Tachanun on the day */\n allCongs: boolean;\n};\n\nconst NONE: TachanunResult = {\n shacharit: false,\n mincha: false,\n allCongs: false,\n} as const;\n\n/**\n * Return details on what Tachanun (or Tzidchatcha on Shabbat) is said on `hdate`.\n *\n * Tachanun is not said on Rosh Chodesh, the month of Nisan, Lag Baomer,\n * Rosh Chodesh Sivan until Isru Chag, Tisha B'av, 15 Av, Erev Rosh Hashanah,\n * Rosh Hashanah, Erev Yom Kippur until after Simchat Torah, Chanukah,\n * Tu B'shvat, Purim and Shushan Purim, and Purim and Shushan Purim Katan.\n *\n * In some congregations Tachanun is not said until from Rosh Chodesh Sivan\n * until 14th Sivan, Sukkot until after Rosh Chodesh Cheshvan, Pesach Sheini,\n * Yom Ha'atzmaut, and Yom Yerushalayim.\n *\n * Tachanun is not said at Mincha on days before it is not said at Shacharit.\n *\n * Tachanun is not said at Shacharit on Shabbat, but is at Mincha, usually.\n */\nexport function tachanun(hdate: HDate, il: boolean): TachanunResult {\n return tachanun0(hdate, il, true);\n}\n\nfunction tachanun0(\n hdate: HDate,\n il: boolean,\n checkNext: boolean\n): TachanunResult {\n const year = hdate.yy;\n const dates = tachanunYear(year, il);\n const abs = hdate.abs();\n if (dates.none.indexOf(abs) > -1) {\n return NONE;\n }\n const dow = hdate.getDay();\n const ret: TachanunResult = {\n shacharit: false,\n mincha: false,\n allCongs: false,\n };\n if (dates.some.indexOf(abs) === -1) {\n ret.allCongs = true;\n }\n if (dow !== 6) {\n ret.shacharit = true;\n }\n const tomorrow = abs + 1;\n if (checkNext && dates.yesPrev.indexOf(tomorrow) === -1) {\n const tmp = tachanun0(new HDate(tomorrow), il, false);\n ret.mincha = tmp.shacharit;\n } else {\n ret.mincha = dow !== 5;\n }\n if (ret.allCongs && !ret.mincha && !ret.shacharit) {\n return NONE;\n }\n return ret;\n}\n\ntype TachanunYear = {\n none: number[];\n some: number[];\n yesPrev: number[];\n};\n\nfunction tachanunYear(year: number, il: boolean): TachanunYear {\n const leap = HDate.isLeapYear(year);\n const monthsInYear = HDate.monthsInYear(year);\n let av9dt = new HDate(9, months.AV, year);\n if (av9dt.getDay() === 6) {\n av9dt = av9dt.next();\n }\n let shushPurim = new HDate(15, months.ADAR_II, year);\n if (shushPurim.getDay() === 6) {\n shushPurim = shushPurim.next();\n }\n const none: readonly HDate[] = [\n new HDate(2, months.TISHREI, year), // Rosh Hashana II\n ].concat(\n // Rosh Chodesh - 1st of every month. Also includes RH day 1 (1 Tishrei)\n range(1, monthsInYear).map(month => new HDate(1, month, year)),\n // Rosh Chodesh - 30th of months that have one\n range(1, monthsInYear)\n .filter(month => HDate.daysInMonth(month, year) === 30)\n .map(month => new HDate(30, month, year)),\n // entire month of Nisan\n range(1, HDate.daysInMonth(months.NISAN, year)).map(\n mday => new HDate(mday, months.NISAN, year)\n ),\n new HDate(18, months.IYYAR, year), // Lag BaOmer\n // Rosh Chodesh Sivan thru Isru Chag\n range(1, 8 - (il ? 1 : 0)).map(mday => new HDate(mday, months.SIVAN, year)),\n av9dt, // Tisha B'Av\n new HDate(15, months.AV, year), // Tu B'Av\n new HDate(29, months.ELUL, year), // Erev Rosh Hashanah\n // Erev Yom Kippur thru Isru Chag\n range(9, 24 - (il ? 1 : 0)).map(\n mday => new HDate(mday, months.TISHREI, year)\n ),\n // Chanukah\n range(25, 33).map(mday => new HDate(mday, months.KISLEV, year)),\n new HDate(15, months.SHVAT, year), // Tu BiShvat\n new HDate(14, months.ADAR_II, year), // Purim\n shushPurim,\n leap ? new HDate(14, months.ADAR_I, year) : [] // Purim Katan\n );\n const some: readonly HDate[] = [\n new HDate(14, months.IYYAR, year), // Pesach Sheini\n ].concat(\n // Until 14 Sivan\n range(1, 13).map(mday => new HDate(mday, months.SIVAN, year)),\n // Until after Rosh Chodesh Cheshvan\n range(20, 31).map(mday => new HDate(mday, months.TISHREI, year)),\n // Yom HaAtzma'ut, which changes based on day of week\n year >= 5708 ? (dateYomHaZikaron(year) as HDate).next() : [],\n // Yom Yerushalayim\n year >= 5727 ? new HDate(28, months.IYYAR, year) : []\n );\n const yesPrev: readonly HDate[] = [\n new HDate(29, months.ELUL, year - 1), // Erev Rosh Hashanah\n new HDate(9, months.TISHREI, year), // Erev Yom Kippur\n new HDate(14, months.IYYAR, year), // Pesach Sheini\n ];\n return {\n none: none.map(hd => hd.abs()).sort((a, b) => a - b),\n some: some.map(hd => hd.abs()).sort((a, b) => a - b),\n yesPrev: yesPrev.map(hd => hd.abs()).sort((a, b) => a - b),\n };\n}\n"],"names":[],"mappings":"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"}
|
package/dist/esm/zmanim.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v5.
|
|
1
|
+
/*! @hebcal/core v5.10.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import 'temporal-polyfill/global';
|
|
3
3
|
import { NOAACalculator } from '@hebcal/noaa';
|
|
4
4
|
import { getTimezoneOffset, pad2, getPseudoISO, HDate, isDate } from '@hebcal/hdate';
|