@hebcal/core 5.9.2 → 5.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/bundle.js +244 -200
  2. package/dist/bundle.js.map +1 -1
  3. package/dist/bundle.min.js +17 -19
  4. package/dist/bundle.min.js.map +1 -1
  5. package/dist/esm/DailyLearning.js +1 -1
  6. package/dist/esm/HebrewDateEvent.js +1 -1
  7. package/dist/esm/HolidayEvent.js +1 -1
  8. package/dist/esm/MevarchimChodeshEvent.js +1 -1
  9. package/dist/esm/ParshaEvent.js +1 -1
  10. package/dist/esm/TimedEvent.js +1 -1
  11. package/dist/esm/YomKippurKatanEvent.js +1 -1
  12. package/dist/esm/ashkenazi.po.js +1 -1
  13. package/dist/esm/calendar.js +1 -1
  14. package/dist/esm/candles.js +1 -1
  15. package/dist/esm/event.js +1 -1
  16. package/dist/esm/getStartAndEnd.js +1 -1
  17. package/dist/esm/hallel.js +1 -1
  18. package/dist/esm/he.po.js +2 -2
  19. package/dist/esm/he.po.js.map +1 -1
  20. package/dist/esm/hebcal.js +1 -1
  21. package/dist/esm/holidays.js +1 -1
  22. package/dist/esm/index.js +1 -1
  23. package/dist/esm/locale.js +1 -1
  24. package/dist/esm/location.js +4 -1
  25. package/dist/esm/location.js.map +1 -1
  26. package/dist/esm/modern.js +1 -1
  27. package/dist/esm/molad.js +1 -1
  28. package/dist/esm/omer.d.ts +21 -4
  29. package/dist/esm/omer.js +228 -12
  30. package/dist/esm/omer.js.map +1 -1
  31. package/dist/esm/parshaName.js +1 -1
  32. package/dist/esm/parshaYear.js +1 -1
  33. package/dist/esm/pkgVersion.d.ts +1 -1
  34. package/dist/esm/pkgVersion.js +2 -2
  35. package/dist/esm/pkgVersion.js.map +1 -1
  36. package/dist/esm/reformatTimeStr.js +1 -1
  37. package/dist/esm/sedra.js +1 -1
  38. package/dist/esm/staticHolidays.js +1 -1
  39. package/dist/esm/tachanun.js +1 -1
  40. package/dist/esm/zmanim.js +1 -1
  41. package/dist/index.cjs +232 -13
  42. package/dist/index.cjs.map +1 -1
  43. package/dist/omer.d.ts +21 -4
  44. package/dist/pkgVersion.d.ts +1 -1
  45. package/package.json +15 -15
package/dist/esm/omer.js CHANGED
@@ -1,8 +1,190 @@
1
- /*! @hebcal/core v5.9.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
- import { omerSefira, Locale, gematriya, omerEmoji, omerTodayIs } from '@hebcal/hdate';
1
+ /*! @hebcal/core v5.9.4, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
+ import { Locale, gematriya } from '@hebcal/hdate';
3
3
  import { Event, flags } from './event.js';
4
4
  import './locale.js';
5
5
 
6
+ const sefirot = {
7
+ en: {
8
+ infix: 'within ',
9
+ infix26: 'within ',
10
+ words: [
11
+ '',
12
+ 'Lovingkindness',
13
+ 'Might',
14
+ 'Beauty',
15
+ 'Eternity',
16
+ 'Splendor',
17
+ 'Foundation',
18
+ 'Majesty',
19
+ ],
20
+ pfxWords: null,
21
+ },
22
+ he: {
23
+ infix: null,
24
+ infix26: null,
25
+ words: [
26
+ '',
27
+ 'חֶֽסֶד',
28
+ 'גְבוּרָה',
29
+ 'תִּפְאֶֽרֶת',
30
+ 'נֶּֽצַח',
31
+ 'הוֹד',
32
+ 'יְּסוֹד',
33
+ 'מַּלְכוּת',
34
+ ],
35
+ pfxWords: [
36
+ '',
37
+ 'שֶׁבְּחֶֽסֶד',
38
+ 'שֶׁבִּגְבוּרָה',
39
+ 'שֶׁבְּתִפְאֶֽרֶת',
40
+ 'שֶׁבְּנֶֽצַח',
41
+ 'שֶׁבְּהוֹד',
42
+ 'שֶׁבִּיְּסוֹד',
43
+ 'שֶׁבְּמַלְכוּת',
44
+ ],
45
+ },
46
+ translit: {
47
+ infix: "sheb'",
48
+ infix26: 'shebi',
49
+ words: [
50
+ '',
51
+ 'Chesed',
52
+ 'Gevurah',
53
+ 'Tiferet',
54
+ 'Netzach',
55
+ 'Hod',
56
+ 'Yesod',
57
+ 'Malkhut',
58
+ ],
59
+ pfxWords: null,
60
+ },
61
+ };
62
+ function checkDay(omerDay) {
63
+ if (omerDay < 1 || omerDay > 49) {
64
+ throw new RangeError(`Invalid Omer day ${omerDay}`);
65
+ }
66
+ }
67
+ function getWeeks(omerDay) {
68
+ const weekNum = Math.floor((omerDay - 1) / 7) + 1;
69
+ const daysWithinWeeks = omerDay % 7 || 7;
70
+ return [weekNum, daysWithinWeeks];
71
+ }
72
+ function omerTodayIsEn(omerDay) {
73
+ const [weekNumber, daysWithinWeeks] = getWeeks(omerDay);
74
+ const totalDaysStr = omerDay === 1 ? 'day' : 'days';
75
+ let str = `Today is ${omerDay} ${totalDaysStr}`;
76
+ if (weekNumber > 1 || omerDay === 7) {
77
+ const day7 = daysWithinWeeks === 7;
78
+ const numWeeks = day7 ? weekNumber : weekNumber - 1;
79
+ const weeksStr = numWeeks === 1 ? 'week' : 'weeks';
80
+ str += `, which is ${numWeeks} ${weeksStr}`;
81
+ if (!day7) {
82
+ const daysStr = daysWithinWeeks === 1 ? 'day' : 'days';
83
+ str += ` and ${daysWithinWeeks} ${daysStr}`;
84
+ }
85
+ }
86
+ return str + ' of the Omer';
87
+ }
88
+ // adapted from pip hdate package (GPL)
89
+ // https://github.com/py-libhdate/py-libhdate/blob/master/hdate/date.py
90
+ const tens = ['', 'עֲשָׂרָה', 'עֶשְׂרִים', 'שְׁלוֹשִׁים', 'אַרְבָּעִים'];
91
+ const ones = [
92
+ '',
93
+ 'אֶחָד',
94
+ 'שְׁנַיִם',
95
+ 'שְׁלוֹשָׁה',
96
+ 'אַרְבָּעָה',
97
+ 'חֲמִשָּׁה',
98
+ 'שִׁשָּׁה',
99
+ 'שִׁבְעָה',
100
+ 'שְׁמוֹנָה',
101
+ 'תִּשְׁעָה',
102
+ ];
103
+ const shnei = 'שְׁנֵי';
104
+ const yamim = 'יָמִים';
105
+ const shneiYamim = shnei + ' ' + yamim;
106
+ const shavuot = 'שָׁבוּעוֹת';
107
+ const yom = 'יוֹם';
108
+ const yomEchad = yom + ' ' + ones[1];
109
+ const asar = 'עָשָׂר';
110
+ function omerTodayIsHe(omerDay) {
111
+ const ten = Math.floor(omerDay / 10);
112
+ const one = omerDay % 10;
113
+ let str = 'הַיּוֹם ';
114
+ if (omerDay === 11) {
115
+ str += 'אַחַד ' + asar;
116
+ }
117
+ else if (omerDay === 12) {
118
+ str += 'שְׁנֵים ' + asar;
119
+ }
120
+ else if (12 < omerDay && omerDay < 20) {
121
+ str += ones[one] + ' ' + asar;
122
+ }
123
+ else if (omerDay > 9) {
124
+ str += ones[one];
125
+ if (one) {
126
+ str += ' ';
127
+ str += ten === 3 ? 'וּ' : 'וְ';
128
+ }
129
+ }
130
+ if (omerDay > 2) {
131
+ if (omerDay > 20 || omerDay === 10 || omerDay === 20) {
132
+ str += tens[ten];
133
+ }
134
+ if (omerDay < 11) {
135
+ str += ones[one] + ' ' + yamim + ' ';
136
+ }
137
+ else {
138
+ str += ' ' + yom + ' ';
139
+ }
140
+ }
141
+ else if (omerDay === 1) {
142
+ str += yomEchad + ' ';
143
+ }
144
+ else {
145
+ // omer == 2
146
+ str += shneiYamim + ' ';
147
+ }
148
+ if (omerDay > 6) {
149
+ str = str.trim(); // remove trailing space before comma
150
+ str += ', שֶׁהֵם ';
151
+ const weeks = Math.floor(omerDay / 7);
152
+ const days = omerDay % 7;
153
+ if (weeks > 2) {
154
+ str += ones[weeks] + ' ' + shavuot + ' ';
155
+ }
156
+ else if (weeks === 1) {
157
+ str += 'שָׁבֽוּעַ' + ' ' + ones[1] + ' ';
158
+ }
159
+ else {
160
+ // weeks == 2
161
+ str += shnei + ' ' + shavuot + ' ';
162
+ }
163
+ if (days) {
164
+ if (days === 2 || days === 3) {
165
+ str += 'וּ';
166
+ }
167
+ else if (days === 5) {
168
+ str += 'וַ';
169
+ }
170
+ else {
171
+ str += 'וְ';
172
+ }
173
+ if (days > 2) {
174
+ str += ones[days] + ' ' + yamim + ' ';
175
+ }
176
+ else if (days === 1) {
177
+ str += yomEchad + ' ';
178
+ }
179
+ else {
180
+ // days == 2
181
+ str += shneiYamim + ' ';
182
+ }
183
+ }
184
+ }
185
+ str += 'לָעֽוֹמֶר';
186
+ return str.normalize();
187
+ }
6
188
  /** Represents a day 1-49 of counting the Omer from Pesach to Shavuot */
7
189
  class OmerEvent extends Event {
8
190
  /**
@@ -11,24 +193,37 @@ class OmerEvent extends Event {
11
193
  */
12
194
  constructor(date, omerDay) {
13
195
  super(date, `Omer ${omerDay}`, flags.OMER_COUNT);
14
- if (omerDay < 1 || omerDay > 49) {
15
- throw new RangeError(`Invalid Omer day ${omerDay}`);
16
- }
196
+ checkDay(omerDay);
17
197
  this.weekNumber = Math.floor((omerDay - 1) / 7) + 1;
18
198
  this.daysWithinWeeks = omerDay % 7 || 7;
19
199
  this.omer = omerDay;
20
200
  }
21
201
  /**
22
- * @param lang
202
+ * Returns the sefira. For example, on day 8:
203
+ * * חֶֽסֶד שֶׁבִּגְבוּרָה
204
+ * * Chesed shebiGevurah
205
+ * * Lovingkindness within Might
206
+ * @param lang `en` (English), `he` (Hebrew with nikud), or `translit` (Hebrew in Sephardic transliteration)
207
+ * @returns a string such as `Lovingkindness within Might` or `חֶֽסֶד שֶׁבִּגְבוּרָה`
23
208
  */
24
209
  sefira(lang = 'en') {
25
210
  if (lang !== 'he' && lang !== 'translit') {
26
211
  lang = 'en';
27
212
  }
28
- return omerSefira(this.omer, lang);
213
+ const [weekNum, daysWithinWeeks] = getWeeks(this.omer);
214
+ const config = sefirot[lang];
215
+ const pfxWords = config.pfxWords;
216
+ const words = config.words;
217
+ const week = pfxWords ? pfxWords[weekNum] : words[weekNum];
218
+ const dayWithinWeek = words[daysWithinWeeks];
219
+ const infix = pfxWords
220
+ ? ''
221
+ : weekNum === 2 || weekNum === 6
222
+ ? config.infix26
223
+ : config.infix;
224
+ return (dayWithinWeek + ' ' + infix + week).normalize();
29
225
  }
30
226
  /**
31
- * @todo use gettext()
32
227
  * @param [locale] Optional locale name (defaults to active locale).
33
228
  */
34
229
  render(locale) {
@@ -52,10 +247,29 @@ class OmerEvent extends Event {
52
247
  ' ' +
53
248
  this.omer);
54
249
  }
250
+ /**
251
+ * Returns an emoji number symbol with a circle, for example `㊲`
252
+ * from the “Enclosed CJK Letters and Months” block of the Unicode standard
253
+ * @param omerDay the day of the omer, 1-49 inclusive
254
+ * @returns a single Unicode character from `①` through `㊾`
255
+ */
55
256
  getEmoji() {
56
257
  if (typeof this.emoji === 'string')
57
258
  return this.emoji;
58
- return omerEmoji(this.omer);
259
+ let codePoint;
260
+ const omerDay = this.omer;
261
+ if (omerDay <= 20) {
262
+ codePoint = 9312 + omerDay - 1;
263
+ }
264
+ else if (omerDay <= 35) {
265
+ // between 21 and 35 inclusive
266
+ codePoint = 12881 + omerDay - 21;
267
+ }
268
+ else {
269
+ // between 36 and 49 inclusive
270
+ codePoint = 12977 + omerDay - 36;
271
+ }
272
+ return String.fromCodePoint(codePoint);
59
273
  }
60
274
  getWeeks() {
61
275
  const day7 = this.daysWithinWeeks === 7;
@@ -65,15 +279,17 @@ class OmerEvent extends Event {
65
279
  return this.daysWithinWeeks;
66
280
  }
67
281
  /**
68
- * @param locale
282
+ * Returns a sentence with that evening's omer count
283
+ * @returns a string such as `Today is 10 days, which is 1 week and 3 days of the Omer`
284
+ * or `הַיוֹם עֲשָׂרָה יָמִים, שְׁהֵם שָׁבוּעַ אֶחָד וְשְׁלוֹשָׁה יָמִים לָעוֹמֶר`
69
285
  */
70
286
  getTodayIs(locale) {
71
287
  locale = locale !== null && locale !== void 0 ? locale : Locale.getLocaleName();
72
288
  if (typeof locale === 'string') {
73
289
  locale = locale.toLowerCase();
74
290
  }
75
- const omerLang = locale === 'he' || locale === 'he-x-nonikud' ? 'he' : 'en';
76
- const str = omerTodayIs(this.omer, omerLang);
291
+ const isHebrew = locale === 'he' || locale === 'he-x-nonikud';
292
+ const str = isHebrew ? omerTodayIsHe(this.omer) : omerTodayIsEn(this.omer);
77
293
  if (locale === 'he-x-nonikud') {
78
294
  return Locale.hebrewStripNikkud(str);
79
295
  }
@@ -1 +1 @@
1
- {"version":3,"file":"omer.js","sources":["../../../src/omer.ts"],"sourcesContent":["import {\n HDate,\n Locale,\n OmerLang,\n gematriya,\n omerEmoji,\n omerSefira,\n omerTodayIs,\n} from '@hebcal/hdate';\nimport {Event, flags} from './event';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\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 if (omerDay < 1 || omerDay > 49) {\n throw new RangeError(`Invalid Omer day ${omerDay}`);\n }\n this.weekNumber = Math.floor((omerDay - 1) / 7) + 1;\n this.daysWithinWeeks = omerDay % 7 || 7;\n this.omer = omerDay;\n }\n /**\n * @param lang\n */\n sefira(lang = 'en'): string {\n if (lang !== 'he' && lang !== 'translit') {\n lang = 'en';\n }\n return omerSefira(this.omer, lang as OmerLang);\n }\n /**\n * @todo use gettext()\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 getEmoji(): string {\n if (typeof this.emoji === 'string') return this.emoji;\n return omerEmoji(this.omer);\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 * @param locale\n */\n getTodayIs(locale: string): string {\n locale = locale ?? Locale.getLocaleName();\n if (typeof locale === 'string') {\n locale = locale.toLowerCase();\n }\n const omerLang = locale === 'he' || locale === 'he-x-nonikud' ? 'he' : 'en';\n const str = omerTodayIs(this.omer, omerLang) as string;\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 * @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,4 +1,4 @@
1
- /*! @hebcal/core v5.9.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v5.9.4, 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
 
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v5.9.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v5.9.4, 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,2 +1,2 @@
1
1
  /** DO NOT EDIT THIS AUTO-GENERATED FILE! */
2
- export declare const version = "5.9.2";
2
+ export declare const version = "5.9.4";
@@ -1,6 +1,6 @@
1
- /*! @hebcal/core v5.9.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v5.9.4, 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.9.2';
3
+ const version = '5.9.4';
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.9.2';\n"],"names":[],"mappings":";AAAA;AACO,MAAM,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"pkgVersion.js","sources":["../../../src/pkgVersion.ts"],"sourcesContent":["/** DO NOT EDIT THIS AUTO-GENERATED FILE! */\nexport const version = '5.9.4';\n"],"names":[],"mappings":";AAAA;AACO,MAAM,OAAO,GAAG;;;;"}
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v5.9.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v5.9.4, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
2
  const hour12cc = {
3
3
  US: 1,
4
4
  CA: 1,
package/dist/esm/sedra.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v5.9.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v5.9.4, 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';
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v5.9.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v5.9.4, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
2
2
  import { months } from '@hebcal/hdate';
3
3
  import { flags } from './event.js';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v5.9.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v5.9.4, 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
 
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v5.9.2, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
1
+ /*! @hebcal/core v5.9.4, 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';