jewish-holidays
Version:
1 lines • 23.9 kB
Source Map (JSON)
{"version":3,"sources":["../src/cholHaMoed/cholHaMoed.ts","../src/holiday/holiday.ts","../src/jewishDateUtils/jewishDateUtils.ts","../src/chanukah/chanukah.ts","../src/shabbat/erevShabbat.ts","../src/shabbat/shabbat.ts","../src/yomTov/yomTov.ts","../src/yomTov/erevYomTov.ts","../src/purim/purim.ts","../src/tzumot/tzumot.ts"],"sourcesContent":["import { type BasicJewishDate, toJewishDate } from \"jewish-date\";\nimport { isDateInHolidayList } from \"../holiday\";\nimport type { Holiday } from \"../interfaces\";\nimport { isBasicJewishDate } from \"../jewishDateUtils\";\n\nconst getCholHaMoedIsrael = (): Holiday[] => {\n const result: Holiday[] = [\n { day: 16, monthName: \"Tishri\", name: \"Chol HaMoed\" },\n { day: 17, monthName: \"Tishri\", name: \"Chol HaMoed\" },\n { day: 18, monthName: \"Tishri\", name: \"Chol HaMoed\" },\n { day: 19, monthName: \"Tishri\", name: \"Chol HaMoed\" },\n { day: 20, monthName: \"Tishri\", name: \"Chol HaMoed\" },\n { day: 21, monthName: \"Tishri\", name: \"Chol HaMoed\" },\n\n { day: 16, monthName: \"Nisan\", name: \"Chol HaMoed\" },\n { day: 17, monthName: \"Nisan\", name: \"Chol HaMoed\" },\n { day: 18, monthName: \"Nisan\", name: \"Chol HaMoed\" },\n { day: 19, monthName: \"Nisan\", name: \"Chol HaMoed\" },\n { day: 20, monthName: \"Nisan\", name: \"Chol HaMoed\" },\n ];\n return result;\n};\n\nconst getCholHaMoedChutzLaaretz = (): Holiday[] => {\n const result: Holiday[] = [\n { day: 17, monthName: \"Tishri\", name: \"Chol HaMoed\" },\n { day: 18, monthName: \"Tishri\", name: \"Chol HaMoed\" },\n { day: 19, monthName: \"Tishri\", name: \"Chol HaMoed\" },\n { day: 20, monthName: \"Tishri\", name: \"Chol HaMoed\" },\n { day: 21, monthName: \"Tishri\", name: \"Chol HaMoed\" },\n\n { day: 17, monthName: \"Nisan\", name: \"Chol HaMoed\" },\n { day: 18, monthName: \"Nisan\", name: \"Chol HaMoed\" },\n { day: 19, monthName: \"Nisan\", name: \"Chol HaMoed\" },\n { day: 20, monthName: \"Nisan\", name: \"Chol HaMoed\" },\n ];\n return result;\n};\n\n/**\n * Determines whether the given date falls within Chol HaMoed.\n *\n * Chol HaMoed refers to the intermediate days of Passover and Sukkot,\n * which are considered semi-festive days. This function can handle both\n * Gregorian dates and basic Jewish dates.\n *\n * @param date - The date to check, which can be a JavaScript Date object\n * or a BasicJewishDate.\n * @param isChutzLaaretz - A boolean indicating whether the date is in\n * the diaspora (false for Israel). Defaults to false.\n *\n * @returns A boolean indicating whether the specified date is during\n * Chol HaMoed.\n * @public\n */\nexport const isCholHaMoed = (\n date: Date | BasicJewishDate,\n isChutzLaaretz: boolean = false,\n): boolean => {\n let jewishDate: BasicJewishDate;\n if (isBasicJewishDate(date)) {\n jewishDate = date;\n } else {\n jewishDate = toJewishDate(date);\n }\n\n const cholHaMoed = isChutzLaaretz\n ? getCholHaMoedChutzLaaretz()\n : getCholHaMoedIsrael();\n return isDateInHolidayList(jewishDate, cholHaMoed);\n};\n","// Copyright (c) Shmulik kravitz. All rights reserved. Licensed under the MIT license.\n\nimport { type BasicJewishDate, toJewishDate } from \"jewish-date\";\nimport type { Holiday } from \"../interfaces\";\n\n/**\n * Checks if a given Jewish date exists in a holiday list\n * @public\n */\nexport const isDateInHolidayList = (\n jewishDate: BasicJewishDate,\n holidayList: Holiday[],\n): boolean => {\n // If jewishDate is not defined, use today's date\n const effectiveJewishDate = jewishDate ?? toJewishDate(new Date());\n\n return holidayList.some(\n (i) =>\n i.day === effectiveJewishDate.day &&\n i.monthName === effectiveJewishDate.monthName,\n );\n};\n","import type { BasicJewishDate } from \"jewish-date\";\n\nexport const isBasicJewishDate = (\n object: Date | BasicJewishDate,\n): object is BasicJewishDate => {\n return \"monthName\" in object;\n};\n","// Copyright (c) Shmulik kravitz. All rights reserved. Licensed under the MIT license.\n\nimport {\n type BasicJewishDate,\n calcDaysInMonth,\n toJewishDate,\n} from \"jewish-date\";\nimport { isDateInHolidayList } from \"../holiday\";\nimport type { Holiday } from \"../interfaces\";\nimport { isBasicJewishDate } from \"../jewishDateUtils\";\n\nconst getChanukahList = (jewishYear: number): Holiday[] => {\n const result: Holiday[] = [\n { day: 25, monthName: \"Kislev\", name: \"Chanukah\" },\n { day: 26, monthName: \"Kislev\", name: \"Chanukah\" },\n { day: 27, monthName: \"Kislev\", name: \"Chanukah\" },\n { day: 28, monthName: \"Kislev\", name: \"Chanukah\" },\n { day: 29, monthName: \"Kislev\", name: \"Chanukah\" },\n { day: 30, monthName: \"Kislev\", name: \"Chanukah\" },\n { day: 1, monthName: \"Tevet\", name: \"Chanukah\" },\n { day: 2, monthName: \"Tevet\", name: \"Chanukah\" },\n ];\n if (calcDaysInMonth(jewishYear, \"Kislev\") === 29) {\n result.push({ day: 3, monthName: \"Tevet\", name: \"Chanukah\" });\n }\n return result;\n};\n\n/**\n *Determines whether a given date falls during Chanukah.\n *\n * Chanukah is an eight-day Jewish holiday that begins on the 25th of Kislev.\n * It commemorates the rededication of the Second Temple in Jerusalem and the miracle\n * of the oil that burned for eight days.\n *\n * @param date - The date to check, which can be either:\n * - A Gregorian date object, or\n * - An object representing a Jewish date with properties `day`, `monthName`, and `year`.\n *\n * @returns Returns `true` if the given date falls during Chanukah,\n * and `false` otherwise.\n *\n * @example\n * const isChanukah = isChanukah(new Date(2024, 12, 25)); // true\n *\n * @public\n */\nexport const isChanukah = (date: Date | BasicJewishDate): boolean => {\n let jewishDate: BasicJewishDate;\n if (isBasicJewishDate(date)) {\n jewishDate = date;\n } else {\n jewishDate = toJewishDate(date);\n }\n\n const chanukahList = getChanukahList(jewishDate.year);\n return isDateInHolidayList(jewishDate, chanukahList);\n};\n","import { type BasicJewishDate, toGregorianDate } from \"jewish-date\";\nimport { isBasicJewishDate } from \"../jewishDateUtils\";\n\n/**\n * Determines whether a given date is Erev Shabbat (the day before Shabbat).\n *\n * @param date - The date to check, which can be a JavaScript Date object\n * or a BasicJewishDate.\n * @returns A boolean indicating whether the specified date is Erev Shabbat.\n *\n * @public\n */\nexport const isErevShabbat = (date: Date | BasicJewishDate): boolean => {\n let gregorianDate: Date;\n if (isBasicJewishDate(date)) {\n gregorianDate = toGregorianDate(date);\n } else {\n gregorianDate = date;\n }\n return gregorianDate.getDay() === 5;\n};\n","import { type BasicJewishDate, toGregorianDate } from \"jewish-date\";\nimport { isBasicJewishDate } from \"../jewishDateUtils\";\n\n/**\n * Checks if a given date is Shabbat (the Jewish Sabbath).\n *\n * @param date - The date to check, which can be a JavaScript `Date` object\n * or a `BasicJewishDate` object.\n *\n * @returns A boolean indicating whether the provided date falls on Shabbat.\n *\n * @remarks\n * Shabbat begins at sundown on Friday and ends at nightfall on Saturday.\n * In the Gregorian calendar, Shabbat corresponds to Saturday, which is\n * represented by `getDay() === 6`.\n *\n * @example\n * // Example: Check if a specific date is Shabbat\n * const date = new Date('2023-10-21'); // Saturday\n * const result = isShabbat(date); // true\n *\n * @public\n */\n\nexport const isShabbat = (date: Date | BasicJewishDate): boolean => {\n let gregorianDate: Date;\n if (isBasicJewishDate(date)) {\n gregorianDate = toGregorianDate(date);\n } else {\n gregorianDate = date;\n }\n return gregorianDate.getDay() === 6;\n};\n","// Copyright (c) Shmulik kravitz. All rights reserved. Licensed under the MIT license.\n\nimport { type BasicJewishDate, toJewishDate } from \"jewish-date\";\nimport { isDateInHolidayList } from \"../holiday\";\nimport type { Holiday } from \"../interfaces\";\nimport { isBasicJewishDate } from \"../jewishDateUtils/jewishDateUtils\";\n\nconst getYomTovListIsrael = (): Holiday[] => {\n const result: Holiday[] = [\n { day: 1, monthName: \"Tishri\", name: \"Rosh Hashanah\" },\n { day: 2, monthName: \"Tishri\", name: \"Rosh Hashanah\" },\n { day: 10, monthName: \"Tishri\", name: \"Yom Kippur\" },\n { day: 15, monthName: \"Tishri\", name: \"Sukkot\" },\n { day: 22, monthName: \"Tishri\", name: \"Simchat Torah\" },\n\n { day: 15, monthName: \"Nisan\", name: \"Pesach\" },\n { day: 21, monthName: \"Nisan\", name: \"Shevii Shel Pesach\" },\n\n { day: 6, monthName: \"Sivan\", name: \"Shavuot\" },\n ];\n return result;\n};\n\nconst getYomTovListChutzLaaretzOnly = (): Holiday[] => {\n const result: Holiday[] = [\n { day: 16, monthName: \"Tishri\", name: \"Sukkot\" },\n { day: 23, monthName: \"Tishri\", name: \"Simchat Torah\" },\n\n { day: 16, monthName: \"Nisan\", name: \"Pesach\" },\n { day: 22, monthName: \"Nisan\", name: \"Pesach Shel Pesach\" },\n\n { day: 7, monthName: \"Sivan\", name: \"Shavuot\" },\n ];\n return result;\n};\n\n/**\n * Determines if a given date is a Yom Tov (Jewish holiday).\n *\n * This function accepts either a Gregorian date or a BasicJewishDate object\n * and checks if it corresponds to a Yom Tov in either Israel or Chutz Laaretz (the diaspora).\n *\n * @param date - The date to check, which can be either:\n * - A Gregorian date object, or\n * - An object representing a Jewish date with properties `day`, `monthName`, and `year`.\n * @param isChutzLaaretz - A boolean indicating whether to check against Yom Tov dates\n * observed in Chutz Laaretz. Defaults to `false`, meaning it checks only for Israeli holidays.\n *\n * @returns Returns `true` if the given date is a Yom Tov,\n * and `false` otherwise.\n *\n * @example\n * const isRoshHashanah = isYomTov(new Date(2024, 9, 3)); // true\n * const isSukkotInChutzLaaretz = isYomTov(\\{ day: 16, monthName: \"Tishri\", year: 5785 \\}, true); // true\n *\n * @public\n */\nexport const isYomTov = (\n date: Date | BasicJewishDate,\n isChutzLaaretz: boolean = false,\n): boolean => {\n let jewishDate: BasicJewishDate;\n if (isBasicJewishDate(date)) {\n jewishDate = date;\n } else {\n jewishDate = toJewishDate(date);\n }\n const yomTovList: Holiday[] = [\n ...getYomTovListIsrael(),\n ...(isChutzLaaretz ? getYomTovListChutzLaaretzOnly() : []),\n ];\n\n return isDateInHolidayList(jewishDate, yomTovList);\n};\n","// Copyright (c) Shmulik kravitz. All rights reserved. Licensed under the MIT license.\n\nimport { type BasicJewishDate, toJewishDate } from \"jewish-date\";\nimport { isDateInHolidayList } from \"../holiday\";\nimport type { Holiday } from \"../interfaces\";\nimport { isBasicJewishDate } from \"../jewishDateUtils/jewishDateUtils\";\n\nconst getErevYomTovList = (): Holiday[] => {\n const result: Holiday[] = [\n { day: 29, monthName: \"Elul\", name: \"Erev Rosh Hashanah\" },\n { day: 9, monthName: \"Tishri\", name: \"Erev Yom Kippur\" },\n { day: 14, monthName: \"Tishri\", name: \"Erev Sukkot\" },\n { day: 21, monthName: \"Tishri\", name: \"Erev Simchat Torah\" },\n\n { day: 14, monthName: \"Nisan\", name: \"Erev Pesach\" },\n { day: 20, monthName: \"Nisan\", name: \"Erev Shvi'i Shel Pesach\" },\n\n { day: 5, monthName: \"Sivan\", name: \"Erev Shavuot\" },\n ];\n return result;\n};\n\n/**\n * DDetermines whether a given date is a Erev Yom Tov (the day before a Jewish holiday).\n *\n * This function accepts either a Gregorian date or a BasicJewishDate object\n * and checks if it corresponds to a Erev Yom Tov\n *\n * @param date - The date to check, which can be either:\n * - A Gregorian date object, or\n * - An object representing a Jewish date with properties `day`, `monthName`, and `year`.\n * @returns Returns `true` if the given date is a Yom Tov,\n * and `false` otherwise.\n *\n * @example\n * const isRoshHashanah = isYomTov(new Date(2024, 9, 3)); // true\n * const isSukkotInChutzLaaretz = isYomTov(\\{ day: 16, monthName: \"Tishri\", year: 5785 \\}); // true\n *\n * @public\n */\nexport const isErevYomTov = (date: Date | BasicJewishDate): boolean => {\n let jewishDate: BasicJewishDate;\n if (isBasicJewishDate(date)) {\n jewishDate = date;\n } else {\n jewishDate = toJewishDate(date);\n }\n const yomTovList: Holiday[] = [...getErevYomTovList()];\n\n return isDateInHolidayList(jewishDate, yomTovList);\n};\n","// Copyright (c) Shmulik kravitz. All rights reserved. Licensed under the MIT license.\n\nimport { type BasicJewishDate, JewishMonth, toJewishDate } from \"jewish-date\";\nimport { isDateInHolidayList } from \"../holiday\";\nimport type { Holiday } from \"../interfaces\";\nimport { isBasicJewishDate } from \"../jewishDateUtils\";\n\nconst getPurimList = (): Holiday[] => {\n return [\n { day: 14, monthName: JewishMonth.Adar, name: \"Purim\" },\n { day: 15, monthName: JewishMonth.Adar, name: \"Shushan Purim\" },\n { day: 14, monthName: JewishMonth.AdarII, name: \"Purim\" },\n { day: 15, monthName: JewishMonth.AdarII, name: \"Shushan Purim\" },\n ];\n};\n\n/**\n * Determines whether a given date falls on Purim.\n *\n * Purim is a Jewish holiday celebrated on the 14th of Adar, with Shushan Purim on the 15th of Adar.\n * The holiday commemorates the salvation of the Jewish people from Haman's plot in ancient Persia.\n *\n * @param date - The date to check, which can be either:\n * - A Gregorian date object (Date), or\n * - An object representing a Jewish date with properties `day`, `monthName`, and `year`.\n *\n * @returns Returns `true` if the given date falls on Purim or Shushan Purim,\n * and `false` otherwise.\n *\n * @example\n * const isPurimToday = isPurim(new Date(2024, 2, 24)); // true\n *\n * @public\n */\nexport const isPurim = (date: Date | BasicJewishDate): boolean => {\n let jewishDate: BasicJewishDate;\n if (isBasicJewishDate(date)) {\n jewishDate = date;\n } else {\n jewishDate = toJewishDate(date);\n }\n\n const purimList = getPurimList();\n return isDateInHolidayList(jewishDate, purimList);\n};\n","// Copyright (c) Shmulik kravitz. All rights reserved. Licensed under the MIT license.\n\nimport { type BasicJewishDate, JewishMonth, toJewishDate } from \"jewish-date\";\nimport { isDateInHolidayList } from \"../holiday\";\nimport type { Holiday } from \"../interfaces\";\nimport { isBasicJewishDate } from \"../jewishDateUtils\";\nimport { isShabbat } from \"../shabbat\";\n\nconst getTzomotList = (): Holiday[] => {\n return [\n { day: 3, monthName: JewishMonth.Tishri, name: \"Tzom Gdalia\" },\n { day: 10, monthName: JewishMonth.Tishri, name: \"Yom Kippur\" },\n { day: 10, monthName: JewishMonth.Tevet, name: \"Asara BeTevet\" },\n { day: 13, monthName: JewishMonth.Adar, name: \"Taanit Esther\" },\n { day: 13, monthName: JewishMonth.AdarII, name: \"Taanit Esther\" },\n { day: 14, monthName: JewishMonth.Nisan, name: \"Taanit Bechorot\" },\n { day: 17, monthName: JewishMonth.Tammuz, name: \"Shiva Asar BeTamuz\" },\n { day: 9, monthName: JewishMonth.Av, name: \"Tisha BeAv\" },\n ];\n};\n\nconst shouldDelayFast = (jewishDate: BasicJewishDate): boolean => {\n // These fasts are delayed when they fall on Shabbat\n const delayableFasts: Holiday[] = [\n {\n day: 17,\n monthName: JewishMonth.Tammuz,\n name: \"Shiva Asar BeTamuz (delayed)\",\n },\n { day: 9, monthName: JewishMonth.Av, name: \"Tisha BeAv (delayed)\" },\n { day: 13, monthName: JewishMonth.Adar, name: \"Taanit Esther (delayed)\" },\n { day: 13, monthName: JewishMonth.AdarII, name: \"Taanit Esther (delayed)\" },\n { day: 3, monthName: JewishMonth.Tishri, name: \"Tzom Gdalia (delayed)\" },\n ];\n // Check if the date is a Shabbat and if the fast is one that can be delayed\n return (\n isShabbat(jewishDate) &&\n delayableFasts.some(\n (fast) =>\n fast.day === jewishDate.day && fast.monthName === jewishDate.monthName,\n )\n );\n};\n\n/**\n * Determines whether a given date falls on any Jewish fast day (Tzom).\n *\n * The Jewish fast days include:\n * - Tzom Gdalia (3rd of Tishri)\n * - Yom Kippur (10th of Tishri)\n * - Asara BeTevet (10th of Tevet)\n * - Taanit Esther (13th of Adar)\n * - Taanit Bechorot (14th of Nisan)\n * - Shiva Asar BeTamuz (17th of Tammuz)\n * - Tisha BeAv (9th of Av)\n *\n * @param date - The date to check, which can be either:\n * - A Gregorian date object (Date), or\n * - An object representing a Jewish date with properties `day`, `monthName`, and `year`\n *\n * @returns Returns `true` if the given date falls on any fast day, `false` otherwise\n *\n * @public\n */\nexport const isTzom = (date: Date | BasicJewishDate): boolean => {\n let jewishDate: BasicJewishDate;\n if (isBasicJewishDate(date)) {\n jewishDate = date;\n } else {\n jewishDate = toJewishDate(date);\n }\n\n const tzomotList = getTzomotList();\n\n // Check if it's a regular fast day\n if (\n isDateInHolidayList(jewishDate, tzomotList) &&\n (!isShabbat(jewishDate) || !shouldDelayFast(jewishDate))\n ) {\n return true;\n }\n\n // Check if yesterday's fast was delayed to today\n const previousDay = { ...jewishDate, day: jewishDate.day - 1 };\n return shouldDelayFast(previousDay);\n};\n"],"mappings":"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","names":["toJewishDate","toJewishDate","toJewishDate","toJewishDate","toGregorianDate","toGregorianDate","toJewishDate","toJewishDate","toJewishDate","toJewishDate","toJewishDate","toJewishDate","JewishMonth","toJewishDate","JewishMonth","toJewishDate"]}