@hebcal/core 5.10.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/HolidayEvent.d.ts +5 -6
- package/dist/ParshaEvent.d.ts +3 -9
- package/dist/bundle.js +4418 -6368
- package/dist/bundle.js.map +1 -1
- package/dist/bundle.min.js +20 -20
- package/dist/bundle.min.js.map +1 -1
- package/dist/candles.d.ts +2 -2
- package/dist/esm/DailyLearning.js +1 -1
- package/dist/esm/DailyLearning.js.map +1 -1
- package/dist/esm/HebrewDateEvent.js +3 -3
- package/dist/esm/HebrewDateEvent.js.map +1 -1
- package/dist/esm/HolidayEvent.d.ts +5 -6
- package/dist/esm/HolidayEvent.js +30 -15
- package/dist/esm/HolidayEvent.js.map +1 -1
- package/dist/esm/MevarchimChodeshEvent.js +1 -1
- package/dist/esm/MevarchimChodeshEvent.js.map +1 -1
- package/dist/esm/ParshaEvent.d.ts +3 -9
- package/dist/esm/ParshaEvent.js +10 -19
- package/dist/esm/ParshaEvent.js.map +1 -1
- package/dist/esm/TimedEvent.js +1 -1
- package/dist/esm/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 +23 -14
- package/dist/esm/calendar.js.map +1 -1
- package/dist/esm/candles.d.ts +2 -2
- package/dist/esm/candles.js +7 -8
- package/dist/esm/candles.js.map +1 -1
- package/dist/esm/event.d.ts +4 -5
- package/dist/esm/event.js +7 -11
- package/dist/esm/event.js.map +1 -1
- package/dist/esm/getStartAndEnd.js +1 -1
- package/dist/esm/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.d.ts +1 -0
- package/dist/esm/he-x-NoNikud.po.js +2 -2
- package/dist/esm/he-x-NoNikud.po.js.map +1 -1
- package/dist/esm/he.po.js +2 -2
- package/dist/esm/he.po.js.map +1 -1
- package/dist/esm/hebcal.js +1 -1
- package/dist/esm/hebcal.js.map +1 -1
- package/dist/esm/holidays.js +6 -34
- package/dist/esm/holidays.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/isAssurBemlacha.js +1 -1
- package/dist/esm/isAssurBemlacha.js.map +1 -1
- package/dist/esm/locale.js +2 -12
- package/dist/esm/locale.js.map +1 -1
- package/dist/esm/location.js +1 -1
- package/dist/esm/location.js.map +1 -1
- package/dist/esm/modern.js +1 -1
- package/dist/esm/modern.js.map +1 -1
- package/dist/esm/molad.js +2 -2
- package/dist/esm/molad.js.map +1 -1
- package/dist/esm/omer.js +4 -4
- package/dist/esm/omer.js.map +1 -1
- package/dist/esm/parshaName.js +2 -2
- package/dist/esm/parshaName.js.map +1 -1
- package/dist/esm/parshaYear.js +2 -2
- package/dist/esm/parshaYear.js.map +1 -1
- package/dist/esm/pkgVersion.d.ts +1 -1
- package/dist/esm/pkgVersion.js +2 -2
- package/dist/esm/pkgVersion.js.map +1 -1
- package/dist/esm/reformatTimeStr.js +1 -1
- package/dist/esm/reformatTimeStr.js.map +1 -1
- package/dist/esm/sedra.d.ts +2 -20
- package/dist/esm/sedra.js +10 -31
- package/dist/esm/sedra.js.map +1 -1
- package/dist/esm/staticHolidays.js +2 -9
- package/dist/esm/staticHolidays.js.map +1 -1
- package/dist/esm/tachanun.js +1 -1
- package/dist/esm/tachanun.js.map +1 -1
- package/dist/esm/zmanim.js +1 -1
- package/dist/esm/zmanim.js.map +1 -1
- package/dist/event.d.ts +4 -5
- package/dist/he-x-NoNikud.po.d.ts +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/pkgVersion.d.ts +1 -1
- package/dist/sedra.d.ts +2 -20
- package/package.json +16 -26
- package/dist/index.cjs +0 -8378
- package/dist/index.cjs.map +0 -1
package/dist/esm/location.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"location.js","sources":["../../../src/location.ts"],"sourcesContent":["/*\n Hebcal - A Jewish Calendar Generator\n Copyright (c) 1994-2020 Danny Sadinoff\n Portions copyright Eyal Schachter and Michael J. Radwin\n\n https://github.com/hebcal/hebcal-es6\n\n This program is free software; you can redistribute it and/or\n modify it under the terms of the GNU General Public License\n as published by the Free Software Foundation; either version 2\n of the License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {GeoLocation} from '@hebcal/noaa';\n\nconst classicCities0: [string, string, number, number, string, number][] = [\n ['Ashdod', 'IL', 31.79213, 34.64966, 'Asia/Jerusalem', 27],\n ['Atlanta', 'US', 33.749, -84.38798, 'America/New_York', 336],\n ['Austin', 'US', 30.26715, -97.74306, 'America/Chicago', 165],\n ['Baghdad', 'IQ', 33.34058, 44.40088, 'Asia/Baghdad', 41],\n ['Beer Sheva', 'IL', 31.25181, 34.7913, 'Asia/Jerusalem', 285],\n ['Berlin', 'DE', 52.52437, 13.41053, 'Europe/Berlin', 43],\n ['Baltimore', 'US', 39.29038, -76.61219, 'America/New_York', 35],\n ['Bogota', 'CO', 4.60971, -74.08175, 'America/Bogota', 2582],\n ['Boston', 'US', 42.35843, -71.05977, 'America/New_York', 38],\n ['Budapest', 'HU', 47.49801, 19.03991, 'Europe/Budapest', 104],\n [\n 'Buenos Aires',\n 'AR',\n -34.61315,\n -58.37723,\n 'America/Argentina/Buenos_Aires',\n 31,\n ],\n ['Buffalo', 'US', 42.88645, -78.87837, 'America/New_York', 191],\n ['Chicago', 'US', 41.85003, -87.65005, 'America/Chicago', 180],\n ['Cincinnati', 'US', 39.162, -84.45689, 'America/New_York', 267],\n ['Cleveland', 'US', 41.4995, -81.69541, 'America/New_York', 204],\n ['Dallas', 'US', 32.78306, -96.80667, 'America/Chicago', 139],\n ['Denver', 'US', 39.73915, -104.9847, 'America/Denver', 1636],\n ['Detroit', 'US', 42.33143, -83.04575, 'America/Detroit', 192],\n ['Eilat', 'IL', 29.55805, 34.94821, 'Asia/Jerusalem', 63],\n ['Gibraltar', 'GI', 36.14474, -5.35257, 'Europe/Gibraltar', 11],\n ['Haifa', 'IL', 32.81841, 34.9885, 'Asia/Jerusalem', 40],\n ['Hawaii', 'US', 21.30694, -157.85833, 'Pacific/Honolulu', 18],\n ['Helsinki', 'FI', 60.16952, 24.93545, 'Europe/Helsinki', 26],\n ['Houston', 'US', 29.76328, -95.36327, 'America/Chicago', 30],\n ['Jerusalem', 'IL', 31.76904, 35.21633, 'Asia/Jerusalem', 786],\n ['Johannesburg', 'ZA', -26.20227, 28.04363, 'Africa/Johannesburg', 1767],\n ['Kiev', 'UA', 50.45466, 30.5238, 'Europe/Kiev', 187],\n ['La Paz', 'BO', -16.5, -68.15, 'America/La_Paz', 3782],\n ['Livingston', 'US', 40.79593, -74.31487, 'America/New_York', 98],\n ['Las Vegas', 'US', 36.17497, -115.13722, 'America/Los_Angeles', 613],\n ['London', 'GB', 51.50853, -0.12574, 'Europe/London', 25],\n ['Los Angeles', 'US', 34.05223, -118.24368, 'America/Los_Angeles', 96],\n ['Marseilles', 'FR', 43.29695, 5.38107, 'Europe/Paris', 28],\n ['Miami', 'US', 25.77427, -80.19366, 'America/New_York', 25],\n ['Minneapolis', 'US', 44.97997, -93.26384, 'America/Chicago', 262],\n ['Melbourne', 'AU', -37.814, 144.96332, 'Australia/Melbourne', 25],\n ['Mexico City', 'MX', 19.42847, -99.12766, 'America/Mexico_City', 2240],\n ['Montreal', 'CA', 45.50884, -73.58781, 'America/Toronto', 216],\n ['Moscow', 'RU', 55.75222, 37.61556, 'Europe/Moscow', 144],\n ['New York', 'US', 40.71427, -74.00597, 'America/New_York', 57],\n ['Omaha', 'US', 41.25861, -95.93779, 'America/Chicago', 315],\n ['Ottawa', 'CA', 45.41117, -75.69812, 'America/Toronto', 71],\n ['Panama City', 'PA', 8.9936, -79.51973, 'America/Panama', 17],\n ['Paris', 'FR', 48.85341, 2.3488, 'Europe/Paris', 42],\n ['Pawtucket', 'US', 41.87871, -71.38256, 'America/New_York', 0], // -11\n ['Petach Tikvah', 'IL', 32.08707, 34.88747, 'Asia/Jerusalem', 54],\n ['Philadelphia', 'US', 39.95233, -75.16379, 'America/New_York', 8],\n ['Phoenix', 'US', 33.44838, -112.07404, 'America/Phoenix', 366],\n ['Pittsburgh', 'US', 40.44062, -79.99589, 'America/New_York', 239],\n ['Providence', 'US', 41.82399, -71.41283, 'America/New_York', 0], // -15\n ['Portland', 'US', 45.52345, -122.67621, 'America/Los_Angeles', 15],\n ['Saint Louis', 'US', 38.62727, -90.19789, 'America/Chicago', 149],\n ['Saint Petersburg', 'RU', 59.93863, 30.31413, 'Europe/Moscow', 11],\n ['San Diego', 'US', 32.71533, -117.15726, 'America/Los_Angeles', 20],\n ['San Francisco', 'US', 37.77493, -122.41942, 'America/Los_Angeles', 28],\n ['Sao Paulo', 'BR', -23.5475, -46.63611, 'America/Sao_Paulo', 769],\n ['Seattle', 'US', 47.60621, -122.33207, 'America/Los_Angeles', 56],\n ['Sydney', 'AU', -33.86785, 151.20732, 'Australia/Sydney', 58],\n ['Tel Aviv', 'IL', 32.08088, 34.78057, 'Asia/Jerusalem', 15],\n ['Tiberias', 'IL', 32.79221, 35.53124, 'Asia/Jerusalem', 0], // -140\n ['Toronto', 'CA', 43.70011, -79.4163, 'America/Toronto', 175],\n ['Vancouver', 'CA', 49.24966, -123.11934, 'America/Vancouver', 70],\n ['White Plains', 'US', 41.03399, -73.76291, 'America/New_York', 82],\n ['Washington DC', 'US', 38.89511, -77.03637, 'America/New_York', 6],\n ['Worcester', 'US', 42.26259, -71.80229, 'America/New_York', 164],\n];\nconst classicCities = new Map<string, Location>();\n\n// Zip-Codes.com TimeZone IDs\nconst ZIPCODES_TZ_MAP: Record<string, string> = {\n '0': 'UTC',\n '4': 'America/Puerto_Rico', // Atlantic (GMT -04:00)\n '5': 'America/New_York', // Eastern (GMT -05:00)\n '6': 'America/Chicago', // Central (GMT -06:00)\n '7': 'America/Denver', // Mountain (GMT -07:00)\n '8': 'America/Los_Angeles', // Pacific (GMT -08:00)\n '9': 'America/Anchorage', // Alaska (GMT -09:00)\n '10': 'Pacific/Honolulu', // Hawaii-Aleutian Islands (GMT -10:00)\n '11': 'Pacific/Pago_Pago', // American Samoa (GMT -11:00)\n '13': 'Pacific/Funafuti', // Marshall Islands (GMT +12:00)\n '14': 'Pacific/Guam', // Guam (GMT +10:00)\n '15': 'Pacific/Palau', // Palau (GMT +9:00)\n '16': 'Pacific/Chuuk', // Micronesia (GMT +11:00)\n} as const;\n\n/** @private */\nconst timeFormatCache = new Map<string, Intl.DateTimeFormat>();\n\n/**\n * Gets a 24-hour time formatter (e.g. 07:41 or 20:03) from cache\n * or makes a new one if needed\n * @private\n */\nfunction getFormatter(tzid: string): Intl.DateTimeFormat {\n const fmt = timeFormatCache.get(tzid);\n if (fmt) return fmt;\n const f = new Intl.DateTimeFormat('en-US', {\n timeZone: tzid,\n hour: 'numeric',\n minute: 'numeric',\n hour12: false,\n });\n timeFormatCache.set(tzid, f);\n return f;\n}\n\n/** Class representing Location */\nexport class Location extends GeoLocation {\n private readonly il: boolean;\n private readonly cc?: string;\n private readonly geoid?: string | number;\n /**\n * Initialize a Location instance\n * @param latitude - Latitude as a decimal, valid range -90 thru +90 (e.g. 41.85003)\n * @param longitude - Longitude as a decimal, valid range -180 thru +180 (e.g. -87.65005)\n * @param il - in Israel (true) or Diaspora (false)\n * @param tzid - Olson timezone ID, e.g. \"America/Chicago\"\n * @param [cityName] - optional descriptive city name\n * @param [countryCode] - ISO 3166 alpha-2 country code (e.g. \"FR\")\n * @param [geoid] - optional string or numeric geographic ID\n * @param [elevation] - in meters (default `0`)\n */\n constructor(\n latitude: number,\n longitude: number,\n il: boolean,\n tzid: string,\n cityName?: string,\n countryCode?: string,\n geoid?: string | number,\n elevation?: number\n ) {\n const lat = typeof latitude === 'number' ? latitude : parseFloat(latitude);\n if (isNaN(lat) || lat < -90 || lat > 90) {\n throw new RangeError(`Latitude ${latitude} out of range [-90,90]`);\n }\n const long =\n typeof longitude === 'number' ? longitude : parseFloat(longitude);\n if (isNaN(long) || long < -180 || long > 180) {\n throw new RangeError(`Longitude ${longitude} out of range [-180,180]`);\n }\n if (!tzid) {\n throw new RangeError(`Invalid timezone`);\n }\n const elev = typeof elevation === 'number' && elevation > 0 ? elevation : 0;\n super(cityName || null, lat, long, elev, tzid);\n this.il = Boolean(il);\n this.cc = countryCode;\n this.geoid = geoid;\n }\n\n getIsrael(): boolean {\n return this.il;\n }\n\n getName(): string | null {\n return this.getLocationName();\n }\n\n /**\n * Returns the location name, up to the first comma\n */\n getShortName(): string | null {\n const name = this.getLocationName();\n if (!name) return name;\n const comma = name.indexOf(', ');\n if (comma === -1) return name;\n if (this.cc === 'US' && name[comma + 2] === 'D') {\n if (name[comma + 3] === 'C') {\n return name.substring(0, comma + 4);\n } else if (name[comma + 3] === '.' && name[comma + 4] === 'C') {\n return name.substring(0, comma + 6);\n }\n }\n return name.substring(0, comma);\n }\n\n getCountryCode(): string | undefined {\n return this.cc;\n }\n\n getTzid(): string {\n return this.getTimeZone();\n }\n\n /**\n * Gets a 24-hour time formatter (e.g. 07:41 or 20:03) for this location\n */\n getTimeFormatter(): Intl.DateTimeFormat {\n return getFormatter(this.getTimeZone());\n }\n\n getGeoId(): string | number | undefined {\n return this.geoid;\n }\n\n /**\n * Creates a location object from one of 60 \"classic\" Hebcal city names.\n * The following city names are supported:\n * 'Ashdod', 'Atlanta', 'Austin', 'Baghdad', 'Beer Sheva',\n * 'Berlin', 'Baltimore', 'Bogota', 'Boston', 'Budapest',\n * 'Buenos Aires', 'Buffalo', 'Chicago', 'Cincinnati', 'Cleveland',\n * 'Dallas', 'Denver', 'Detroit', 'Eilat', 'Gibraltar', 'Haifa',\n * 'Hawaii', 'Helsinki', 'Houston', 'Jerusalem', 'Johannesburg',\n * 'Kiev', 'La Paz', 'Livingston', 'Las Vegas', 'London', 'Los Angeles',\n * 'Marseilles', 'Miami', 'Minneapolis', 'Melbourne', 'Mexico City',\n * 'Montreal', 'Moscow', 'New York', 'Omaha', 'Ottawa', 'Panama City',\n * 'Paris', 'Pawtucket', 'Petach Tikvah', 'Philadelphia', 'Phoenix',\n * 'Pittsburgh', 'Providence', 'Portland', 'Saint Louis', 'Saint Petersburg',\n * 'San Diego', 'San Francisco', 'Sao Paulo', 'Seattle', 'Sydney',\n * 'Tel Aviv', 'Tiberias', 'Toronto', 'Vancouver', 'White Plains',\n * 'Washington DC', 'Worcester'\n * @param name\n */\n static lookup(name: string): Location | undefined {\n return classicCities.get(name.toLowerCase());\n }\n\n toString(): string {\n return JSON.stringify(this);\n }\n\n /**\n * Converts legacy Hebcal timezone to a standard Olson tzid.\n * @param tz integer, GMT offset in hours\n * @param dst 'none', 'eu', 'usa', or 'israel'\n */\n static legacyTzToTzid(tz: number, dst: string): string | undefined {\n tz = +tz;\n if (dst === 'none') {\n if (tz === 0) {\n return 'UTC';\n } else {\n const plus = tz > 0 ? '+' : '';\n return `Etc/GMT${plus}${tz}`;\n }\n } else if (tz === 2 && dst === 'israel') {\n return 'Asia/Jerusalem';\n } else if (dst === 'eu') {\n switch (tz) {\n case -2:\n return 'Atlantic/Cape_Verde';\n case -1:\n return 'Atlantic/Azores';\n case 0:\n return 'Europe/London';\n case 1:\n return 'Europe/Paris';\n case 2:\n return 'Europe/Athens';\n default:\n break;\n }\n } else if (dst === 'usa') {\n return ZIPCODES_TZ_MAP[String(tz * -1)];\n }\n return undefined;\n }\n\n /**\n * Converts timezone info from Zip-Codes.com to a standard Olson tzid.\n * @example\n * Location.getUsaTzid('AZ', 7, 'Y') // 'America/Denver'\n * @param state two-letter all-caps US state abbreviation like 'CA'\n * @param tz positive number, 5=America/New_York, 8=America/Los_Angeles\n * @param dst single char 'Y' or 'N'\n */\n static getUsaTzid(state: string, tz: number, dst: string): string {\n tz = +tz;\n if (tz === 10 && state === 'AK') {\n return 'America/Adak';\n } else if (tz === 7 && state === 'AZ') {\n return dst === 'Y' ? 'America/Denver' : 'America/Phoenix';\n } else {\n return ZIPCODES_TZ_MAP[tz];\n }\n }\n\n /**\n * Adds a location name for `Location.lookup()` only if the name isn't\n * already being used. Returns `false` if the name is already taken\n * and `true` if successfully added.\n */\n static addLocation(cityName: string, location: Location): boolean {\n const name = cityName.toLowerCase();\n if (classicCities.has(name)) {\n return false;\n }\n classicCities.set(name, location);\n return true;\n }\n}\n\nfor (const city of classicCities0) {\n const location = new Location(\n city[2],\n city[3],\n city[1] === 'IL',\n city[4],\n city[0],\n city[1],\n undefined,\n city[5]\n );\n Location.addLocation(city[0], location);\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"location.js","sources":["../../../src/location.ts"],"sourcesContent":["/*\n Hebcal - A Jewish Calendar Generator\n Copyright (c) 1994-2020 Danny Sadinoff\n Portions copyright Eyal Schachter and Michael J. Radwin\n\n https://github.com/hebcal/hebcal-es6\n\n This program is free software; you can redistribute it and/or\n modify it under the terms of the GNU General Public License\n as published by the Free Software Foundation; either version 2\n of the License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {GeoLocation} from '@hebcal/noaa';\n\nconst classicCities0: [string, string, number, number, string, number][] = [\n ['Ashdod', 'IL', 31.79213, 34.64966, 'Asia/Jerusalem', 27],\n ['Atlanta', 'US', 33.749, -84.38798, 'America/New_York', 336],\n ['Austin', 'US', 30.26715, -97.74306, 'America/Chicago', 165],\n ['Baghdad', 'IQ', 33.34058, 44.40088, 'Asia/Baghdad', 41],\n ['Beer Sheva', 'IL', 31.25181, 34.7913, 'Asia/Jerusalem', 285],\n ['Berlin', 'DE', 52.52437, 13.41053, 'Europe/Berlin', 43],\n ['Baltimore', 'US', 39.29038, -76.61219, 'America/New_York', 35],\n ['Bogota', 'CO', 4.60971, -74.08175, 'America/Bogota', 2582],\n ['Boston', 'US', 42.35843, -71.05977, 'America/New_York', 38],\n ['Budapest', 'HU', 47.49801, 19.03991, 'Europe/Budapest', 104],\n [\n 'Buenos Aires',\n 'AR',\n -34.61315,\n -58.37723,\n 'America/Argentina/Buenos_Aires',\n 31,\n ],\n ['Buffalo', 'US', 42.88645, -78.87837, 'America/New_York', 191],\n ['Chicago', 'US', 41.85003, -87.65005, 'America/Chicago', 180],\n ['Cincinnati', 'US', 39.162, -84.45689, 'America/New_York', 267],\n ['Cleveland', 'US', 41.4995, -81.69541, 'America/New_York', 204],\n ['Dallas', 'US', 32.78306, -96.80667, 'America/Chicago', 139],\n ['Denver', 'US', 39.73915, -104.9847, 'America/Denver', 1636],\n ['Detroit', 'US', 42.33143, -83.04575, 'America/Detroit', 192],\n ['Eilat', 'IL', 29.55805, 34.94821, 'Asia/Jerusalem', 63],\n ['Gibraltar', 'GI', 36.14474, -5.35257, 'Europe/Gibraltar', 11],\n ['Haifa', 'IL', 32.81841, 34.9885, 'Asia/Jerusalem', 40],\n ['Hawaii', 'US', 21.30694, -157.85833, 'Pacific/Honolulu', 18],\n ['Helsinki', 'FI', 60.16952, 24.93545, 'Europe/Helsinki', 26],\n ['Houston', 'US', 29.76328, -95.36327, 'America/Chicago', 30],\n ['Jerusalem', 'IL', 31.76904, 35.21633, 'Asia/Jerusalem', 786],\n ['Johannesburg', 'ZA', -26.20227, 28.04363, 'Africa/Johannesburg', 1767],\n ['Kiev', 'UA', 50.45466, 30.5238, 'Europe/Kiev', 187],\n ['La Paz', 'BO', -16.5, -68.15, 'America/La_Paz', 3782],\n ['Livingston', 'US', 40.79593, -74.31487, 'America/New_York', 98],\n ['Las Vegas', 'US', 36.17497, -115.13722, 'America/Los_Angeles', 613],\n ['London', 'GB', 51.50853, -0.12574, 'Europe/London', 25],\n ['Los Angeles', 'US', 34.05223, -118.24368, 'America/Los_Angeles', 96],\n ['Marseilles', 'FR', 43.29695, 5.38107, 'Europe/Paris', 28],\n ['Miami', 'US', 25.77427, -80.19366, 'America/New_York', 25],\n ['Minneapolis', 'US', 44.97997, -93.26384, 'America/Chicago', 262],\n ['Melbourne', 'AU', -37.814, 144.96332, 'Australia/Melbourne', 25],\n ['Mexico City', 'MX', 19.42847, -99.12766, 'America/Mexico_City', 2240],\n ['Montreal', 'CA', 45.50884, -73.58781, 'America/Toronto', 216],\n ['Moscow', 'RU', 55.75222, 37.61556, 'Europe/Moscow', 144],\n ['New York', 'US', 40.71427, -74.00597, 'America/New_York', 57],\n ['Omaha', 'US', 41.25861, -95.93779, 'America/Chicago', 315],\n ['Ottawa', 'CA', 45.41117, -75.69812, 'America/Toronto', 71],\n ['Panama City', 'PA', 8.9936, -79.51973, 'America/Panama', 17],\n ['Paris', 'FR', 48.85341, 2.3488, 'Europe/Paris', 42],\n ['Pawtucket', 'US', 41.87871, -71.38256, 'America/New_York', 0], // -11\n ['Petach Tikvah', 'IL', 32.08707, 34.88747, 'Asia/Jerusalem', 54],\n ['Philadelphia', 'US', 39.95233, -75.16379, 'America/New_York', 8],\n ['Phoenix', 'US', 33.44838, -112.07404, 'America/Phoenix', 366],\n ['Pittsburgh', 'US', 40.44062, -79.99589, 'America/New_York', 239],\n ['Providence', 'US', 41.82399, -71.41283, 'America/New_York', 0], // -15\n ['Portland', 'US', 45.52345, -122.67621, 'America/Los_Angeles', 15],\n ['Saint Louis', 'US', 38.62727, -90.19789, 'America/Chicago', 149],\n ['Saint Petersburg', 'RU', 59.93863, 30.31413, 'Europe/Moscow', 11],\n ['San Diego', 'US', 32.71533, -117.15726, 'America/Los_Angeles', 20],\n ['San Francisco', 'US', 37.77493, -122.41942, 'America/Los_Angeles', 28],\n ['Sao Paulo', 'BR', -23.5475, -46.63611, 'America/Sao_Paulo', 769],\n ['Seattle', 'US', 47.60621, -122.33207, 'America/Los_Angeles', 56],\n ['Sydney', 'AU', -33.86785, 151.20732, 'Australia/Sydney', 58],\n ['Tel Aviv', 'IL', 32.08088, 34.78057, 'Asia/Jerusalem', 15],\n ['Tiberias', 'IL', 32.79221, 35.53124, 'Asia/Jerusalem', 0], // -140\n ['Toronto', 'CA', 43.70011, -79.4163, 'America/Toronto', 175],\n ['Vancouver', 'CA', 49.24966, -123.11934, 'America/Vancouver', 70],\n ['White Plains', 'US', 41.03399, -73.76291, 'America/New_York', 82],\n ['Washington DC', 'US', 38.89511, -77.03637, 'America/New_York', 6],\n ['Worcester', 'US', 42.26259, -71.80229, 'America/New_York', 164],\n];\nconst classicCities = new Map<string, Location>();\n\n// Zip-Codes.com TimeZone IDs\nconst ZIPCODES_TZ_MAP: Record<string, string> = {\n '0': 'UTC',\n '4': 'America/Puerto_Rico', // Atlantic (GMT -04:00)\n '5': 'America/New_York', // Eastern (GMT -05:00)\n '6': 'America/Chicago', // Central (GMT -06:00)\n '7': 'America/Denver', // Mountain (GMT -07:00)\n '8': 'America/Los_Angeles', // Pacific (GMT -08:00)\n '9': 'America/Anchorage', // Alaska (GMT -09:00)\n '10': 'Pacific/Honolulu', // Hawaii-Aleutian Islands (GMT -10:00)\n '11': 'Pacific/Pago_Pago', // American Samoa (GMT -11:00)\n '13': 'Pacific/Funafuti', // Marshall Islands (GMT +12:00)\n '14': 'Pacific/Guam', // Guam (GMT +10:00)\n '15': 'Pacific/Palau', // Palau (GMT +9:00)\n '16': 'Pacific/Chuuk', // Micronesia (GMT +11:00)\n} as const;\n\n/** @private */\nconst timeFormatCache = new Map<string, Intl.DateTimeFormat>();\n\n/**\n * Gets a 24-hour time formatter (e.g. 07:41 or 20:03) from cache\n * or makes a new one if needed\n * @private\n */\nfunction getFormatter(tzid: string): Intl.DateTimeFormat {\n const fmt = timeFormatCache.get(tzid);\n if (fmt) return fmt;\n const f = new Intl.DateTimeFormat('en-US', {\n timeZone: tzid,\n hour: 'numeric',\n minute: 'numeric',\n hour12: false,\n });\n timeFormatCache.set(tzid, f);\n return f;\n}\n\n/** Class representing Location */\nexport class Location extends GeoLocation {\n private readonly il: boolean;\n private readonly cc?: string;\n private readonly geoid?: string | number;\n /**\n * Initialize a Location instance\n * @param latitude - Latitude as a decimal, valid range -90 thru +90 (e.g. 41.85003)\n * @param longitude - Longitude as a decimal, valid range -180 thru +180 (e.g. -87.65005)\n * @param il - in Israel (true) or Diaspora (false)\n * @param tzid - Olson timezone ID, e.g. \"America/Chicago\"\n * @param [cityName] - optional descriptive city name\n * @param [countryCode] - ISO 3166 alpha-2 country code (e.g. \"FR\")\n * @param [geoid] - optional string or numeric geographic ID\n * @param [elevation] - in meters (default `0`)\n */\n constructor(\n latitude: number,\n longitude: number,\n il: boolean,\n tzid: string,\n cityName?: string,\n countryCode?: string,\n geoid?: string | number,\n elevation?: number\n ) {\n const lat = typeof latitude === 'number' ? latitude : parseFloat(latitude);\n if (isNaN(lat) || lat < -90 || lat > 90) {\n throw new RangeError(`Latitude ${latitude} out of range [-90,90]`);\n }\n const long =\n typeof longitude === 'number' ? longitude : parseFloat(longitude);\n if (isNaN(long) || long < -180 || long > 180) {\n throw new RangeError(`Longitude ${longitude} out of range [-180,180]`);\n }\n if (!tzid) {\n throw new RangeError(`Invalid timezone`);\n }\n const elev = typeof elevation === 'number' && elevation > 0 ? elevation : 0;\n super(cityName || null, lat, long, elev, tzid);\n this.il = Boolean(il);\n this.cc = countryCode;\n this.geoid = geoid;\n }\n\n getIsrael(): boolean {\n return this.il;\n }\n\n getName(): string | null {\n return this.getLocationName();\n }\n\n /**\n * Returns the location name, up to the first comma\n */\n getShortName(): string | null {\n const name = this.getLocationName();\n if (!name) return name;\n const comma = name.indexOf(', ');\n if (comma === -1) return name;\n if (this.cc === 'US' && name[comma + 2] === 'D') {\n if (name[comma + 3] === 'C') {\n return name.substring(0, comma + 4);\n } else if (name[comma + 3] === '.' && name[comma + 4] === 'C') {\n return name.substring(0, comma + 6);\n }\n }\n return name.substring(0, comma);\n }\n\n getCountryCode(): string | undefined {\n return this.cc;\n }\n\n getTzid(): string {\n return this.getTimeZone();\n }\n\n /**\n * Gets a 24-hour time formatter (e.g. 07:41 or 20:03) for this location\n */\n getTimeFormatter(): Intl.DateTimeFormat {\n return getFormatter(this.getTimeZone());\n }\n\n getGeoId(): string | number | undefined {\n return this.geoid;\n }\n\n /**\n * Creates a location object from one of 60 \"classic\" Hebcal city names.\n * The following city names are supported:\n * 'Ashdod', 'Atlanta', 'Austin', 'Baghdad', 'Beer Sheva',\n * 'Berlin', 'Baltimore', 'Bogota', 'Boston', 'Budapest',\n * 'Buenos Aires', 'Buffalo', 'Chicago', 'Cincinnati', 'Cleveland',\n * 'Dallas', 'Denver', 'Detroit', 'Eilat', 'Gibraltar', 'Haifa',\n * 'Hawaii', 'Helsinki', 'Houston', 'Jerusalem', 'Johannesburg',\n * 'Kiev', 'La Paz', 'Livingston', 'Las Vegas', 'London', 'Los Angeles',\n * 'Marseilles', 'Miami', 'Minneapolis', 'Melbourne', 'Mexico City',\n * 'Montreal', 'Moscow', 'New York', 'Omaha', 'Ottawa', 'Panama City',\n * 'Paris', 'Pawtucket', 'Petach Tikvah', 'Philadelphia', 'Phoenix',\n * 'Pittsburgh', 'Providence', 'Portland', 'Saint Louis', 'Saint Petersburg',\n * 'San Diego', 'San Francisco', 'Sao Paulo', 'Seattle', 'Sydney',\n * 'Tel Aviv', 'Tiberias', 'Toronto', 'Vancouver', 'White Plains',\n * 'Washington DC', 'Worcester'\n * @param name\n */\n static lookup(name: string): Location | undefined {\n return classicCities.get(name.toLowerCase());\n }\n\n toString(): string {\n return JSON.stringify(this);\n }\n\n /**\n * Converts legacy Hebcal timezone to a standard Olson tzid.\n * @param tz integer, GMT offset in hours\n * @param dst 'none', 'eu', 'usa', or 'israel'\n */\n static legacyTzToTzid(tz: number, dst: string): string | undefined {\n tz = +tz;\n if (dst === 'none') {\n if (tz === 0) {\n return 'UTC';\n } else {\n const plus = tz > 0 ? '+' : '';\n return `Etc/GMT${plus}${tz}`;\n }\n } else if (tz === 2 && dst === 'israel') {\n return 'Asia/Jerusalem';\n } else if (dst === 'eu') {\n switch (tz) {\n case -2:\n return 'Atlantic/Cape_Verde';\n case -1:\n return 'Atlantic/Azores';\n case 0:\n return 'Europe/London';\n case 1:\n return 'Europe/Paris';\n case 2:\n return 'Europe/Athens';\n default:\n break;\n }\n } else if (dst === 'usa') {\n return ZIPCODES_TZ_MAP[String(tz * -1)];\n }\n return undefined;\n }\n\n /**\n * Converts timezone info from Zip-Codes.com to a standard Olson tzid.\n * @example\n * Location.getUsaTzid('AZ', 7, 'Y') // 'America/Denver'\n * @param state two-letter all-caps US state abbreviation like 'CA'\n * @param tz positive number, 5=America/New_York, 8=America/Los_Angeles\n * @param dst single char 'Y' or 'N'\n */\n static getUsaTzid(state: string, tz: number, dst: string): string {\n tz = +tz;\n if (tz === 10 && state === 'AK') {\n return 'America/Adak';\n } else if (tz === 7 && state === 'AZ') {\n return dst === 'Y' ? 'America/Denver' : 'America/Phoenix';\n } else {\n return ZIPCODES_TZ_MAP[tz];\n }\n }\n\n /**\n * Adds a location name for `Location.lookup()` only if the name isn't\n * already being used. Returns `false` if the name is already taken\n * and `true` if successfully added.\n */\n static addLocation(cityName: string, location: Location): boolean {\n const name = cityName.toLowerCase();\n if (classicCities.has(name)) {\n return false;\n }\n classicCities.set(name, location);\n return true;\n }\n}\n\nfor (const city of classicCities0) {\n const location = new Location(\n city[2],\n city[3],\n city[1] === 'IL',\n city[4],\n city[0],\n city[1],\n undefined,\n city[5]\n );\n Location.addLocation(city[0], location);\n}\n"],"names":[],"mappings":"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"}
|
package/dist/esm/modern.js
CHANGED
package/dist/esm/modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modern.js","sources":["../../../src/modern.ts"],"sourcesContent":["import {HDate, months} from '@hebcal/hdate';\n\nconst SUN = 0;\nconst TUE = 2;\nconst FRI = 5;\nconst SAT = 6;\n\nconst NISAN = months.NISAN;\nconst IYYAR = months.IYYAR;\n\n/**\n * Yom HaShoah first observed in 1951.\n * When the actual date of Yom Hashoah falls on a Friday, the\n * state of Israel observes Yom Hashoah on the preceding\n * Thursday. When it falls on a Sunday, Yom Hashoah is observed\n * on the following Monday.\n * http://www.ushmm.org/remembrance/dor/calendar/\n * @private\n * @param year\n */\nexport function dateYomHaShoah(year: number): HDate | null {\n if (year < 5711) {\n return null;\n }\n let nisan27dt = new HDate(27, NISAN, year);\n if (nisan27dt.getDay() === FRI) {\n nisan27dt = new HDate(26, NISAN, year);\n } else if (nisan27dt.getDay() === SUN) {\n nisan27dt = new HDate(28, NISAN, year);\n }\n return nisan27dt;\n}\n\n/**\n * Yom HaAtzma'ut only celebrated after 1948\n * @private\n * @param year\n */\nexport function dateYomHaZikaron(year: number): HDate | null {\n if (year < 5708) {\n return null;\n }\n let day;\n const pesach = new HDate(15, NISAN, year);\n const pdow = pesach.getDay();\n if (pdow === SUN) {\n day = 2;\n } else if (pdow === SAT) {\n day = 3;\n } else if (year < 5764) {\n day = 4;\n } else if (pdow === TUE) {\n day = 5;\n } else {\n day = 4;\n }\n return new HDate(day, IYYAR, year);\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,GAAG,GAAG,CAAC;AACb,MAAM,GAAG,GAAG,CAAC;AACb,MAAM,GAAG,GAAG,CAAC;AACb,MAAM,GAAG,GAAG,CAAC;AAEb,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;AAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;AAE1B;;;;;;;;;AASG;AACG,SAAU,cAAc,CAAC,IAAY,EAAA;AACzC,IAAA,IAAI,IAAI,GAAG,IAAI,EAAE;AACf,QAAA,OAAO,IAAI
|
|
1
|
+
{"version":3,"file":"modern.js","sources":["../../../src/modern.ts"],"sourcesContent":["import {HDate, months} from '@hebcal/hdate';\n\nconst SUN = 0;\nconst TUE = 2;\nconst FRI = 5;\nconst SAT = 6;\n\nconst NISAN = months.NISAN;\nconst IYYAR = months.IYYAR;\n\n/**\n * Yom HaShoah first observed in 1951.\n * When the actual date of Yom Hashoah falls on a Friday, the\n * state of Israel observes Yom Hashoah on the preceding\n * Thursday. When it falls on a Sunday, Yom Hashoah is observed\n * on the following Monday.\n * http://www.ushmm.org/remembrance/dor/calendar/\n * @private\n * @param year\n */\nexport function dateYomHaShoah(year: number): HDate | null {\n if (year < 5711) {\n return null;\n }\n let nisan27dt = new HDate(27, NISAN, year);\n if (nisan27dt.getDay() === FRI) {\n nisan27dt = new HDate(26, NISAN, year);\n } else if (nisan27dt.getDay() === SUN) {\n nisan27dt = new HDate(28, NISAN, year);\n }\n return nisan27dt;\n}\n\n/**\n * Yom HaAtzma'ut only celebrated after 1948\n * @private\n * @param year\n */\nexport function dateYomHaZikaron(year: number): HDate | null {\n if (year < 5708) {\n return null;\n }\n let day;\n const pesach = new HDate(15, NISAN, year);\n const pdow = pesach.getDay();\n if (pdow === SUN) {\n day = 2;\n } else if (pdow === SAT) {\n day = 3;\n } else if (year < 5764) {\n day = 4;\n } else if (pdow === TUE) {\n day = 5;\n } else {\n day = 4;\n }\n return new HDate(day, IYYAR, year);\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,GAAG,GAAG,CAAC;AACb,MAAM,GAAG,GAAG,CAAC;AACb,MAAM,GAAG,GAAG,CAAC;AACb,MAAM,GAAG,GAAG,CAAC;AAEb,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;AAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;AAE1B;;;;;;;;;AASG;AACG,SAAU,cAAc,CAAC,IAAY,EAAA;AACzC,IAAA,IAAI,IAAI,GAAG,IAAI,EAAE;AACf,QAAA,OAAO,IAAI;IACb;IACA,IAAI,SAAS,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;AAC1C,IAAA,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE;QAC9B,SAAS,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;IACxC;AAAO,SAAA,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE;QACrC,SAAS,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;IACxC;AACA,IAAA,OAAO,SAAS;AAClB;AAEA;;;;AAIG;AACG,SAAU,gBAAgB,CAAC,IAAY,EAAA;AAC3C,IAAA,IAAI,IAAI,GAAG,IAAI,EAAE;AACf,QAAA,OAAO,IAAI;IACb;AACA,IAAA,IAAI,GAAG;IACP,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;AACzC,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE;AAC5B,IAAA,IAAI,IAAI,KAAK,GAAG,EAAE;QAChB,GAAG,GAAG,CAAC;IACT;AAAO,SAAA,IAAI,IAAI,KAAK,GAAG,EAAE;QACvB,GAAG,GAAG,CAAC;IACT;AAAO,SAAA,IAAI,IAAI,GAAG,IAAI,EAAE;QACtB,GAAG,GAAG,CAAC;IACT;AAAO,SAAA,IAAI,IAAI,KAAK,GAAG,EAAE;QACvB,GAAG,GAAG,CAAC;IACT;SAAO;QACL,GAAG,GAAG,CAAC;IACT;IACA,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC;AACpC;;;;"}
|
package/dist/esm/molad.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { Event, flags } from './event.js';
|
|
3
3
|
import { molad, HDate, Locale } from '@hebcal/hdate';
|
|
4
4
|
import { reformatTimeStr } from './reformatTimeStr.js';
|
|
@@ -85,7 +85,7 @@ class Molad {
|
|
|
85
85
|
*/
|
|
86
86
|
render(locale, options) {
|
|
87
87
|
var _a;
|
|
88
|
-
locale = locale !== null && locale !== void 0 ? locale :
|
|
88
|
+
locale = locale !== null && locale !== void 0 ? locale : 'en';
|
|
89
89
|
if (typeof locale === 'string') {
|
|
90
90
|
locale = locale.toLowerCase();
|
|
91
91
|
}
|
package/dist/esm/molad.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"molad.js","sources":["../../../src/molad.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport {Event, flags} from './event';\nimport {CalOptions} from './CalOptions';\nimport {HDate, Locale, molad, Molad as MoladBase} from '@hebcal/hdate';\nimport {reformatTimeStr} from './reformatTimeStr';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\nconst shortDayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nconst heDayNames = [\n 'רִאשׁוֹן',\n 'שֵׁנִי',\n 'שְׁלִישִׁי',\n 'רְבִיעִי',\n 'חֲמִישִׁי',\n 'שִׁישִּׁי',\n 'שַׁבָּת',\n];\nconst frDayNames = ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'];\nconst night = 'בַּלַּ֥יְלָה';\n\nfunction getHebrewTimeOfDay(hour: number): string {\n if (hour < 5) return night;\n else if (hour < 12) return 'בַּבֹּקֶר';\n else if (hour < 17) return 'בַּצׇּהֳרַיִים';\n else if (hour < 21) return 'בָּעֶרֶב';\n return night;\n}\n\n/**\n * Represents a molad, the moment when the new moon is \"born\"\n */\nexport class Molad {\n private readonly m: MoladBase;\n /**\n * Calculates the molad for a Hebrew month\n * @param year\n * @param month\n */\n constructor(year: number, month: number) {\n this.m = molad(year, month);\n }\n /**\n */\n getYear(): number {\n return this.m.year;\n }\n /**\n */\n getMonth(): number {\n return this.m.month;\n }\n /**\n */\n getMonthName(): string {\n return HDate.getMonthName(this.m.month, this.m.year);\n }\n /**\n * @returns Day of Week (0=Sunday, 6=Saturday)\n */\n getDow(): number {\n return this.m.dayOfWeek;\n }\n /**\n * @returns hour of day (0-23)\n */\n getHour(): number {\n return this.m.hour;\n }\n /**\n * @returns minutes past hour (0-59)\n */\n getMinutes(): number {\n return this.m.minutes;\n }\n /**\n * @returns parts of a minute (0-17)\n */\n getChalakim(): number {\n return this.m.chalakim;\n }\n /**\n * @param [locale] Optional locale name (defaults to active locale)\n * @param options\n */\n render(locale?: string, options?: CalOptions): string {\n locale = locale ??
|
|
1
|
+
{"version":3,"file":"molad.js","sources":["../../../src/molad.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport {Event, flags} from './event';\nimport {CalOptions} from './CalOptions';\nimport {HDate, Locale, molad, Molad as MoladBase} from '@hebcal/hdate';\nimport {reformatTimeStr} from './reformatTimeStr';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\nconst shortDayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nconst heDayNames = [\n 'רִאשׁוֹן',\n 'שֵׁנִי',\n 'שְׁלִישִׁי',\n 'רְבִיעִי',\n 'חֲמִישִׁי',\n 'שִׁישִּׁי',\n 'שַׁבָּת',\n];\nconst frDayNames = ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'];\nconst night = 'בַּלַּ֥יְלָה';\n\nfunction getHebrewTimeOfDay(hour: number): string {\n if (hour < 5) return night;\n else if (hour < 12) return 'בַּבֹּקֶר';\n else if (hour < 17) return 'בַּצׇּהֳרַיִים';\n else if (hour < 21) return 'בָּעֶרֶב';\n return night;\n}\n\n/**\n * Represents a molad, the moment when the new moon is \"born\"\n */\nexport class Molad {\n private readonly m: MoladBase;\n /**\n * Calculates the molad for a Hebrew month\n * @param year\n * @param month\n */\n constructor(year: number, month: number) {\n this.m = molad(year, month);\n }\n /**\n */\n getYear(): number {\n return this.m.year;\n }\n /**\n */\n getMonth(): number {\n return this.m.month;\n }\n /**\n */\n getMonthName(): string {\n return HDate.getMonthName(this.m.month, this.m.year);\n }\n /**\n * @returns Day of Week (0=Sunday, 6=Saturday)\n */\n getDow(): number {\n return this.m.dayOfWeek;\n }\n /**\n * @returns hour of day (0-23)\n */\n getHour(): number {\n return this.m.hour;\n }\n /**\n * @returns minutes past hour (0-59)\n */\n getMinutes(): number {\n return this.m.minutes;\n }\n /**\n * @returns parts of a minute (0-17)\n */\n getChalakim(): number {\n return this.m.chalakim;\n }\n /**\n * @param [locale] Optional locale name (defaults to active locale)\n * @param options\n */\n render(locale?: string, options?: CalOptions): string {\n locale = locale ?? 'en';\n if (typeof locale === 'string') {\n locale = locale.toLowerCase();\n }\n const isHebrewLocale =\n locale === 'he' || locale === 'he-x-nonikud' || locale === 'h';\n const isFrenchLocale = locale === 'fr';\n const monthName = Locale.gettext(this.getMonthName(), locale);\n const dayNames = isHebrewLocale ? heDayNames : (isFrenchLocale ? frDayNames : shortDayNames);\n const dow = dayNames[this.getDow()];\n const minutes = this.getMinutes();\n const hour = this.getHour();\n const chalakim = this.getChalakim();\n const moladStr = Locale.gettext('Molad', locale);\n const minutesStr = Locale.lookupTranslation('min', locale) ?? 'minutes';\n const chalakimStr = Locale.gettext('chalakim', locale);\n const and = Locale.gettext('and', locale);\n const after = Locale.gettext('after', locale);\n if (isHebrewLocale) {\n const ampm = getHebrewTimeOfDay(hour);\n const result =\n `${moladStr} ${monthName} יִהְיֶה בַּיּוֹם ${dow} בשָׁבוּעַ, ` +\n `בְּשָׁעָה ${hour} ${ampm}, ` +\n `ו-${minutes} ${minutesStr} ` +\n `ו-${chalakim} ${chalakimStr}`;\n if (locale === 'he-x-nonikud') {\n return Locale.hebrewStripNikkud(result);\n }\n return result;\n }\n const fmtTime = reformatTimeStr(`${hour}:00`, 'pm', options);\n const month = monthName.replace(/'/g, '’');\n return `${moladStr} ${month}: ${dow}, ${minutes} ${minutesStr} ${and} ${chalakim} ${chalakimStr} ${after} ${fmtTime}`;\n }\n}\n\n/** Represents a Molad announcement on Shabbat Mevarchim */\nexport class MoladEvent extends Event {\n readonly molad: Molad;\n private readonly options: CalOptions;\n /**\n * @param date Hebrew date event occurs\n * @param hyear molad year\n * @param hmonth molad month\n * @param options\n */\n constructor(date: HDate, hyear: number, hmonth: number, options: CalOptions) {\n const m = new Molad(hyear, hmonth);\n const monthName = m.getMonthName();\n super(date, `Molad ${monthName} ${hyear}`, flags.MOLAD);\n this.molad = m;\n this.options = options;\n }\n /**\n * @param [locale] Optional locale name (defaults to active locale).\n */\n render(locale?: string): string {\n return this.molad.render(locale, this.options);\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/esm/omer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
2
|
-
import {
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
|
+
import { gematriya, Locale } from '@hebcal/hdate';
|
|
3
3
|
import { Event, flags } from './event.js';
|
|
4
4
|
import './locale.js';
|
|
5
5
|
|
|
@@ -227,7 +227,7 @@ class OmerEvent extends Event {
|
|
|
227
227
|
* @param [locale] Optional locale name (defaults to active locale).
|
|
228
228
|
*/
|
|
229
229
|
render(locale) {
|
|
230
|
-
locale = locale !== null && locale !== void 0 ? locale :
|
|
230
|
+
locale = locale !== null && locale !== void 0 ? locale : 'en';
|
|
231
231
|
if (typeof locale === 'string') {
|
|
232
232
|
locale = locale.toLowerCase();
|
|
233
233
|
}
|
|
@@ -283,7 +283,7 @@ class OmerEvent extends Event {
|
|
|
283
283
|
* or `הַיוֹם עֲשָׂרָה יָמִים, שְׁהֵם שָׁבוּעַ אֶחָד וְשְׁלוֹשָׁה יָמִים לָעוֹמֶר`
|
|
284
284
|
*/
|
|
285
285
|
getTodayIs(locale) {
|
|
286
|
-
locale = locale !== null && locale !== void 0 ? locale :
|
|
286
|
+
locale = locale !== null && locale !== void 0 ? locale : 'en';
|
|
287
287
|
if (typeof locale === 'string') {
|
|
288
288
|
locale = locale.toLowerCase();
|
|
289
289
|
}
|
package/dist/esm/omer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omer.js","sources":["../../../src/omer.ts"],"sourcesContent":["import {HDate, Locale, gematriya} from '@hebcal/hdate';\nimport {Event, flags} from './event';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\n/**\n * Language for counting the Omer can be English or Hebrew.\n * Lang for the Sefira can be English, Hebrew, or Hebrew in Sephardic transliteration.\n */\nexport type OmerLang = 'en' | 'he' | 'translit';\n\nconst sefirot = {\n en: {\n infix: 'within ',\n infix26: 'within ',\n words: [\n '',\n 'Lovingkindness',\n 'Might',\n 'Beauty',\n 'Eternity',\n 'Splendor',\n 'Foundation',\n 'Majesty',\n ],\n pfxWords: null,\n },\n he: {\n infix: null,\n infix26: null,\n words: [\n '',\n 'חֶֽסֶד',\n 'גְּבוּרָה',\n 'תִּפְאֶֽרֶת',\n 'נֶּֽצַח',\n 'הוֹד',\n 'יְּסוֹד',\n 'מַלְכוּת',\n ],\n pfxWords: [\n '',\n 'שֶׁבְּחֶֽסֶד',\n 'שֶׁבִּגְבוּרָה',\n 'שֶׁבְּתִפְאֶֽרֶת',\n 'שֶׁבְּנֶֽצַח',\n 'שֶׁבְּהוֹד',\n 'שֶׁבִּיְסוֹד',\n 'שֶׁבְּמַלְכוּת',\n ],\n },\n translit: {\n infix: \"sheb'\",\n infix26: 'shebi',\n words: [\n '',\n 'Chesed',\n 'Gevurah',\n 'Tiferet',\n 'Netzach',\n 'Hod',\n 'Yesod',\n 'Malkhut',\n ],\n pfxWords: null,\n },\n} as const;\n\nfunction checkDay(omerDay: number): void {\n if (omerDay < 1 || omerDay > 49) {\n throw new RangeError(`Invalid Omer day ${omerDay}`);\n }\n}\n\nfunction getWeeks(omerDay: number): number[] {\n const weekNum: number = Math.floor((omerDay - 1) / 7) + 1;\n const daysWithinWeeks: number = omerDay % 7 || 7;\n return [weekNum, daysWithinWeeks];\n}\n\nfunction omerTodayIsEn(omerDay: number): string {\n const [weekNumber, daysWithinWeeks]: number[] = getWeeks(omerDay);\n\n const totalDaysStr: string = omerDay === 1 ? 'day' : 'days';\n let str = `Today is ${omerDay} ${totalDaysStr}`;\n\n if (weekNumber > 1 || omerDay === 7) {\n const day7: boolean = daysWithinWeeks === 7;\n const numWeeks: number = day7 ? weekNumber : weekNumber - 1;\n const weeksStr: string = numWeeks === 1 ? 'week' : 'weeks';\n str += `, which is ${numWeeks} ${weeksStr}`;\n if (!day7) {\n const daysStr: string = daysWithinWeeks === 1 ? 'day' : 'days';\n str += ` and ${daysWithinWeeks} ${daysStr}`;\n }\n }\n return str + ' of the Omer';\n}\n\n// adapted from pip hdate package (GPL)\n// https://github.com/py-libhdate/py-libhdate/blob/master/hdate/date.py\n\nconst tens = ['', 'עֲשָׂרָה', 'עֶשְׂרִים', 'שְׁלוֹשִׁים', 'אַרְבָּעִים'];\nconst ones = [\n '',\n 'אֶחָד',\n 'שְׁנַיִם',\n 'שְׁלוֹשָׁה',\n 'אַרְבָּעָה',\n 'חֲמִשָּׁה',\n 'שִׁשָּׁה',\n 'שִׁבְעָה',\n 'שְׁמוֹנָה',\n 'תִּשְׁעָה',\n];\n\nconst shnei = 'שְׁנֵי';\nconst yamim = 'יָמִים';\nconst shneiYamim = shnei + ' ' + yamim;\nconst shavuot = 'שָׁבוּעוֹת';\nconst yom = 'יוֹם';\nconst yomEchad = yom + ' ' + ones[1];\nconst asar = 'עָשָׂר';\n\nfunction omerTodayIsHe(omerDay: number): string {\n const ten: number = Math.floor(omerDay / 10);\n const one: number = omerDay % 10;\n let str = 'הַיּוֹם ';\n if (omerDay === 11) {\n str += 'אַחַד ' + asar;\n } else if (omerDay === 12) {\n str += 'שְׁנֵים ' + asar;\n } else if (12 < omerDay && omerDay < 20) {\n str += ones[one] + ' ' + asar;\n } else if (omerDay > 9) {\n str += ones[one];\n if (one) {\n str += ' ';\n str += ten === 3 ? 'וּ' : 'וְ';\n }\n }\n if (omerDay > 2) {\n if (omerDay > 20 || omerDay === 10 || omerDay === 20) {\n str += tens[ten];\n }\n if (omerDay < 11) {\n str += ones[one] + ' ' + yamim + ' ';\n } else {\n str += ' ' + yom + ' ';\n }\n } else if (omerDay === 1) {\n str += yomEchad + ' ';\n } else {\n // omer == 2\n str += shneiYamim + ' ';\n }\n if (omerDay > 6) {\n str = str.trim(); // remove trailing space before comma\n str += ', שֶׁהֵם ';\n const weeks: number = Math.floor(omerDay / 7);\n const days: number = omerDay % 7;\n if (weeks > 2) {\n str += ones[weeks] + ' ' + shavuot + ' ';\n } else if (weeks === 1) {\n str += 'שָׁבֽוּעַ' + ' ' + ones[1] + ' ';\n } else {\n // weeks == 2\n str += shnei + ' ' + shavuot + ' ';\n }\n if (days) {\n if (days === 2 || days === 3) {\n str += 'וּ';\n } else if (days === 5) {\n str += 'וַ';\n } else {\n str += 'וְ';\n }\n if (days > 2) {\n str += ones[days] + ' ' + yamim + ' ';\n } else if (days === 1) {\n str += yomEchad + ' ';\n } else {\n // days == 2\n str += shneiYamim + ' ';\n }\n }\n }\n str += 'לָעֽוֹמֶר';\n return str.normalize();\n}\n\n/** Represents a day 1-49 of counting the Omer from Pesach to Shavuot */\nexport class OmerEvent extends Event {\n private readonly weekNumber: number;\n private readonly daysWithinWeeks: number;\n readonly omer: number;\n emoji?: string;\n\n /**\n * @param date\n * @param omerDay\n */\n constructor(date: HDate, omerDay: number) {\n super(date, `Omer ${omerDay}`, flags.OMER_COUNT);\n checkDay(omerDay);\n this.weekNumber = Math.floor((omerDay - 1) / 7) + 1;\n this.daysWithinWeeks = omerDay % 7 || 7;\n this.omer = omerDay;\n }\n\n /**\n * Returns the sefira. For example, on day 8:\n * * חֶֽסֶד שֶׁבִּגְבוּרָה\n * * Chesed shebiGevurah\n * * Lovingkindness within Might\n * @param lang `en` (English), `he` (Hebrew with nikud), or `translit` (Hebrew in Sephardic transliteration)\n * @returns a string such as `Lovingkindness within Might` or `חֶֽסֶד שֶׁבִּגְבוּרָה`\n */\n sefira(lang: OmerLang = 'en'): string {\n if (lang !== 'he' && lang !== 'translit') {\n lang = 'en';\n }\n const [weekNum, daysWithinWeeks]: number[] = getWeeks(this.omer);\n const config = sefirot[lang as OmerLang];\n const pfxWords = config.pfxWords;\n const words = config.words;\n const week = pfxWords ? pfxWords[weekNum] : words[weekNum];\n const dayWithinWeek = words[daysWithinWeeks];\n const infix = pfxWords\n ? ''\n : weekNum === 2 || weekNum === 6\n ? config.infix26\n : config.infix;\n return (dayWithinWeek + ' ' + infix + week).normalize();\n }\n /**\n * @param [locale] Optional locale name (defaults to active locale).\n */\n render(locale?: string): string {\n locale = locale ?? Locale.getLocaleName();\n if (typeof locale === 'string') {\n locale = locale.toLowerCase();\n }\n const isHebrewLocale =\n locale === 'he' || locale === 'he-x-nonikud' || locale === 'h';\n const omer = this.omer;\n const nth = isHebrewLocale ? gematriya(omer) : Locale.ordinal(omer, locale);\n return nth + ' ' + Locale.gettext('day of the Omer', locale);\n }\n /**\n * Returns translation of \"Omer day 22\" without ordinal numbers.\n * @param [locale] Optional locale name (defaults to active locale).\n */\n renderBrief(locale?: string): string {\n return (\n Locale.gettext('Omer', locale) +\n ' ' +\n Locale.gettext('day', locale) +\n ' ' +\n this.omer\n );\n }\n /**\n * Returns an emoji number symbol with a circle, for example `㊲`\n * from the “Enclosed CJK Letters and Months” block of the Unicode standard\n * @returns a single Unicode character from `①` through `㊾`\n */\n getEmoji(): string {\n if (typeof this.emoji === 'string') return this.emoji;\n let codePoint: number;\n const omerDay = this.omer;\n if (omerDay <= 20) {\n codePoint = 9312 + omerDay - 1;\n } else if (omerDay <= 35) {\n // between 21 and 35 inclusive\n codePoint = 12881 + omerDay - 21;\n } else {\n // between 36 and 49 inclusive\n codePoint = 12977 + omerDay - 36;\n }\n return String.fromCodePoint(codePoint);\n }\n\n getWeeks(): number {\n const day7 = this.daysWithinWeeks === 7;\n return day7 ? this.weekNumber : this.weekNumber - 1;\n }\n\n getDaysWithinWeeks(): number {\n return this.daysWithinWeeks;\n }\n /**\n * Returns a sentence with that evening's omer count\n * @returns a string such as `Today is 10 days, which is 1 week and 3 days of the Omer`\n * or `הַיוֹם עֲשָׂרָה יָמִים, שְׁהֵם שָׁבוּעַ אֶחָד וְשְׁלוֹשָׁה יָמִים לָעוֹמֶר`\n */\n getTodayIs(locale: string): string {\n locale = locale ?? Locale.getLocaleName();\n if (typeof locale === 'string') {\n locale = locale.toLowerCase();\n }\n const isHebrew = locale === 'he' || locale === 'he-x-nonikud';\n const str = isHebrew ? omerTodayIsHe(this.omer) : omerTodayIsEn(this.omer);\n if (locale === 'he-x-nonikud') {\n return Locale.hebrewStripNikkud(str);\n }\n return str;\n }\n\n url(): string {\n return `https://www.hebcal.com/omer/${this.getDate().getFullYear()}/${this.omer}`;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"omer.js","sources":["../../../src/omer.ts"],"sourcesContent":["import {HDate, Locale, gematriya} from '@hebcal/hdate';\nimport {Event, flags} from './event';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\n/**\n * Language for counting the Omer can be English or Hebrew.\n * Lang for the Sefira can be English, Hebrew, or Hebrew in Sephardic transliteration.\n */\nexport type OmerLang = 'en' | 'he' | 'translit';\n\nconst sefirot = {\n en: {\n infix: 'within ',\n infix26: 'within ',\n words: [\n '',\n 'Lovingkindness',\n 'Might',\n 'Beauty',\n 'Eternity',\n 'Splendor',\n 'Foundation',\n 'Majesty',\n ],\n pfxWords: null,\n },\n he: {\n infix: null,\n infix26: null,\n words: [\n '',\n 'חֶֽסֶד',\n 'גְּבוּרָה',\n 'תִּפְאֶֽרֶת',\n 'נֶּֽצַח',\n 'הוֹד',\n 'יְּסוֹד',\n 'מַלְכוּת',\n ],\n pfxWords: [\n '',\n 'שֶׁבְּחֶֽסֶד',\n 'שֶׁבִּגְבוּרָה',\n 'שֶׁבְּתִפְאֶֽרֶת',\n 'שֶׁבְּנֶֽצַח',\n 'שֶׁבְּהוֹד',\n 'שֶׁבִּיְסוֹד',\n 'שֶׁבְּמַלְכוּת',\n ],\n },\n translit: {\n infix: \"sheb'\",\n infix26: 'shebi',\n words: [\n '',\n 'Chesed',\n 'Gevurah',\n 'Tiferet',\n 'Netzach',\n 'Hod',\n 'Yesod',\n 'Malkhut',\n ],\n pfxWords: null,\n },\n} as const;\n\nfunction checkDay(omerDay: number): void {\n if (omerDay < 1 || omerDay > 49) {\n throw new RangeError(`Invalid Omer day ${omerDay}`);\n }\n}\n\nfunction getWeeks(omerDay: number): number[] {\n const weekNum: number = Math.floor((omerDay - 1) / 7) + 1;\n const daysWithinWeeks: number = omerDay % 7 || 7;\n return [weekNum, daysWithinWeeks];\n}\n\nfunction omerTodayIsEn(omerDay: number): string {\n const [weekNumber, daysWithinWeeks]: number[] = getWeeks(omerDay);\n\n const totalDaysStr: string = omerDay === 1 ? 'day' : 'days';\n let str = `Today is ${omerDay} ${totalDaysStr}`;\n\n if (weekNumber > 1 || omerDay === 7) {\n const day7: boolean = daysWithinWeeks === 7;\n const numWeeks: number = day7 ? weekNumber : weekNumber - 1;\n const weeksStr: string = numWeeks === 1 ? 'week' : 'weeks';\n str += `, which is ${numWeeks} ${weeksStr}`;\n if (!day7) {\n const daysStr: string = daysWithinWeeks === 1 ? 'day' : 'days';\n str += ` and ${daysWithinWeeks} ${daysStr}`;\n }\n }\n return str + ' of the Omer';\n}\n\n// adapted from pip hdate package (GPL)\n// https://github.com/py-libhdate/py-libhdate/blob/master/hdate/date.py\n\nconst tens = ['', 'עֲשָׂרָה', 'עֶשְׂרִים', 'שְׁלוֹשִׁים', 'אַרְבָּעִים'];\nconst ones = [\n '',\n 'אֶחָד',\n 'שְׁנַיִם',\n 'שְׁלוֹשָׁה',\n 'אַרְבָּעָה',\n 'חֲמִשָּׁה',\n 'שִׁשָּׁה',\n 'שִׁבְעָה',\n 'שְׁמוֹנָה',\n 'תִּשְׁעָה',\n];\n\nconst shnei = 'שְׁנֵי';\nconst yamim = 'יָמִים';\nconst shneiYamim = shnei + ' ' + yamim;\nconst shavuot = 'שָׁבוּעוֹת';\nconst yom = 'יוֹם';\nconst yomEchad = yom + ' ' + ones[1];\nconst asar = 'עָשָׂר';\n\nfunction omerTodayIsHe(omerDay: number): string {\n const ten: number = Math.floor(omerDay / 10);\n const one: number = omerDay % 10;\n let str = 'הַיּוֹם ';\n if (omerDay === 11) {\n str += 'אַחַד ' + asar;\n } else if (omerDay === 12) {\n str += 'שְׁנֵים ' + asar;\n } else if (12 < omerDay && omerDay < 20) {\n str += ones[one] + ' ' + asar;\n } else if (omerDay > 9) {\n str += ones[one];\n if (one) {\n str += ' ';\n str += ten === 3 ? 'וּ' : 'וְ';\n }\n }\n if (omerDay > 2) {\n if (omerDay > 20 || omerDay === 10 || omerDay === 20) {\n str += tens[ten];\n }\n if (omerDay < 11) {\n str += ones[one] + ' ' + yamim + ' ';\n } else {\n str += ' ' + yom + ' ';\n }\n } else if (omerDay === 1) {\n str += yomEchad + ' ';\n } else {\n // omer == 2\n str += shneiYamim + ' ';\n }\n if (omerDay > 6) {\n str = str.trim(); // remove trailing space before comma\n str += ', שֶׁהֵם ';\n const weeks: number = Math.floor(omerDay / 7);\n const days: number = omerDay % 7;\n if (weeks > 2) {\n str += ones[weeks] + ' ' + shavuot + ' ';\n } else if (weeks === 1) {\n str += 'שָׁבֽוּעַ' + ' ' + ones[1] + ' ';\n } else {\n // weeks == 2\n str += shnei + ' ' + shavuot + ' ';\n }\n if (days) {\n if (days === 2 || days === 3) {\n str += 'וּ';\n } else if (days === 5) {\n str += 'וַ';\n } else {\n str += 'וְ';\n }\n if (days > 2) {\n str += ones[days] + ' ' + yamim + ' ';\n } else if (days === 1) {\n str += yomEchad + ' ';\n } else {\n // days == 2\n str += shneiYamim + ' ';\n }\n }\n }\n str += 'לָעֽוֹמֶר';\n return str.normalize();\n}\n\n/** Represents a day 1-49 of counting the Omer from Pesach to Shavuot */\nexport class OmerEvent extends Event {\n private readonly weekNumber: number;\n private readonly daysWithinWeeks: number;\n readonly omer: number;\n emoji?: string;\n\n /**\n * @param date\n * @param omerDay\n */\n constructor(date: HDate, omerDay: number) {\n super(date, `Omer ${omerDay}`, flags.OMER_COUNT);\n checkDay(omerDay);\n this.weekNumber = Math.floor((omerDay - 1) / 7) + 1;\n this.daysWithinWeeks = omerDay % 7 || 7;\n this.omer = omerDay;\n }\n\n /**\n * Returns the sefira. For example, on day 8:\n * * חֶֽסֶד שֶׁבִּגְבוּרָה\n * * Chesed shebiGevurah\n * * Lovingkindness within Might\n * @param lang `en` (English), `he` (Hebrew with nikud), or `translit` (Hebrew in Sephardic transliteration)\n * @returns a string such as `Lovingkindness within Might` or `חֶֽסֶד שֶׁבִּגְבוּרָה`\n */\n sefira(lang: OmerLang = 'en'): string {\n if (lang !== 'he' && lang !== 'translit') {\n lang = 'en';\n }\n const [weekNum, daysWithinWeeks]: number[] = getWeeks(this.omer);\n const config = sefirot[lang as OmerLang];\n const pfxWords = config.pfxWords;\n const words = config.words;\n const week = pfxWords ? pfxWords[weekNum] : words[weekNum];\n const dayWithinWeek = words[daysWithinWeeks];\n const infix = pfxWords\n ? ''\n : weekNum === 2 || weekNum === 6\n ? config.infix26\n : config.infix;\n return (dayWithinWeek + ' ' + infix + week).normalize();\n }\n /**\n * @param [locale] Optional locale name (defaults to active locale).\n */\n render(locale?: string): string {\n locale = locale ?? 'en';\n if (typeof locale === 'string') {\n locale = locale.toLowerCase();\n }\n const isHebrewLocale =\n locale === 'he' || locale === 'he-x-nonikud' || locale === 'h';\n const omer = this.omer;\n const nth = isHebrewLocale ? gematriya(omer) : Locale.ordinal(omer, locale);\n return nth + ' ' + Locale.gettext('day of the Omer', locale);\n }\n /**\n * Returns translation of \"Omer day 22\" without ordinal numbers.\n * @param [locale] Optional locale name (defaults to active locale).\n */\n renderBrief(locale?: string): string {\n return (\n Locale.gettext('Omer', locale) +\n ' ' +\n Locale.gettext('day', locale) +\n ' ' +\n this.omer\n );\n }\n /**\n * Returns an emoji number symbol with a circle, for example `㊲`\n * from the “Enclosed CJK Letters and Months” block of the Unicode standard\n * @returns a single Unicode character from `①` through `㊾`\n */\n getEmoji(): string {\n if (typeof this.emoji === 'string') return this.emoji;\n let codePoint: number;\n const omerDay = this.omer;\n if (omerDay <= 20) {\n codePoint = 9312 + omerDay - 1;\n } else if (omerDay <= 35) {\n // between 21 and 35 inclusive\n codePoint = 12881 + omerDay - 21;\n } else {\n // between 36 and 49 inclusive\n codePoint = 12977 + omerDay - 36;\n }\n return String.fromCodePoint(codePoint);\n }\n\n getWeeks(): number {\n const day7 = this.daysWithinWeeks === 7;\n return day7 ? this.weekNumber : this.weekNumber - 1;\n }\n\n getDaysWithinWeeks(): number {\n return this.daysWithinWeeks;\n }\n /**\n * Returns a sentence with that evening's omer count\n * @returns a string such as `Today is 10 days, which is 1 week and 3 days of the Omer`\n * or `הַיוֹם עֲשָׂרָה יָמִים, שְׁהֵם שָׁבוּעַ אֶחָד וְשְׁלוֹשָׁה יָמִים לָעוֹמֶר`\n */\n getTodayIs(locale: string): string {\n locale = locale ?? 'en';\n if (typeof locale === 'string') {\n locale = locale.toLowerCase();\n }\n const isHebrew = locale === 'he' || locale === 'he-x-nonikud';\n const str = isHebrew ? omerTodayIsHe(this.omer) : omerTodayIsEn(this.omer);\n if (locale === 'he-x-nonikud') {\n return Locale.hebrewStripNikkud(str);\n }\n return str;\n }\n\n url(): string {\n return `https://www.hebcal.com/omer/${this.getDate().getFullYear()}/${this.omer}`;\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/esm/parshaName.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import './locale.js';
|
|
3
3
|
import { Locale } from '@hebcal/hdate';
|
|
4
4
|
|
|
5
5
|
/** @private */
|
|
6
6
|
function renderParshaName(parsha, locale) {
|
|
7
|
-
const locale0 = locale !== null && locale !== void 0 ? locale :
|
|
7
|
+
const locale0 = locale !== null && locale !== void 0 ? locale : 'en';
|
|
8
8
|
let name = Locale.gettext(parsha[0], locale0);
|
|
9
9
|
if (parsha.length === 2) {
|
|
10
10
|
const hyphen = locale0 === 'he' ? '־' : '-';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parshaName.js","sources":["../../../src/parshaName.ts"],"sourcesContent":["import {Locale} from './locale';\n\n/** @private */\nexport function renderParshaName(parsha: string[], locale?: string): string {\n const locale0 = locale ??
|
|
1
|
+
{"version":3,"file":"parshaName.js","sources":["../../../src/parshaName.ts"],"sourcesContent":["import {Locale} from './locale';\n\n/** @private */\nexport function renderParshaName(parsha: string[], locale?: string): string {\n const locale0 = locale ?? 'en';\n let name = Locale.gettext(parsha[0], locale0);\n if (parsha.length === 2) {\n const hyphen = locale0 === 'he' ? '־' : '-';\n name += hyphen + Locale.gettext(parsha[1], locale0);\n }\n name = name.replace(/'/g, '’');\n const str = Locale.gettext('Parashat', locale) + ' ' + name;\n return str.normalize();\n}\n"],"names":[],"mappings":";;;;AAEA;AACM,SAAU,gBAAgB,CAAC,MAAgB,EAAE,MAAe,EAAA;IAChE,MAAM,OAAO,GAAG,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAN,MAAM,GAAI,IAAI;AAC9B,IAAA,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;AAC7C,IAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AACvB,QAAA,MAAM,MAAM,GAAG,OAAO,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG;AAC3C,QAAA,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IACrD;IACA,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;AAC9B,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI;AAC3D,IAAA,OAAO,GAAG,CAAC,SAAS,EAAE;AACxB;;;;"}
|
package/dist/esm/parshaYear.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { HDate, months } from '@hebcal/hdate';
|
|
3
3
|
import { ParshaEvent } from './ParshaEvent.js';
|
|
4
4
|
import { getSedra } from './sedra.js';
|
|
@@ -18,7 +18,7 @@ function parshaYear(year, il) {
|
|
|
18
18
|
for (let absDt = startAbs; absDt <= endAbs; absDt += 7) {
|
|
19
19
|
const parsha = sedra.lookup(absDt);
|
|
20
20
|
if (!parsha.chag) {
|
|
21
|
-
const ev = new ParshaEvent(parsha
|
|
21
|
+
const ev = new ParshaEvent(parsha);
|
|
22
22
|
events.push(ev);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parshaYear.js","sources":["../../../src/parshaYear.ts"],"sourcesContent":["import {HDate, months} from '@hebcal/hdate';\nimport {Event} from './event';\nimport {ParshaEvent} from './ParshaEvent';\nimport {getSedra} from './sedra';\n\n/**\n * Calculates weekly Torah Reading on Saturdays for entire year\n * @param year Hebrew year\n * @param il Israel (false for Diaspora)\n * @returns an array of `ParshaEvent` occurring on Saturdays that contain a regular\n * (non-holiday) Parashat HaShavua\n */\nexport function parshaYear(year: number, il: boolean): Event[] {\n const sedra = getSedra(year, il);\n const startAbs = sedra.getFirstSaturday();\n const endAbs = HDate.hebrew2abs(year, months.ELUL, 29);\n const events: Event[] = [];\n for (let absDt = startAbs; absDt <= endAbs; absDt += 7) {\n const parsha = sedra.lookup(absDt);\n if (!parsha.chag) {\n const ev = new ParshaEvent(parsha
|
|
1
|
+
{"version":3,"file":"parshaYear.js","sources":["../../../src/parshaYear.ts"],"sourcesContent":["import {HDate, months} from '@hebcal/hdate';\nimport {Event} from './event';\nimport {ParshaEvent} from './ParshaEvent';\nimport {getSedra} from './sedra';\n\n/**\n * Calculates weekly Torah Reading on Saturdays for entire year\n * @param year Hebrew year\n * @param il Israel (false for Diaspora)\n * @returns an array of `ParshaEvent` occurring on Saturdays that contain a regular\n * (non-holiday) Parashat HaShavua\n */\nexport function parshaYear(year: number, il: boolean): Event[] {\n const sedra = getSedra(year, il);\n const startAbs = sedra.getFirstSaturday();\n const endAbs = HDate.hebrew2abs(year, months.ELUL, 29);\n const events: Event[] = [];\n for (let absDt = startAbs; absDt <= endAbs; absDt += 7) {\n const parsha = sedra.lookup(absDt);\n if (!parsha.chag) {\n const ev = new ParshaEvent(parsha);\n events.push(ev);\n }\n }\n return events;\n}\n"],"names":[],"mappings":";;;;;AAKA;;;;;;AAMG;AACG,SAAU,UAAU,CAAC,IAAY,EAAE,EAAW,EAAA;IAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;AAChC,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,EAAE;AACzC,IAAA,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IACtD,MAAM,MAAM,GAAY,EAAE;AAC1B,IAAA,KAAK,IAAI,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE;QACtD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAClC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAChB,YAAA,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC;AAClC,YAAA,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACjB;IACF;AACA,IAAA,OAAO,MAAM;AACf;;;;"}
|
package/dist/esm/pkgVersion.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** DO NOT EDIT THIS AUTO-GENERATED FILE! */
|
|
2
|
-
export declare const version = "
|
|
2
|
+
export declare const version = "6.0.0";
|
package/dist/esm/pkgVersion.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
/** DO NOT EDIT THIS AUTO-GENERATED FILE! */
|
|
3
|
-
const version = '
|
|
3
|
+
const version = '6.0.0';
|
|
4
4
|
|
|
5
5
|
export { version };
|
|
6
6
|
//# sourceMappingURL=pkgVersion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pkgVersion.js","sources":["../../../src/pkgVersion.ts"],"sourcesContent":["/** DO NOT EDIT THIS AUTO-GENERATED FILE! */\nexport const version = '
|
|
1
|
+
{"version":3,"file":"pkgVersion.js","sources":["../../../src/pkgVersion.ts"],"sourcesContent":["/** DO NOT EDIT THIS AUTO-GENERATED FILE! */\nexport const version = '6.0.0';\n"],"names":[],"mappings":";AAAA;AACO,MAAM,OAAO,GAAG;;;;"}
|
|
@@ -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,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
|
|
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;IAChB;IACA,IAAI,CAAC,MAAM,IAAI,OAAO,QAAQ,CAAC,EAAE,CAAC,KAAK,WAAW,EAAE;AAClD,QAAA,OAAO,OAAO;IAChB;IACA,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;QACX;IACF;AAAO,SAAA,IAAI,IAAI,GAAG,EAAE,EAAE;AACpB,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE;IAClB;AAAO,SAAA,IAAI,IAAI,KAAK,CAAC,EAAE;QACrB,IAAI,GAAG,IAAI;IACb;IACA,OAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,EAAE,CAAC,CAAC,CAAC,CAAA,EAAG,MAAM,CAAA,CAAE;AACpC;;;;"}
|
package/dist/esm/sedra.d.ts
CHANGED
|
@@ -22,6 +22,8 @@ export type SedraResult = {
|
|
|
22
22
|
num?: number | number[];
|
|
23
23
|
/** The date of the Shabbat this parsha is read */
|
|
24
24
|
hdate: HDate;
|
|
25
|
+
/** true if Israel, false for Diaspora */
|
|
26
|
+
il: boolean;
|
|
25
27
|
};
|
|
26
28
|
/**
|
|
27
29
|
* Represents Parashah HaShavua for an entire Hebrew year
|
|
@@ -38,26 +40,6 @@ export declare class Sedra {
|
|
|
38
40
|
* @param il - Use Israel sedra schedule (false for Diaspora)
|
|
39
41
|
*/
|
|
40
42
|
constructor(hyear: number, il: boolean);
|
|
41
|
-
/**
|
|
42
|
-
* Returns the parsha (or parshiyot) read on Hebrew date
|
|
43
|
-
* @deprecated Use {@link lookup} instead
|
|
44
|
-
* @param hd Hebrew date or R.D. days
|
|
45
|
-
*/
|
|
46
|
-
get(hd: HDate | number): string[];
|
|
47
|
-
/**
|
|
48
|
-
* Looks up parsha for the date, then returns a translated or transliterated string
|
|
49
|
-
* @deprecated Use {@link lookup} instead
|
|
50
|
-
* @param hd Hebrew date or R.D. days
|
|
51
|
-
* @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale
|
|
52
|
-
*/
|
|
53
|
-
getString(hd: HDate | number, locale?: string): string;
|
|
54
|
-
/**
|
|
55
|
-
* Checks to see if this day would be a regular parasha HaShavua
|
|
56
|
-
* Torah reading or special holiday reading
|
|
57
|
-
* @deprecated Use {@link lookup} instead
|
|
58
|
-
* @param hd Hebrew date or R.D. days
|
|
59
|
-
*/
|
|
60
|
-
isParsha(hd: HDate | number): boolean;
|
|
61
43
|
/**
|
|
62
44
|
* Returns the date that a parsha occurs
|
|
63
45
|
* or `null` if the parsha doesn't occur this year
|
package/dist/esm/sedra.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.0, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { HDate, months } from '@hebcal/hdate';
|
|
3
|
-
import { renderParshaName } from './parshaName.js';
|
|
4
3
|
import QuickLRU from 'quick-lru';
|
|
5
4
|
import './locale.js';
|
|
6
5
|
|
|
@@ -85,33 +84,6 @@ class Sedra {
|
|
|
85
84
|
throw new Error(`improper sedra year type ${key} calculated for ${hyear}`);
|
|
86
85
|
}
|
|
87
86
|
}
|
|
88
|
-
/**
|
|
89
|
-
* Returns the parsha (or parshiyot) read on Hebrew date
|
|
90
|
-
* @deprecated Use {@link lookup} instead
|
|
91
|
-
* @param hd Hebrew date or R.D. days
|
|
92
|
-
*/
|
|
93
|
-
get(hd) {
|
|
94
|
-
return this.lookup(hd).parsha;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Looks up parsha for the date, then returns a translated or transliterated string
|
|
98
|
-
* @deprecated Use {@link lookup} instead
|
|
99
|
-
* @param hd Hebrew date or R.D. days
|
|
100
|
-
* @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale
|
|
101
|
-
*/
|
|
102
|
-
getString(hd, locale) {
|
|
103
|
-
const parsha = this.get(hd);
|
|
104
|
-
return renderParshaName(parsha, locale);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Checks to see if this day would be a regular parasha HaShavua
|
|
108
|
-
* Torah reading or special holiday reading
|
|
109
|
-
* @deprecated Use {@link lookup} instead
|
|
110
|
-
* @param hd Hebrew date or R.D. days
|
|
111
|
-
*/
|
|
112
|
-
isParsha(hd) {
|
|
113
|
-
return !this.lookup(hd).chag;
|
|
114
|
-
}
|
|
115
87
|
/**
|
|
116
88
|
* Returns the date that a parsha occurs
|
|
117
89
|
* or `null` if the parsha doesn't occur this year
|
|
@@ -253,10 +225,16 @@ class Sedra {
|
|
|
253
225
|
const hdate = new HDate(saturday);
|
|
254
226
|
if (typeof index === 'string') {
|
|
255
227
|
// Shabbat has a chag. Return a description
|
|
256
|
-
return { parsha: [index], chag: true, hdate };
|
|
228
|
+
return { parsha: [index], chag: true, hdate, il: this.il };
|
|
257
229
|
}
|
|
258
230
|
if (index >= 0) {
|
|
259
|
-
return {
|
|
231
|
+
return {
|
|
232
|
+
parsha: [parshiot[index]],
|
|
233
|
+
chag: false,
|
|
234
|
+
num: index + 1,
|
|
235
|
+
hdate,
|
|
236
|
+
il: this.il,
|
|
237
|
+
};
|
|
260
238
|
}
|
|
261
239
|
const p1 = D(index); // undouble the parsha
|
|
262
240
|
return {
|
|
@@ -264,6 +242,7 @@ class Sedra {
|
|
|
264
242
|
chag: false,
|
|
265
243
|
num: [p1 + 1, p1 + 2],
|
|
266
244
|
hdate,
|
|
245
|
+
il: this.il,
|
|
267
246
|
};
|
|
268
247
|
}
|
|
269
248
|
}
|