@hebcal/core 5.10.1 → 6.0.1
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/HebrewDateEvent.d.ts +2 -2
- package/dist/HolidayEvent.d.ts +9 -10
- package/dist/MevarchimChodeshEvent.d.ts +2 -2
- package/dist/ParshaEvent.d.ts +4 -10
- package/dist/TimedEvent.d.ts +4 -4
- package/dist/YomKippurKatanEvent.d.ts +2 -2
- package/dist/ashkenazi.po.d.ts +2 -0
- package/dist/bundle.js +4438 -6388
- package/dist/bundle.js.map +1 -1
- package/dist/bundle.min.js +20 -20
- package/dist/bundle.min.js.map +1 -1
- package/dist/candles.d.ts +2 -2
- package/dist/esm/DailyLearning.js +1 -1
- package/dist/esm/HebrewDateEvent.d.ts +2 -2
- package/dist/esm/HebrewDateEvent.js +5 -5
- package/dist/esm/HebrewDateEvent.js.map +1 -1
- package/dist/esm/HolidayEvent.d.ts +9 -10
- package/dist/esm/HolidayEvent.js +34 -19
- package/dist/esm/HolidayEvent.js.map +1 -1
- package/dist/esm/MevarchimChodeshEvent.d.ts +2 -2
- package/dist/esm/MevarchimChodeshEvent.js +3 -3
- package/dist/esm/MevarchimChodeshEvent.js.map +1 -1
- package/dist/esm/ParshaEvent.d.ts +4 -10
- package/dist/esm/ParshaEvent.js +11 -20
- package/dist/esm/ParshaEvent.js.map +1 -1
- package/dist/esm/TimedEvent.d.ts +4 -4
- package/dist/esm/TimedEvent.js +5 -5
- package/dist/esm/TimedEvent.js.map +1 -1
- package/dist/esm/YomKippurKatanEvent.d.ts +2 -2
- package/dist/esm/YomKippurKatanEvent.js +3 -3
- package/dist/esm/YomKippurKatanEvent.js.map +1 -1
- package/dist/esm/ashkenazi.po.d.ts +2 -0
- package/dist/esm/ashkenazi.po.js +2 -2
- package/dist/esm/ashkenazi.po.js.map +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 +6 -7
- package/dist/esm/event.js +9 -13
- package/dist/esm/event.js.map +1 -1
- package/dist/esm/getStartAndEnd.js +1 -1
- package/dist/esm/hallel.js +1 -1
- package/dist/esm/he-x-NoNikud.po.js +1 -1
- package/dist/esm/he.po.d.ts +2 -0
- 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/holidays.js +6 -34
- package/dist/esm/holidays.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/isAssurBemlacha.js +1 -1
- package/dist/esm/locale.js +2 -12
- package/dist/esm/locale.js.map +1 -1
- package/dist/esm/location.js +1 -1
- package/dist/esm/modern.js +1 -1
- package/dist/esm/molad.d.ts +2 -2
- package/dist/esm/molad.js +4 -4
- package/dist/esm/molad.js.map +1 -1
- package/dist/esm/omer.d.ts +2 -2
- package/dist/esm/omer.js +6 -6
- package/dist/esm/omer.js.map +1 -1
- package/dist/esm/parshaName.js +2 -2
- package/dist/esm/parshaName.js.map +1 -1
- package/dist/esm/parshaYear.js +2 -2
- package/dist/esm/parshaYear.js.map +1 -1
- package/dist/esm/pkgVersion.d.ts +1 -1
- package/dist/esm/pkgVersion.js +2 -2
- package/dist/esm/pkgVersion.js.map +1 -1
- package/dist/esm/reformatTimeStr.js +1 -1
- package/dist/esm/sedra.d.ts +2 -20
- package/dist/esm/sedra.js +10 -31
- package/dist/esm/sedra.js.map +1 -1
- package/dist/esm/staticHolidays.js +2 -9
- package/dist/esm/staticHolidays.js.map +1 -1
- package/dist/esm/tachanun.js +1 -1
- package/dist/esm/zmanim.js +1 -1
- package/dist/event.d.ts +6 -7
- package/dist/he.po.d.ts +2 -0
- package/dist/molad.d.ts +2 -2
- package/dist/omer.d.ts +2 -2
- 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/candles.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export declare class TimedChanukahEvent extends ChanukahEvent {
|
|
|
33
33
|
eventTime: Date;
|
|
34
34
|
eventTimeStr: string;
|
|
35
35
|
readonly location: Location;
|
|
36
|
-
constructor(
|
|
36
|
+
constructor(ev: ChanukahEvent, eventTime: Date, location: Location);
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Makes a candle-lighting event for Chankah (not on Friday/Saturday).
|
|
@@ -41,4 +41,4 @@ export declare class TimedChanukahEvent extends ChanukahEvent {
|
|
|
41
41
|
* Another source suggests 4.6667 degrees below horizon.
|
|
42
42
|
* @private
|
|
43
43
|
*/
|
|
44
|
-
export declare function makeWeekdayChanukahCandleLighting(ev:
|
|
44
|
+
export declare function makeWeekdayChanukahCandleLighting(ev: ChanukahEvent, options: CalOptions): TimedChanukahEvent | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.1, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
const cals = new Map();
|
|
3
3
|
/**
|
|
4
4
|
* Plug-ins for daily learning calendars such as Daf Yomi, Mishna Yomi, Nach Yomi, etc.
|
|
@@ -8,7 +8,7 @@ export declare class HebrewDateEvent extends Event {
|
|
|
8
8
|
*/
|
|
9
9
|
constructor(date: HDate);
|
|
10
10
|
/**
|
|
11
|
-
* @param [locale] Optional locale name (defaults to
|
|
11
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
12
12
|
* @example
|
|
13
13
|
* import {HDate, HebrewDateEvent, months} from '@hebcal/core';
|
|
14
14
|
*
|
|
@@ -24,7 +24,7 @@ export declare class HebrewDateEvent extends Event {
|
|
|
24
24
|
*/
|
|
25
25
|
private renderBriefHebrew;
|
|
26
26
|
/**
|
|
27
|
-
* @param [locale] Optional locale name (defaults to
|
|
27
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
28
28
|
* @example
|
|
29
29
|
* import {HDate, HebrewDateEvent, months} from '@hebcal/core';
|
|
30
30
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.1, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { Locale, gematriya, months } from '@hebcal/hdate';
|
|
3
3
|
import { Event, flags } from './event.js';
|
|
4
4
|
import './locale.js';
|
|
@@ -12,7 +12,7 @@ class HebrewDateEvent extends Event {
|
|
|
12
12
|
super(date, date.toString(), flags.HEBREW_DATE);
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
* @param [locale] Optional locale name (defaults to
|
|
15
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
16
16
|
* @example
|
|
17
17
|
* import {HDate, HebrewDateEvent, months} from '@hebcal/core';
|
|
18
18
|
*
|
|
@@ -23,7 +23,7 @@ class HebrewDateEvent extends Event {
|
|
|
23
23
|
*/
|
|
24
24
|
render(locale) {
|
|
25
25
|
const locale1 = locale === null || locale === void 0 ? void 0 : locale.toLowerCase();
|
|
26
|
-
const locale0 = locale1 !== null && locale1 !== void 0 ? locale1 :
|
|
26
|
+
const locale0 = locale1 !== null && locale1 !== void 0 ? locale1 : 'en';
|
|
27
27
|
const hd = this.getDate();
|
|
28
28
|
switch (locale0) {
|
|
29
29
|
case 'h':
|
|
@@ -46,7 +46,7 @@ class HebrewDateEvent extends Event {
|
|
|
46
46
|
return gematriya(dd) + ' ' + mm;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
|
-
* @param [locale] Optional locale name (defaults to
|
|
49
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
50
50
|
* @example
|
|
51
51
|
* import {HDate, HebrewDateEvent, months} from '@hebcal/core';
|
|
52
52
|
*
|
|
@@ -57,7 +57,7 @@ class HebrewDateEvent extends Event {
|
|
|
57
57
|
*/
|
|
58
58
|
renderBrief(locale) {
|
|
59
59
|
const locale1 = locale === null || locale === void 0 ? void 0 : locale.toLowerCase();
|
|
60
|
-
const locale0 = locale1 !== null && locale1 !== void 0 ? locale1 :
|
|
60
|
+
const locale0 = locale1 !== null && locale1 !== void 0 ? locale1 : 'en';
|
|
61
61
|
const hd = this.getDate();
|
|
62
62
|
if (hd.getMonth() === months.TISHREI && hd.getDate() === 1) {
|
|
63
63
|
return this.render(locale0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HebrewDateEvent.js","sources":["../../../src/HebrewDateEvent.ts"],"sourcesContent":["import {HDate, gematriya, months, Locale} from '@hebcal/hdate';\nimport {Event, flags} from './event';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\n/** Daily Hebrew date (\"11th of Sivan, 5780\") */\nexport class HebrewDateEvent extends Event {\n /**\n * @param date\n */\n constructor(date: HDate) {\n super(date, date.toString(), flags.HEBREW_DATE);\n }\n /**\n * @param [locale] Optional locale name (defaults to
|
|
1
|
+
{"version":3,"file":"HebrewDateEvent.js","sources":["../../../src/HebrewDateEvent.ts"],"sourcesContent":["import {HDate, gematriya, months, Locale} from '@hebcal/hdate';\nimport {Event, flags} from './event';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\n/** Daily Hebrew date (\"11th of Sivan, 5780\") */\nexport class HebrewDateEvent extends Event {\n /**\n * @param date\n */\n constructor(date: HDate) {\n super(date, date.toString(), flags.HEBREW_DATE);\n }\n /**\n * @param [locale] Optional locale name (defaults to empty locale)\n * @example\n * import {HDate, HebrewDateEvent, months} from '@hebcal/core';\n *\n * const hd = new HDate(15, months.CHESHVAN, 5769);\n * const ev = new HebrewDateEvent(hd);\n * console.log(ev.render('en')); // '15th of Cheshvan, 5769'\n * console.log(ev.render('he')); // 'ט״ו חֶשְׁוָן תשס״ט'\n */\n render(locale?: string): string {\n const locale1 = locale?.toLowerCase();\n const locale0 = locale1 ?? 'en';\n const hd = this.getDate();\n switch (locale0) {\n case 'h':\n case 'he':\n return hd.renderGematriya(false);\n case 'he-x-nonikud':\n return hd.renderGematriya(true);\n default:\n return hd.render(locale0, true);\n }\n }\n /**\n * @private\n * @param locale\n */\n private renderBriefHebrew(locale: string): string {\n const hd = this.getDate();\n const dd = hd.getDate();\n const mm = Locale.gettext(hd.getMonthName(), locale);\n return gematriya(dd) + ' ' + mm;\n }\n /**\n * @param [locale] Optional locale name (defaults to empty locale)\n * @example\n * import {HDate, HebrewDateEvent, months} from '@hebcal/core';\n *\n * const hd = new HDate(15, months.CHESHVAN, 5769);\n * const ev = new HebrewDateEvent(hd);\n * console.log(ev.renderBrief()); // '15th of Cheshvan'\n * console.log(ev.renderBrief('he')); // 'ט״ו חֶשְׁוָן'\n */\n renderBrief(locale?: string): string {\n const locale1 = locale?.toLowerCase();\n const locale0 = locale1 ?? 'en';\n const hd = this.getDate();\n if (hd.getMonth() === months.TISHREI && hd.getDate() === 1) {\n return this.render(locale0);\n }\n switch (locale0) {\n case 'h':\n case 'he':\n case 'he-x-nonikud':\n return this.renderBriefHebrew(locale0);\n default:\n return hd.render(locale0, false);\n }\n }\n}\n"],"names":[],"mappings":";;;;;AAIA;AACM,MAAO,eAAgB,SAAQ,KAAK,CAAA;AACxC;;AAEG;AACH,IAAA,WAAA,CAAY,IAAW,EAAA;AACrB,QAAA,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC;IACjD;AACA;;;;;;;;;AASG;AACH,IAAA,MAAM,CAAC,MAAe,EAAA;QACpB,MAAM,OAAO,GAAG,MAAM,KAAA,IAAA,IAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,EAAE;QACrC,MAAM,OAAO,GAAG,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,MAAA,GAAP,OAAO,GAAI,IAAI;AAC/B,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QACzB,QAAQ,OAAO;AACb,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;AAClC,YAAA,KAAK,cAAc;AACjB,gBAAA,OAAO,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;AACjC,YAAA;gBACE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;;IAErC;AACA;;;AAGG;AACK,IAAA,iBAAiB,CAAC,MAAc,EAAA;AACtC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;AACzB,QAAA,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;AACvB,QAAA,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC;QACpD,OAAO,SAAS,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE;IACjC;AACA;;;;;;;;;AASG;AACH,IAAA,WAAW,CAAC,MAAe,EAAA;QACzB,MAAM,OAAO,GAAG,MAAM,KAAA,IAAA,IAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,EAAE;QACrC,MAAM,OAAO,GAAG,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,MAAA,GAAP,OAAO,GAAI,IAAI;AAC/B,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;AACzB,QAAA,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;AAC1D,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B;QACA,QAAQ,OAAO;AACb,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,IAAI;AACT,YAAA,KAAK,cAAc;AACjB,gBAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;AACxC,YAAA;gBACE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;;IAEtC;AACD;;;;"}
|
|
@@ -5,7 +5,6 @@ import './locale';
|
|
|
5
5
|
export declare class HolidayEvent extends Event {
|
|
6
6
|
/** During Sukkot or Pesach */
|
|
7
7
|
cholHaMoedDay?: number;
|
|
8
|
-
chanukahDay?: number;
|
|
9
8
|
/**
|
|
10
9
|
* `true` if the fast day was postponed a day to avoid Shabbat.
|
|
11
10
|
* - Tish'a B'Av postponed from the 9th to the 10th
|
|
@@ -19,21 +18,16 @@ export declare class HolidayEvent extends Event {
|
|
|
19
18
|
getCategories(): string[];
|
|
20
19
|
/**
|
|
21
20
|
* Returns (translated) description of this event
|
|
22
|
-
* @param [locale] Optional locale name (defaults to
|
|
21
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
23
22
|
*/
|
|
24
23
|
render(locale?: string): string;
|
|
25
24
|
/**
|
|
26
25
|
* Returns a brief (translated) description of this event.
|
|
27
26
|
* For most events, this is the same as render(). For some events, it procudes
|
|
28
27
|
* a shorter text (e.g. without a time or added description).
|
|
29
|
-
* @param [locale] Optional locale name (defaults to
|
|
28
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
30
29
|
*/
|
|
31
30
|
renderBrief(locale?: string): string;
|
|
32
|
-
/**
|
|
33
|
-
* Makes a clone of this Event object
|
|
34
|
-
* @deprecated
|
|
35
|
-
*/
|
|
36
|
-
clone(): HolidayEvent;
|
|
37
31
|
}
|
|
38
32
|
/**
|
|
39
33
|
* Because Asara B'Tevet often occurs twice in the same Gregorian year,
|
|
@@ -47,6 +41,11 @@ export declare class AsaraBTevetEvent extends HolidayEvent {
|
|
|
47
41
|
* we subclass HolidayEvent to generate the correct URL.
|
|
48
42
|
*/
|
|
49
43
|
export declare class ChanukahEvent extends HolidayEvent {
|
|
44
|
+
readonly chanukahDay?: number;
|
|
45
|
+
/**
|
|
46
|
+
* @param chanukahDay should be undefined for 1st night of Chanukah
|
|
47
|
+
*/
|
|
48
|
+
constructor(date: HDate, desc: string, mask: number, chanukahDay?: number);
|
|
50
49
|
urlDateSuffix(): string;
|
|
51
50
|
}
|
|
52
51
|
/** Represents Rosh Hashana, the Jewish New Year */
|
|
@@ -61,7 +60,7 @@ export declare class RoshHashanaEvent extends HolidayEvent {
|
|
|
61
60
|
constructor(date: HDate, hyear: number, mask: number);
|
|
62
61
|
/**
|
|
63
62
|
* Returns (translated) description of this event
|
|
64
|
-
* @param [locale] Optional locale name (defaults to
|
|
63
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
65
64
|
*/
|
|
66
65
|
render(locale?: string): string;
|
|
67
66
|
getEmoji(): string;
|
|
@@ -76,7 +75,7 @@ export declare class RoshChodeshEvent extends HolidayEvent {
|
|
|
76
75
|
constructor(date: HDate, monthName: string);
|
|
77
76
|
/**
|
|
78
77
|
* Returns (translated) description of this event
|
|
79
|
-
* @param [locale] Optional locale name (defaults to
|
|
78
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
80
79
|
*/
|
|
81
80
|
render(locale?: string): string;
|
|
82
81
|
basename(): string;
|
package/dist/esm/HolidayEvent.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.1, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { isoDateString, Locale } from '@hebcal/hdate';
|
|
3
3
|
import { Event, flags } from './event.js';
|
|
4
4
|
import { holidayDesc } from './staticHolidays.js';
|
|
@@ -18,7 +18,7 @@ class HolidayEvent extends Event {
|
|
|
18
18
|
.replace(/^Erev /, '');
|
|
19
19
|
}
|
|
20
20
|
url() {
|
|
21
|
-
const year = this.
|
|
21
|
+
const year = this.greg().getFullYear();
|
|
22
22
|
if (year < 100) {
|
|
23
23
|
return undefined;
|
|
24
24
|
}
|
|
@@ -29,7 +29,7 @@ class HolidayEvent extends Event {
|
|
|
29
29
|
return this.getFlags() & flags.IL_ONLY ? url + '?i=on' : url;
|
|
30
30
|
}
|
|
31
31
|
urlDateSuffix() {
|
|
32
|
-
const year = this.
|
|
32
|
+
const year = this.greg().getFullYear();
|
|
33
33
|
return String(year);
|
|
34
34
|
}
|
|
35
35
|
getEmoji() {
|
|
@@ -69,7 +69,7 @@ class HolidayEvent extends Event {
|
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
71
|
* Returns (translated) description of this event
|
|
72
|
-
* @param [locale] Optional locale name (defaults to
|
|
72
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
73
73
|
*/
|
|
74
74
|
render(locale) {
|
|
75
75
|
const str = super.render(locale);
|
|
@@ -79,22 +79,12 @@ class HolidayEvent extends Event {
|
|
|
79
79
|
* Returns a brief (translated) description of this event.
|
|
80
80
|
* For most events, this is the same as render(). For some events, it procudes
|
|
81
81
|
* a shorter text (e.g. without a time or added description).
|
|
82
|
-
* @param [locale] Optional locale name (defaults to
|
|
82
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
83
83
|
*/
|
|
84
84
|
renderBrief(locale) {
|
|
85
85
|
const str = super.renderBrief(locale);
|
|
86
86
|
return str.replace(/'/g, '’');
|
|
87
87
|
}
|
|
88
|
-
/**
|
|
89
|
-
* Makes a clone of this Event object
|
|
90
|
-
* @deprecated
|
|
91
|
-
*/
|
|
92
|
-
clone() {
|
|
93
|
-
const ev = new HolidayEvent(this.date, this.desc, this.mask);
|
|
94
|
-
// overwrite all enumerable properties
|
|
95
|
-
Object.assign(ev, this);
|
|
96
|
-
return ev;
|
|
97
|
-
}
|
|
98
88
|
}
|
|
99
89
|
/**
|
|
100
90
|
* Because Asara B'Tevet often occurs twice in the same Gregorian year,
|
|
@@ -102,17 +92,42 @@ class HolidayEvent extends Event {
|
|
|
102
92
|
*/
|
|
103
93
|
class AsaraBTevetEvent extends HolidayEvent {
|
|
104
94
|
urlDateSuffix() {
|
|
105
|
-
const isoDate = isoDateString(this.
|
|
95
|
+
const isoDate = isoDateString(this.greg());
|
|
106
96
|
return isoDate.replace(/-/g, '');
|
|
107
97
|
}
|
|
108
98
|
}
|
|
99
|
+
const chanukahEmoji = '🕎';
|
|
100
|
+
const KEYCAP_DIGITS = [
|
|
101
|
+
'0️⃣',
|
|
102
|
+
'1️⃣',
|
|
103
|
+
'2️⃣',
|
|
104
|
+
'3️⃣',
|
|
105
|
+
'4️⃣',
|
|
106
|
+
'5️⃣',
|
|
107
|
+
'6️⃣',
|
|
108
|
+
'7️⃣',
|
|
109
|
+
'8️⃣',
|
|
110
|
+
'9️⃣',
|
|
111
|
+
];
|
|
109
112
|
/**
|
|
110
113
|
* Because Chanukah sometimes starts in December and ends in January,
|
|
111
114
|
* we subclass HolidayEvent to generate the correct URL.
|
|
112
115
|
*/
|
|
113
116
|
class ChanukahEvent extends HolidayEvent {
|
|
117
|
+
/**
|
|
118
|
+
* @param chanukahDay should be undefined for 1st night of Chanukah
|
|
119
|
+
*/
|
|
120
|
+
constructor(date, desc, mask, chanukahDay) {
|
|
121
|
+
super(date, desc, mask);
|
|
122
|
+
this.chanukahDay = chanukahDay;
|
|
123
|
+
this.emoji = chanukahEmoji;
|
|
124
|
+
if (chanukahDay !== 8) {
|
|
125
|
+
const candles = chanukahDay ? chanukahDay + 1 : 1;
|
|
126
|
+
this.emoji += KEYCAP_DIGITS[candles];
|
|
127
|
+
}
|
|
128
|
+
}
|
|
114
129
|
urlDateSuffix() {
|
|
115
|
-
const dt = this.
|
|
130
|
+
const dt = this.greg();
|
|
116
131
|
let year = dt.getFullYear();
|
|
117
132
|
if (dt.getMonth() === 0) {
|
|
118
133
|
year--;
|
|
@@ -134,7 +149,7 @@ class RoshHashanaEvent extends HolidayEvent {
|
|
|
134
149
|
}
|
|
135
150
|
/**
|
|
136
151
|
* Returns (translated) description of this event
|
|
137
|
-
* @param [locale] Optional locale name (defaults to
|
|
152
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
138
153
|
*/
|
|
139
154
|
render(locale) {
|
|
140
155
|
return Locale.gettext('Rosh Hashana', locale) + ' ' + this.hyear;
|
|
@@ -156,7 +171,7 @@ class RoshChodeshEvent extends HolidayEvent {
|
|
|
156
171
|
}
|
|
157
172
|
/**
|
|
158
173
|
* Returns (translated) description of this event
|
|
159
|
-
* @param [locale] Optional locale name (defaults to
|
|
174
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
160
175
|
*/
|
|
161
176
|
render(locale) {
|
|
162
177
|
const monthName = this.getDesc().substring(roshChodeshStr.length + 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HolidayEvent.js","sources":["../../../src/HolidayEvent.ts"],"sourcesContent":["import {HDate, Locale, isoDateString} from '@hebcal/hdate';\nimport {Event, flags} from './event';\nimport {holidayDesc as hdesc} from './staticHolidays';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\n/** Represents a built-in holiday like Pesach, Purim or Tu BiShvat */\nexport class HolidayEvent extends Event {\n /** During Sukkot or Pesach */\n cholHaMoedDay?: number;\n chanukahDay?: number;\n /**\n * `true` if the fast day was postponed a day to avoid Shabbat.\n * - Tish'a B'Av postponed from the 9th to the 10th\n * - Tzom Tammuz postponed from the 17th to the 18th\n */\n observed?: boolean;\n\n basename(): string {\n return this.getDesc()\n .replace(/ \\d{4}$/, '')\n .replace(/ \\(CH''M\\)$/, '')\n .replace(/ \\(observed\\)$/, '')\n .replace(/ \\(Hoshana Raba\\)$/, '')\n .replace(/ [IV]+$/, '')\n .replace(/: \\d Candles?$/, '')\n .replace(/: 8th Day$/, '')\n .replace(/^Erev /, '');\n }\n\n url(): string | undefined {\n const year = this.getDate().greg().getFullYear();\n if (year < 100) {\n return undefined;\n }\n const url =\n 'https://www.hebcal.com/holidays/' +\n this.basename().toLowerCase().replace(/'/g, '').replace(/ /g, '-') +\n '-' +\n this.urlDateSuffix();\n return this.getFlags() & flags.IL_ONLY ? url + '?i=on' : url;\n }\n\n urlDateSuffix(): string {\n const year = this.getDate().greg().getFullYear();\n return String(year);\n }\n\n getEmoji(): string {\n if (this.emoji) {\n return this.emoji;\n } else if (this.getFlags() & flags.SPECIAL_SHABBAT) {\n return '🕍';\n } else {\n return '✡️';\n }\n }\n\n getCategories(): string[] {\n if (this.cholHaMoedDay) {\n return ['holiday', 'major', 'cholhamoed'];\n }\n const cats = super.getCategories();\n if (cats[0] !== 'unknown') {\n return cats;\n }\n // Don't depend on flags.MINOR_HOLIDAY always being set. Look for minor holidays.\n const desc = this.getDesc();\n switch (desc) {\n case hdesc.LAG_BAOMER:\n case hdesc.LEIL_SELICHOT:\n case hdesc.PESACH_SHENI:\n case hdesc.EREV_PURIM:\n case hdesc.PURIM_KATAN:\n case hdesc.SHUSHAN_PURIM:\n case hdesc.TU_BAV:\n case hdesc.TU_BISHVAT:\n case hdesc.ROSH_HASHANA_LABEHEMOT:\n return ['holiday', 'minor'];\n }\n\n return ['holiday', 'major'];\n }\n /**\n * Returns (translated) description of this event\n * @param [locale] Optional locale name (defaults to active locale).\n */\n render(locale?: string): string {\n const str = super.render(locale);\n return str.replace(/'/g, '’');\n }\n /**\n * Returns a brief (translated) description of this event.\n * For most events, this is the same as render(). For some events, it procudes\n * a shorter text (e.g. without a time or added description).\n * @param [locale] Optional locale name (defaults to active locale).\n */\n renderBrief(locale?: string): string {\n const str = super.renderBrief(locale);\n return str.replace(/'/g, '’');\n }\n /**\n * Makes a clone of this Event object\n * @deprecated\n */\n clone(): HolidayEvent {\n const ev = new HolidayEvent(this.date, this.desc, this.mask);\n // overwrite all enumerable properties\n Object.assign(ev, this);\n return ev;\n }\n}\n\n/**\n * Because Asara B'Tevet often occurs twice in the same Gregorian year,\n * we subclass HolidayEvent to generate the correct URL.\n */\nexport class AsaraBTevetEvent extends HolidayEvent {\n urlDateSuffix(): string {\n const isoDate = isoDateString(this.getDate().greg());\n return isoDate.replace(/-/g, '');\n }\n}\n\n/**\n * Because Chanukah sometimes starts in December and ends in January,\n * we subclass HolidayEvent to generate the correct URL.\n */\nexport class ChanukahEvent extends HolidayEvent {\n urlDateSuffix(): string {\n const dt = this.getDate().greg();\n let year = dt.getFullYear();\n if (dt.getMonth() === 0) {\n year--;\n }\n return String(year);\n }\n}\n\n/** Represents Rosh Hashana, the Jewish New Year */\nexport class RoshHashanaEvent extends HolidayEvent {\n private readonly hyear: number;\n /**\n * @private\n * @param date Hebrew date event occurs\n * @param hyear Hebrew year\n * @param mask optional holiday flags\n */\n constructor(date: HDate, hyear: number, mask: number) {\n super(date, `Rosh Hashana ${hyear}`, mask);\n this.hyear = hyear;\n }\n /**\n * Returns (translated) description of this event\n * @param [locale] Optional locale name (defaults to active locale).\n */\n render(locale?: string): string {\n return Locale.gettext('Rosh Hashana', locale) + ' ' + this.hyear;\n }\n\n getEmoji(): string {\n return '🍏🍯';\n }\n}\n\nconst roshChodeshStr = 'Rosh Chodesh';\n\n/** Represents Rosh Chodesh, the beginning of a new month */\nexport class RoshChodeshEvent extends HolidayEvent {\n /**\n * Constructs Rosh Chodesh event\n * @param date Hebrew date event occurs\n * @param monthName Hebrew month name (not translated)\n */\n constructor(date: HDate, monthName: string) {\n super(date, `${roshChodeshStr} ${monthName}`, flags.ROSH_CHODESH);\n }\n /**\n * Returns (translated) description of this event\n * @param [locale] Optional locale name (defaults to active locale).\n */\n render(locale?: string): string {\n const monthName = this.getDesc().substring(roshChodeshStr.length + 1);\n const monthName0 = Locale.gettext(monthName, locale);\n const monthName1 = monthName0.replace(/'/g, '’');\n return Locale.gettext(roshChodeshStr, locale) + ' ' + monthName1;\n }\n\n basename(): string {\n return this.getDesc();\n }\n\n getEmoji(): string {\n return this.emoji || '🌒';\n }\n}\n"],"names":["hdesc"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HolidayEvent.js","sources":["../../../src/HolidayEvent.ts"],"sourcesContent":["import {HDate, Locale, isoDateString} from '@hebcal/hdate';\nimport {Event, flags} from './event';\nimport {holidayDesc as hdesc} from './staticHolidays';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\n/** Represents a built-in holiday like Pesach, Purim or Tu BiShvat */\nexport class HolidayEvent extends Event {\n /** During Sukkot or Pesach */\n cholHaMoedDay?: number;\n /**\n * `true` if the fast day was postponed a day to avoid Shabbat.\n * - Tish'a B'Av postponed from the 9th to the 10th\n * - Tzom Tammuz postponed from the 17th to the 18th\n */\n observed?: boolean;\n\n basename(): string {\n return this.getDesc()\n .replace(/ \\d{4}$/, '')\n .replace(/ \\(CH''M\\)$/, '')\n .replace(/ \\(observed\\)$/, '')\n .replace(/ \\(Hoshana Raba\\)$/, '')\n .replace(/ [IV]+$/, '')\n .replace(/: \\d Candles?$/, '')\n .replace(/: 8th Day$/, '')\n .replace(/^Erev /, '');\n }\n\n url(): string | undefined {\n const year = this.greg().getFullYear();\n if (year < 100) {\n return undefined;\n }\n const url =\n 'https://www.hebcal.com/holidays/' +\n this.basename().toLowerCase().replace(/'/g, '').replace(/ /g, '-') +\n '-' +\n this.urlDateSuffix();\n return this.getFlags() & flags.IL_ONLY ? url + '?i=on' : url;\n }\n\n urlDateSuffix(): string {\n const year = this.greg().getFullYear();\n return String(year);\n }\n\n getEmoji(): string {\n if (this.emoji) {\n return this.emoji;\n } else if (this.getFlags() & flags.SPECIAL_SHABBAT) {\n return '🕍';\n } else {\n return '✡️';\n }\n }\n\n getCategories(): string[] {\n if (this.cholHaMoedDay) {\n return ['holiday', 'major', 'cholhamoed'];\n }\n const cats = super.getCategories();\n if (cats[0] !== 'unknown') {\n return cats;\n }\n // Don't depend on flags.MINOR_HOLIDAY always being set. Look for minor holidays.\n const desc = this.getDesc();\n switch (desc) {\n case hdesc.LAG_BAOMER:\n case hdesc.LEIL_SELICHOT:\n case hdesc.PESACH_SHENI:\n case hdesc.EREV_PURIM:\n case hdesc.PURIM_KATAN:\n case hdesc.SHUSHAN_PURIM:\n case hdesc.TU_BAV:\n case hdesc.TU_BISHVAT:\n case hdesc.ROSH_HASHANA_LABEHEMOT:\n return ['holiday', 'minor'];\n }\n\n return ['holiday', 'major'];\n }\n /**\n * Returns (translated) description of this event\n * @param [locale] Optional locale name (defaults to empty locale)\n */\n render(locale?: string): string {\n const str = super.render(locale);\n return str.replace(/'/g, '’');\n }\n /**\n * Returns a brief (translated) description of this event.\n * For most events, this is the same as render(). For some events, it procudes\n * a shorter text (e.g. without a time or added description).\n * @param [locale] Optional locale name (defaults to empty locale)\n */\n renderBrief(locale?: string): string {\n const str = super.renderBrief(locale);\n return str.replace(/'/g, '’');\n }\n}\n\n/**\n * Because Asara B'Tevet often occurs twice in the same Gregorian year,\n * we subclass HolidayEvent to generate the correct URL.\n */\nexport class AsaraBTevetEvent extends HolidayEvent {\n urlDateSuffix(): string {\n const isoDate = isoDateString(this.greg());\n return isoDate.replace(/-/g, '');\n }\n}\n\nconst chanukahEmoji = '🕎';\nconst KEYCAP_DIGITS = [\n '0️⃣',\n '1️⃣',\n '2️⃣',\n '3️⃣',\n '4️⃣',\n '5️⃣',\n '6️⃣',\n '7️⃣',\n '8️⃣',\n '9️⃣',\n] as const;\n\n/**\n * Because Chanukah sometimes starts in December and ends in January,\n * we subclass HolidayEvent to generate the correct URL.\n */\nexport class ChanukahEvent extends HolidayEvent {\n readonly chanukahDay?: number;\n /**\n * @param chanukahDay should be undefined for 1st night of Chanukah\n */\n constructor(date: HDate, desc: string, mask: number, chanukahDay?: number) {\n super(date, desc, mask);\n this.chanukahDay = chanukahDay;\n this.emoji = chanukahEmoji;\n if (chanukahDay !== 8) {\n const candles = chanukahDay ? chanukahDay + 1 : 1;\n this.emoji += KEYCAP_DIGITS[candles];\n }\n }\n urlDateSuffix(): string {\n const dt = this.greg();\n let year = dt.getFullYear();\n if (dt.getMonth() === 0) {\n year--;\n }\n return String(year);\n }\n}\n\n/** Represents Rosh Hashana, the Jewish New Year */\nexport class RoshHashanaEvent extends HolidayEvent {\n private readonly hyear: number;\n /**\n * @private\n * @param date Hebrew date event occurs\n * @param hyear Hebrew year\n * @param mask optional holiday flags\n */\n constructor(date: HDate, hyear: number, mask: number) {\n super(date, `Rosh Hashana ${hyear}`, mask);\n this.hyear = hyear;\n }\n /**\n * Returns (translated) description of this event\n * @param [locale] Optional locale name (defaults to empty locale)\n */\n render(locale?: string): string {\n return Locale.gettext('Rosh Hashana', locale) + ' ' + this.hyear;\n }\n\n getEmoji(): string {\n return '🍏🍯';\n }\n}\n\nconst roshChodeshStr = 'Rosh Chodesh';\n\n/** Represents Rosh Chodesh, the beginning of a new month */\nexport class RoshChodeshEvent extends HolidayEvent {\n /**\n * Constructs Rosh Chodesh event\n * @param date Hebrew date event occurs\n * @param monthName Hebrew month name (not translated)\n */\n constructor(date: HDate, monthName: string) {\n super(date, `${roshChodeshStr} ${monthName}`, flags.ROSH_CHODESH);\n }\n /**\n * Returns (translated) description of this event\n * @param [locale] Optional locale name (defaults to empty locale)\n */\n render(locale?: string): string {\n const monthName = this.getDesc().substring(roshChodeshStr.length + 1);\n const monthName0 = Locale.gettext(monthName, locale);\n const monthName1 = monthName0.replace(/'/g, '’');\n return Locale.gettext(roshChodeshStr, locale) + ' ' + monthName1;\n }\n\n basename(): string {\n return this.getDesc();\n }\n\n getEmoji(): string {\n return this.emoji || '🌒';\n }\n}\n"],"names":["hdesc"],"mappings":";;;;;;AAKA;AACM,MAAO,YAAa,SAAQ,KAAK,CAAA;IAUrC,QAAQ,GAAA;QACN,OAAO,IAAI,CAAC,OAAO;AAChB,aAAA,OAAO,CAAC,SAAS,EAAE,EAAE;AACrB,aAAA,OAAO,CAAC,aAAa,EAAE,EAAE;AACzB,aAAA,OAAO,CAAC,gBAAgB,EAAE,EAAE;AAC5B,aAAA,OAAO,CAAC,oBAAoB,EAAE,EAAE;AAChC,aAAA,OAAO,CAAC,SAAS,EAAE,EAAE;AACrB,aAAA,OAAO,CAAC,gBAAgB,EAAE,EAAE;AAC5B,aAAA,OAAO,CAAC,YAAY,EAAE,EAAE;AACxB,aAAA,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC1B;IAEA,GAAG,GAAA;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;AACtC,QAAA,IAAI,IAAI,GAAG,GAAG,EAAE;AACd,YAAA,OAAO,SAAS;QAClB;QACA,MAAM,GAAG,GACP,kCAAkC;AAClC,YAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;YAClE,GAAG;YACH,IAAI,CAAC,aAAa,EAAE;AACtB,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG;IAC9D;IAEA,aAAa,GAAA;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;AACtC,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,IAAI,CAAC,KAAK;QACnB;aAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,eAAe,EAAE;AAClD,YAAA,OAAO,IAAI;QACb;aAAO;AACL,YAAA,OAAO,IAAI;QACb;IACF;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC;QAC3C;AACA,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,EAAE;AAClC,QAAA,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;AACzB,YAAA,OAAO,IAAI;QACb;;AAEA,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;QAC3B,QAAQ,IAAI;YACV,KAAKA,WAAK,CAAC,UAAU;YACrB,KAAKA,WAAK,CAAC,aAAa;YACxB,KAAKA,WAAK,CAAC,YAAY;YACvB,KAAKA,WAAK,CAAC,UAAU;YACrB,KAAKA,WAAK,CAAC,WAAW;YACtB,KAAKA,WAAK,CAAC,aAAa;YACxB,KAAKA,WAAK,CAAC,MAAM;YACjB,KAAKA,WAAK,CAAC,UAAU;YACrB,KAAKA,WAAK,CAAC,sBAAsB;AAC/B,gBAAA,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;;AAG/B,QAAA,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;IAC7B;AACA;;;AAGG;AACH,IAAA,MAAM,CAAC,MAAe,EAAA;QACpB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QAChC,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;IAC/B;AACA;;;;;AAKG;AACH,IAAA,WAAW,CAAC,MAAe,EAAA;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;QACrC,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;IAC/B;AACD;AAED;;;AAGG;AACG,MAAO,gBAAiB,SAAQ,YAAY,CAAA;IAChD,aAAa,GAAA;QACX,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IAClC;AACD;AAED,MAAM,aAAa,GAAG,IAAI;AAC1B,MAAM,aAAa,GAAG;IACpB,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACG;AAEV;;;AAGG;AACG,MAAO,aAAc,SAAQ,YAAY,CAAA;AAE7C;;AAEG;AACH,IAAA,WAAA,CAAY,IAAW,EAAE,IAAY,EAAE,IAAY,EAAE,WAAoB,EAAA;AACvE,QAAA,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,aAAa;AAC1B,QAAA,IAAI,WAAW,KAAK,CAAC,EAAE;AACrB,YAAA,MAAM,OAAO,GAAG,WAAW,GAAG,WAAW,GAAG,CAAC,GAAG,CAAC;AACjD,YAAA,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC;QACtC;IACF;IACA,aAAa,GAAA;AACX,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;AACtB,QAAA,IAAI,IAAI,GAAG,EAAE,CAAC,WAAW,EAAE;AAC3B,QAAA,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;AACvB,YAAA,IAAI,EAAE;QACR;AACA,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB;AACD;AAED;AACM,MAAO,gBAAiB,SAAQ,YAAY,CAAA;AAEhD;;;;;AAKG;AACH,IAAA,WAAA,CAAY,IAAW,EAAE,KAAa,EAAE,IAAY,EAAA;QAClD,KAAK,CAAC,IAAI,EAAE,CAAA,aAAA,EAAgB,KAAK,CAAA,CAAE,EAAE,IAAI,CAAC;AAC1C,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;AACA;;;AAGG;AACH,IAAA,MAAM,CAAC,MAAe,EAAA;AACpB,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK;IAClE;IAEA,QAAQ,GAAA;AACN,QAAA,OAAO,MAAM;IACf;AACD;AAED,MAAM,cAAc,GAAG,cAAc;AAErC;AACM,MAAO,gBAAiB,SAAQ,YAAY,CAAA;AAChD;;;;AAIG;IACH,WAAA,CAAY,IAAW,EAAE,SAAiB,EAAA;AACxC,QAAA,KAAK,CAAC,IAAI,EAAE,CAAA,EAAG,cAAc,CAAA,CAAA,EAAI,SAAS,CAAA,CAAE,EAAE,KAAK,CAAC,YAAY,CAAC;IACnE;AACA;;;AAGG;AACH,IAAA,MAAM,CAAC,MAAe,EAAA;AACpB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;QACpD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;AAChD,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,UAAU;IAClE;IAEA,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE;IACvB;IAEA,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI;IAC3B;AACD;;;;"}
|
|
@@ -15,12 +15,12 @@ export declare class MevarchimChodeshEvent extends Event {
|
|
|
15
15
|
basename(): string;
|
|
16
16
|
/**
|
|
17
17
|
* Returns (translated) description of this event
|
|
18
|
-
* @param [locale] Optional locale name (defaults to
|
|
18
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
19
19
|
*/
|
|
20
20
|
render(locale?: string): string;
|
|
21
21
|
/**
|
|
22
22
|
* Returns (translated) description of this event
|
|
23
|
-
* @param [locale] Optional locale name (defaults to
|
|
23
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
24
24
|
*/
|
|
25
25
|
renderBrief(locale?: string): string;
|
|
26
26
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.1, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { Locale, HDate, months } from '@hebcal/hdate';
|
|
3
3
|
import { Event, flags } from './event.js';
|
|
4
4
|
import { Molad } from './molad.js';
|
|
@@ -33,7 +33,7 @@ class MevarchimChodeshEvent extends Event {
|
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Returns (translated) description of this event
|
|
36
|
-
* @param [locale] Optional locale name (defaults to
|
|
36
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
37
37
|
*/
|
|
38
38
|
render(locale) {
|
|
39
39
|
const monthName0 = Locale.gettext(this.monthName, locale);
|
|
@@ -42,7 +42,7 @@ class MevarchimChodeshEvent extends Event {
|
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* Returns (translated) description of this event
|
|
45
|
-
* @param [locale] Optional locale name (defaults to
|
|
45
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
46
46
|
*/
|
|
47
47
|
renderBrief(locale) {
|
|
48
48
|
const str = this.render(locale);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MevarchimChodeshEvent.js","sources":["../../../src/MevarchimChodeshEvent.ts"],"sourcesContent":["import {HDate, Locale, months} from '@hebcal/hdate';\nimport {Event, flags} from './event';\nimport {Molad} from './molad';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\nconst mevarchimChodeshStr = 'Shabbat Mevarchim Chodesh';\n\n/** Represents Mevarchim haChodesh, the announcement of the new month */\nexport class MevarchimChodeshEvent extends Event {\n readonly monthName: string;\n /**\n * Constructs Mevarchim haChodesh event\n * @param date Hebrew date event occurs\n * @param monthName Hebrew month name (not translated)\n * @param [memo]\n * @param locale Optional locale name\n */\n constructor(date: HDate, monthName: string, memo: string, locale?: string) {\n super(date, `${mevarchimChodeshStr} ${monthName}`, flags.SHABBAT_MEVARCHIM);\n this.monthName = Locale.gettext(monthName, locale);\n if (memo) {\n this.memo = memo;\n } else {\n const hyear = date.getFullYear();\n const hmonth = date.getMonth();\n const monNext =\n hmonth === HDate.monthsInYear(hyear) ? months.NISAN : hmonth + 1;\n const molad = new Molad(hyear, monNext);\n this.memo = molad.render('en', {hour12: false});\n }\n }\n\n basename(): string {\n return this.getDesc();\n }\n /**\n * Returns (translated) description of this event\n * @param [locale] Optional locale name (defaults to
|
|
1
|
+
{"version":3,"file":"MevarchimChodeshEvent.js","sources":["../../../src/MevarchimChodeshEvent.ts"],"sourcesContent":["import {HDate, Locale, months} from '@hebcal/hdate';\nimport {Event, flags} from './event';\nimport {Molad} from './molad';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\nconst mevarchimChodeshStr = 'Shabbat Mevarchim Chodesh';\n\n/** Represents Mevarchim haChodesh, the announcement of the new month */\nexport class MevarchimChodeshEvent extends Event {\n readonly monthName: string;\n /**\n * Constructs Mevarchim haChodesh event\n * @param date Hebrew date event occurs\n * @param monthName Hebrew month name (not translated)\n * @param [memo]\n * @param locale Optional locale name\n */\n constructor(date: HDate, monthName: string, memo: string, locale?: string) {\n super(date, `${mevarchimChodeshStr} ${monthName}`, flags.SHABBAT_MEVARCHIM);\n this.monthName = Locale.gettext(monthName, locale);\n if (memo) {\n this.memo = memo;\n } else {\n const hyear = date.getFullYear();\n const hmonth = date.getMonth();\n const monNext =\n hmonth === HDate.monthsInYear(hyear) ? months.NISAN : hmonth + 1;\n const molad = new Molad(hyear, monNext);\n this.memo = molad.render('en', {hour12: false});\n }\n }\n\n basename(): string {\n return this.getDesc();\n }\n /**\n * Returns (translated) description of this event\n * @param [locale] Optional locale name (defaults to empty locale)\n */\n render(locale?: string): string {\n const monthName0 = Locale.gettext(this.monthName, locale);\n const monthName = monthName0.replace(/'/g, '’');\n return Locale.gettext(mevarchimChodeshStr, locale) + ' ' + monthName;\n }\n /**\n * Returns (translated) description of this event\n * @param [locale] Optional locale name (defaults to empty locale)\n */\n renderBrief(locale?: string): string {\n const str = this.render(locale);\n const space = str.indexOf(' ');\n return str.substring(space + 1);\n }\n}\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,mBAAmB,GAAG,2BAA2B;AAEvD;AACM,MAAO,qBAAsB,SAAQ,KAAK,CAAA;AAE9C;;;;;;AAMG;AACH,IAAA,WAAA,CAAY,IAAW,EAAE,SAAiB,EAAE,IAAY,EAAE,MAAe,EAAA;AACvE,QAAA,KAAK,CAAC,IAAI,EAAE,CAAA,EAAG,mBAAmB,CAAA,CAAA,EAAI,SAAS,CAAA,CAAE,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3E,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;QAClD,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAClB;aAAO;AACL,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE;AAChC,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC9B,MAAM,OAAO,GACX,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC;YAClE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;AACvC,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC;QACjD;IACF;IAEA,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE;IACvB;AACA;;;AAGG;AACH,IAAA,MAAM,CAAC,MAAe,EAAA;AACpB,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;QACzD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;AAC/C,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,SAAS;IACtE;AACA;;;AAGG;AACH,IAAA,WAAW,CAAC,MAAe,EAAA;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QAC9B,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;IACjC;AACD;;;;"}
|
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
import { Event } from './event';
|
|
2
|
-
import {
|
|
2
|
+
import { SedraResult } from './sedra';
|
|
3
3
|
import './locale';
|
|
4
4
|
/**
|
|
5
5
|
* Represents one of 54 weekly Torah portions, always on a Saturday
|
|
6
6
|
*/
|
|
7
7
|
export declare class ParshaEvent extends Event {
|
|
8
|
-
readonly
|
|
9
|
-
|
|
10
|
-
readonly num: number | number[];
|
|
8
|
+
readonly p: SedraResult;
|
|
9
|
+
constructor(parsha: SedraResult);
|
|
11
10
|
/**
|
|
12
|
-
* @param
|
|
13
|
-
* such as ['Bereshit'] or ['Achrei Mot', 'Kedoshim']
|
|
14
|
-
*/
|
|
15
|
-
constructor(date: HDate, parsha: string[], il?: boolean, num?: number | number[]);
|
|
16
|
-
/**
|
|
17
|
-
* @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
|
|
11
|
+
* @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to empty locale.
|
|
18
12
|
*/
|
|
19
13
|
render(locale?: string): string;
|
|
20
14
|
basename(): string;
|
package/dist/esm/ParshaEvent.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.1, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { Event, flags } from './event.js';
|
|
3
3
|
import { isoDateString } from '@hebcal/hdate';
|
|
4
4
|
import { renderParshaName } from './parshaName.js';
|
|
@@ -8,31 +8,22 @@ import './locale.js';
|
|
|
8
8
|
* Represents one of 54 weekly Torah portions, always on a Saturday
|
|
9
9
|
*/
|
|
10
10
|
class ParshaEvent extends Event {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
constructor(date, parsha, il = false, num = -1) {
|
|
16
|
-
if (!Array.isArray(parsha) || parsha.length === 0 || parsha.length > 2) {
|
|
17
|
-
throw new TypeError('Bad parsha argument');
|
|
18
|
-
}
|
|
19
|
-
const desc = 'Parashat ' + parsha.join('-');
|
|
20
|
-
super(date, desc, flags.PARSHA_HASHAVUA);
|
|
21
|
-
this.parsha = parsha;
|
|
22
|
-
this.il = Boolean(il);
|
|
23
|
-
this.num = num || -1;
|
|
11
|
+
constructor(parsha) {
|
|
12
|
+
const desc = 'Parashat ' + parsha.parsha.join('-');
|
|
13
|
+
super(parsha.hdate, desc, flags.PARSHA_HASHAVUA);
|
|
14
|
+
this.p = parsha;
|
|
24
15
|
}
|
|
25
16
|
/**
|
|
26
|
-
* @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to
|
|
17
|
+
* @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to empty locale.
|
|
27
18
|
*/
|
|
28
19
|
render(locale) {
|
|
29
|
-
return renderParshaName(this.parsha, locale);
|
|
20
|
+
return renderParshaName(this.p.parsha, locale);
|
|
30
21
|
}
|
|
31
22
|
basename() {
|
|
32
|
-
return this.parsha.join('-');
|
|
23
|
+
return this.p.parsha.join('-');
|
|
33
24
|
}
|
|
34
25
|
url() {
|
|
35
|
-
const year = this.
|
|
26
|
+
const year = this.greg().getFullYear();
|
|
36
27
|
if (year < 100) {
|
|
37
28
|
return undefined;
|
|
38
29
|
}
|
|
@@ -41,10 +32,10 @@ class ParshaEvent extends Event {
|
|
|
41
32
|
this.basename().toLowerCase().replace(/'/g, '').replace(/ /g, '-') +
|
|
42
33
|
'-' +
|
|
43
34
|
dt;
|
|
44
|
-
return this.il ? url + '?i=on' : url;
|
|
35
|
+
return this.p.il ? url + '?i=on' : url;
|
|
45
36
|
}
|
|
46
37
|
urlDateSuffix() {
|
|
47
|
-
const isoDate = isoDateString(this.
|
|
38
|
+
const isoDate = isoDateString(this.greg());
|
|
48
39
|
return isoDate.replace(/-/g, '');
|
|
49
40
|
}
|
|
50
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParshaEvent.js","sources":["../../../src/ParshaEvent.ts"],"sourcesContent":["import {Event, flags} from './event';\nimport {
|
|
1
|
+
{"version":3,"file":"ParshaEvent.js","sources":["../../../src/ParshaEvent.ts"],"sourcesContent":["import {Event, flags} from './event';\nimport {isoDateString} from '@hebcal/hdate';\nimport {renderParshaName} from './parshaName';\nimport {SedraResult} from './sedra';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\n/**\n * Represents one of 54 weekly Torah portions, always on a Saturday\n */\nexport class ParshaEvent extends Event {\n readonly p: SedraResult;\n constructor(parsha: SedraResult) {\n const desc = 'Parashat ' + parsha.parsha.join('-');\n super(parsha.hdate, desc, flags.PARSHA_HASHAVUA);\n this.p = parsha;\n }\n /**\n * @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to empty locale.\n */\n render(locale?: string): string {\n return renderParshaName(this.p.parsha, locale);\n }\n\n basename(): string {\n return this.p.parsha.join('-');\n }\n\n url(): string | undefined {\n const year = this.greg().getFullYear();\n if (year < 100) {\n return undefined;\n }\n const dt = this.urlDateSuffix();\n const url =\n 'https://www.hebcal.com/sedrot/' +\n this.basename().toLowerCase().replace(/'/g, '').replace(/ /g, '-') +\n '-' +\n dt;\n return this.p.il ? url + '?i=on' : url;\n }\n\n urlDateSuffix(): string {\n const isoDate = isoDateString(this.greg());\n return isoDate.replace(/-/g, '');\n }\n}\n"],"names":[],"mappings":";;;;;;AAMA;;AAEG;AACG,MAAO,WAAY,SAAQ,KAAK,CAAA;AAEpC,IAAA,WAAA,CAAY,MAAmB,EAAA;AAC7B,QAAA,MAAM,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAClD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC;AAChD,QAAA,IAAI,CAAC,CAAC,GAAG,MAAM;IACjB;AACA;;AAEG;AACH,IAAA,MAAM,CAAC,MAAe,EAAA;QACpB,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC;IAChD;IAEA,QAAQ,GAAA;QACN,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAChC;IAEA,GAAG,GAAA;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;AACtC,QAAA,IAAI,IAAI,GAAG,GAAG,EAAE;AACd,YAAA,OAAO,SAAS;QAClB;AACA,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE;QAC/B,MAAM,GAAG,GACP,gCAAgC;AAChC,YAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;YAClE,GAAG;AACH,YAAA,EAAE;AACJ,QAAA,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG;IACxC;IAEA,aAAa,GAAA;QACX,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IAClC;AACD;;;;"}
|
package/dist/esm/TimedEvent.d.ts
CHANGED
|
@@ -15,12 +15,12 @@ export declare class TimedEvent extends Event {
|
|
|
15
15
|
*/
|
|
16
16
|
constructor(date: HDate, desc: string, mask: number, eventTime: Date, location: Location, linkedEvent?: Event, options?: CalOptions);
|
|
17
17
|
/**
|
|
18
|
-
* @param [locale] Optional locale name (defaults to
|
|
18
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
19
19
|
*/
|
|
20
20
|
render(locale?: string): string;
|
|
21
21
|
/**
|
|
22
22
|
* Returns translation of "Candle lighting" without the time.
|
|
23
|
-
* @param [locale] Optional locale name (defaults to
|
|
23
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
24
24
|
*/
|
|
25
25
|
renderBrief(locale?: string): string;
|
|
26
26
|
getCategories(): string[];
|
|
@@ -35,12 +35,12 @@ export declare class HavdalahEvent extends TimedEvent {
|
|
|
35
35
|
private readonly havdalahMins?;
|
|
36
36
|
constructor(date: HDate, mask: number, eventTime: Date, location: Location, havdalahMins?: number, linkedEvent?: Event, options?: CalOptions);
|
|
37
37
|
/**
|
|
38
|
-
* @param [locale] Optional locale name (defaults to
|
|
38
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
39
39
|
*/
|
|
40
40
|
render(locale?: string): string;
|
|
41
41
|
/**
|
|
42
42
|
* Returns translation of "Havdalah" without the time.
|
|
43
|
-
* @param [locale] Optional locale name (defaults to
|
|
43
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
44
44
|
*/
|
|
45
45
|
renderBrief(locale?: string): string;
|
|
46
46
|
getEmoji(): string;
|
package/dist/esm/TimedEvent.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core
|
|
1
|
+
/*! @hebcal/core v6.0.1, distributed under GPLv2 https://www.gnu.org/licenses/gpl-2.0.txt */
|
|
2
2
|
import { Locale } from '@hebcal/hdate';
|
|
3
3
|
import { Event } from './event.js';
|
|
4
4
|
import { reformatTimeStr } from './reformatTimeStr.js';
|
|
@@ -23,14 +23,14 @@ class TimedEvent extends Event {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
* @param [locale] Optional locale name (defaults to
|
|
26
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
27
27
|
*/
|
|
28
28
|
render(locale) {
|
|
29
29
|
return Locale.gettext(this.getDesc(), locale) + ': ' + this.fmtTime;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
32
|
* Returns translation of "Candle lighting" without the time.
|
|
33
|
-
* @param [locale] Optional locale name (defaults to
|
|
33
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
34
34
|
*/
|
|
35
35
|
renderBrief(locale) {
|
|
36
36
|
return Locale.gettext(this.getDesc(), locale);
|
|
@@ -71,14 +71,14 @@ class HavdalahEvent extends TimedEvent {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
|
-
* @param [locale] Optional locale name (defaults to
|
|
74
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
75
75
|
*/
|
|
76
76
|
render(locale) {
|
|
77
77
|
return this.renderBrief(locale) + ': ' + this.fmtTime;
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
80
80
|
* Returns translation of "Havdalah" without the time.
|
|
81
|
-
* @param [locale] Optional locale name (defaults to
|
|
81
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
82
82
|
*/
|
|
83
83
|
renderBrief(locale) {
|
|
84
84
|
let str = Locale.gettext(this.getDesc(), locale);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimedEvent.js","sources":["../../../src/TimedEvent.ts"],"sourcesContent":["import {HDate, Locale} from '@hebcal/hdate';\nimport {CalOptions} from './CalOptions';\nimport {Location} from './location';\nimport {Event} from './event';\nimport {reformatTimeStr} from './reformatTimeStr';\nimport {Zmanim} from './zmanim';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\n/** An event that has an `eventTime` and `eventTimeStr` */\nexport class TimedEvent extends Event {\n readonly eventTime: Date;\n readonly location: Location;\n readonly eventTimeStr: string;\n readonly fmtTime: string;\n readonly linkedEvent?: Event;\n /**\n * @param desc Description (not translated)\n */\n constructor(\n date: HDate,\n desc: string,\n mask: number,\n eventTime: Date,\n location: Location,\n linkedEvent?: Event,\n options?: CalOptions\n ) {\n super(date, desc, mask);\n this.eventTime = Zmanim.roundTime(eventTime);\n this.location = location;\n const timeFormat = location.getTimeFormatter();\n this.eventTimeStr = Zmanim.formatTime(this.eventTime, timeFormat);\n const opts = {...options, location};\n this.fmtTime = reformatTimeStr(this.eventTimeStr, 'pm', opts);\n if (typeof linkedEvent !== 'undefined') {\n this.linkedEvent = linkedEvent;\n }\n }\n /**\n * @param [locale] Optional locale name (defaults to
|
|
1
|
+
{"version":3,"file":"TimedEvent.js","sources":["../../../src/TimedEvent.ts"],"sourcesContent":["import {HDate, Locale} from '@hebcal/hdate';\nimport {CalOptions} from './CalOptions';\nimport {Location} from './location';\nimport {Event} from './event';\nimport {reformatTimeStr} from './reformatTimeStr';\nimport {Zmanim} from './zmanim';\nimport './locale'; // Adds Hebrew and Ashkenazic translations\n\n/** An event that has an `eventTime` and `eventTimeStr` */\nexport class TimedEvent extends Event {\n readonly eventTime: Date;\n readonly location: Location;\n readonly eventTimeStr: string;\n readonly fmtTime: string;\n readonly linkedEvent?: Event;\n /**\n * @param desc Description (not translated)\n */\n constructor(\n date: HDate,\n desc: string,\n mask: number,\n eventTime: Date,\n location: Location,\n linkedEvent?: Event,\n options?: CalOptions\n ) {\n super(date, desc, mask);\n this.eventTime = Zmanim.roundTime(eventTime);\n this.location = location;\n const timeFormat = location.getTimeFormatter();\n this.eventTimeStr = Zmanim.formatTime(this.eventTime, timeFormat);\n const opts = {...options, location};\n this.fmtTime = reformatTimeStr(this.eventTimeStr, 'pm', opts);\n if (typeof linkedEvent !== 'undefined') {\n this.linkedEvent = linkedEvent;\n }\n }\n /**\n * @param [locale] Optional locale name (defaults to empty locale)\n */\n render(locale?: string): string {\n return Locale.gettext(this.getDesc(), locale) + ': ' + this.fmtTime;\n }\n /**\n * Returns translation of \"Candle lighting\" without the time.\n * @param [locale] Optional locale name (defaults to empty locale)\n */\n renderBrief(locale?: string): string {\n return Locale.gettext(this.getDesc(), locale);\n }\n\n getCategories(): string[] {\n const desc = this.getDesc();\n switch (desc) {\n // LIGHT_CANDLES or LIGHT_CANDLES_TZEIS\n case 'Candle lighting':\n return ['candles'];\n // YOM_TOV_ENDS\n case 'Havdalah':\n return ['havdalah'];\n // flags.MINOR_FAST or flags.MAJOR_FAST\n case 'Fast begins':\n case 'Fast ends':\n return ['zmanim', 'fast'];\n }\n /* NOTREACHED */\n return ['unknown'];\n }\n}\n\n/** Candle lighting before Shabbat or holiday */\nexport class CandleLightingEvent extends TimedEvent {\n constructor(\n date: HDate,\n mask: number,\n eventTime: Date,\n location: Location,\n linkedEvent?: Event,\n options?: CalOptions\n ) {\n super(\n date,\n 'Candle lighting',\n mask,\n eventTime,\n location,\n linkedEvent,\n options\n );\n }\n\n getEmoji(): string {\n return '🕯️';\n }\n}\n\n/** Havdalah after Shabbat or holiday */\nexport class HavdalahEvent extends TimedEvent {\n private readonly havdalahMins?: number;\n constructor(\n date: HDate,\n mask: number,\n eventTime: Date,\n location: Location,\n havdalahMins?: number,\n linkedEvent?: Event,\n options?: CalOptions\n ) {\n super(date, 'Havdalah', mask, eventTime, location, linkedEvent, options);\n if (havdalahMins) {\n this.havdalahMins = havdalahMins;\n }\n }\n /**\n * @param [locale] Optional locale name (defaults to empty locale)\n */\n render(locale?: string): string {\n return this.renderBrief(locale) + ': ' + this.fmtTime;\n }\n /**\n * Returns translation of \"Havdalah\" without the time.\n * @param [locale] Optional locale name (defaults to empty locale)\n */\n renderBrief(locale?: string): string {\n let str = Locale.gettext(this.getDesc(), locale);\n if (this.havdalahMins) {\n const min = Locale.gettext('min', locale);\n str += ` (${this.havdalahMins} ${min})`;\n }\n return str;\n }\n\n getEmoji(): string {\n return '✨';\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -12,11 +12,11 @@ export declare class YomKippurKatanEvent extends HolidayEvent {
|
|
|
12
12
|
constructor(date: HDate, nextMonthName: string);
|
|
13
13
|
basename(): string;
|
|
14
14
|
/**
|
|
15
|
-
* @param [locale] Optional locale name (defaults to
|
|
15
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
16
16
|
*/
|
|
17
17
|
render(locale?: string): string;
|
|
18
18
|
/**
|
|
19
|
-
* @param [locale] Optional locale name (defaults to
|
|
19
|
+
* @param [locale] Optional locale name (defaults to empty locale)
|
|
20
20
|
*/
|
|
21
21
|
renderBrief(locale?: string): string;
|
|
22
22
|
url(): string | undefined;
|