@hebcal/core 6.0.8 → 6.2.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.
Files changed (182) hide show
  1. package/dist/bundle.js +2282 -1547
  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/coverage/block-navigation.d.ts +1 -0
  6. package/dist/coverage/block-navigation.js +70 -0
  7. package/dist/coverage/prettify.d.ts +0 -0
  8. package/dist/coverage/prettify.js +477 -0
  9. package/dist/coverage/sorter.d.ts +1 -0
  10. package/dist/coverage/sorter.js +176 -0
  11. package/dist/eslint.config.d.mts +83 -0
  12. package/dist/eslint.config.mjs +28 -0
  13. package/dist/esm/DailyLearning.d.ts +1 -1
  14. package/dist/esm/DailyLearning.js +1 -1
  15. package/dist/esm/DailyLearning.js.map +1 -1
  16. package/dist/esm/HebrewDateEvent.js +5 -5
  17. package/dist/esm/HebrewDateEvent.js.map +1 -1
  18. package/dist/esm/HolidayEvent.d.ts +1 -0
  19. package/dist/esm/HolidayEvent.js +17 -1
  20. package/dist/esm/HolidayEvent.js.map +1 -1
  21. package/dist/esm/MevarchimChodeshEvent.js +2 -1
  22. package/dist/esm/MevarchimChodeshEvent.js.map +1 -1
  23. package/dist/esm/ParshaEvent.js +2 -1
  24. package/dist/esm/ParshaEvent.js.map +1 -1
  25. package/dist/esm/TimedEvent.js +9 -3
  26. package/dist/esm/TimedEvent.js.map +1 -1
  27. package/dist/esm/YomKippurKatanEvent.js +2 -1
  28. package/dist/esm/YomKippurKatanEvent.js.map +1 -1
  29. package/dist/esm/ashkenazi.po.d.ts +14 -2
  30. package/dist/esm/ashkenazi.po.js +2 -2
  31. package/dist/esm/ashkenazi.po.js.map +1 -1
  32. package/dist/esm/calendar.js +6 -8
  33. package/dist/esm/calendar.js.map +1 -1
  34. package/dist/esm/candles.js +11 -3
  35. package/dist/esm/candles.js.map +1 -1
  36. package/dist/esm/event.js +18 -1
  37. package/dist/esm/event.js.map +1 -1
  38. package/dist/esm/getStartAndEnd.js +2 -2
  39. package/dist/esm/getStartAndEnd.js.map +1 -1
  40. package/dist/esm/hallel.js +1 -1
  41. package/dist/esm/he-x-NoNikud.po.d.ts +2 -0
  42. package/dist/esm/he-x-NoNikud.po.js +2 -2
  43. package/dist/esm/he-x-NoNikud.po.js.map +1 -1
  44. package/dist/esm/he.po.d.ts +20 -0
  45. package/dist/esm/he.po.js +2 -2
  46. package/dist/esm/he.po.js.map +1 -1
  47. package/dist/esm/hebcal.js +3 -3
  48. package/dist/esm/hebcal.js.map +1 -1
  49. package/dist/esm/holidays.js +3 -3
  50. package/dist/esm/holidays.js.map +1 -1
  51. package/dist/esm/index.d.ts +2 -0
  52. package/dist/esm/index.js +3 -1
  53. package/dist/esm/index.js.map +1 -1
  54. package/dist/esm/isAssurBemlacha.js +1 -1
  55. package/dist/esm/locale.d.ts +1 -2
  56. package/dist/esm/locale.js +1 -1
  57. package/dist/esm/locale.js.map +1 -1
  58. package/dist/esm/location.js +7 -1
  59. package/dist/esm/location.js.map +1 -1
  60. package/dist/esm/modern.js +1 -1
  61. package/dist/esm/molad.d.ts +71 -1
  62. package/dist/esm/molad.js +113 -12
  63. package/dist/esm/molad.js.map +1 -1
  64. package/dist/esm/moladBase.d.ts +15 -0
  65. package/dist/esm/moladBase.js +83 -0
  66. package/dist/esm/moladBase.js.map +1 -0
  67. package/dist/esm/moladDate.d.ts +12 -0
  68. package/dist/esm/moladDate.js +63 -0
  69. package/dist/esm/moladDate.js.map +1 -0
  70. package/dist/esm/omer.d.ts +0 -1
  71. package/dist/esm/omer.js +7 -4
  72. package/dist/esm/omer.js.map +1 -1
  73. package/dist/esm/parshaName.js +2 -2
  74. package/dist/esm/parshaName.js.map +1 -1
  75. package/dist/esm/parshaYear.js +1 -1
  76. package/dist/esm/pkgVersion.d.ts +1 -1
  77. package/dist/esm/pkgVersion.js +2 -2
  78. package/dist/esm/pkgVersion.js.map +1 -1
  79. package/dist/esm/reformatTimeStr.js +5 -6
  80. package/dist/esm/reformatTimeStr.js.map +1 -1
  81. package/dist/esm/sedra.js +13 -7
  82. package/dist/esm/sedra.js.map +1 -1
  83. package/dist/esm/staticHolidays.js +1 -1
  84. package/dist/esm/tachanun.js +4 -4
  85. package/dist/esm/tachanun.js.map +1 -1
  86. package/dist/esm/zmanim.d.ts +263 -2
  87. package/dist/esm/zmanim.js +431 -12
  88. package/dist/esm/zmanim.js.map +1 -1
  89. package/dist/po2json.js +3 -4
  90. package/dist/src/DailyLearning.d.ts +1 -1
  91. package/dist/src/HebrewDateEvent.js +4 -4
  92. package/dist/src/HolidayEvent.d.ts +1 -0
  93. package/dist/src/HolidayEvent.js +16 -0
  94. package/dist/src/MevarchimChodeshEvent.js +1 -0
  95. package/dist/src/ParshaEvent.js +1 -0
  96. package/dist/src/TimedEvent.js +8 -2
  97. package/dist/src/YomKippurKatanEvent.js +1 -0
  98. package/dist/src/ashkenazi.po.d.ts +14 -2
  99. package/dist/src/ashkenazi.po.js +1 -1
  100. package/dist/src/calendar.js +5 -7
  101. package/dist/src/candles.js +10 -2
  102. package/dist/src/event.js +17 -0
  103. package/dist/src/getStartAndEnd.js +1 -1
  104. package/dist/src/he-x-NoNikud.po.d.ts +2 -0
  105. package/dist/src/he-x-NoNikud.po.js +1 -1
  106. package/dist/src/he.po.d.ts +20 -0
  107. package/dist/src/he.po.js +1 -1
  108. package/dist/src/hebcal.js +2 -2
  109. package/dist/src/holidays.js +2 -2
  110. package/dist/src/index.d.ts +2 -0
  111. package/dist/src/index.js +2 -0
  112. package/dist/src/locale.d.ts +1 -2
  113. package/dist/src/locale.js +1 -1
  114. package/dist/src/location.js +6 -0
  115. package/dist/src/molad.d.ts +71 -1
  116. package/dist/src/molad.js +112 -11
  117. package/dist/src/moladBase.d.ts +15 -0
  118. package/dist/src/moladBase.js +78 -0
  119. package/dist/src/moladDate.d.ts +12 -0
  120. package/dist/src/moladDate.js +58 -0
  121. package/dist/src/omer.d.ts +0 -1
  122. package/dist/src/omer.js +6 -3
  123. package/dist/src/parshaName.js +1 -1
  124. package/dist/src/pkgVersion.d.ts +1 -1
  125. package/dist/src/pkgVersion.js +1 -1
  126. package/dist/src/reformatTimeStr.js +4 -5
  127. package/dist/src/sedra.js +12 -6
  128. package/dist/src/tachanun.js +3 -3
  129. package/dist/src/zmanim.d.ts +263 -2
  130. package/dist/src/zmanim.js +429 -10
  131. package/dist/version.js +1 -2
  132. package/package.json +17 -19
  133. package/dist/CalOptions.d.ts +0 -168
  134. package/dist/DailyLearning.d.ts +0 -32
  135. package/dist/HebrewDateEvent.d.ts +0 -37
  136. package/dist/HolidayEvent.d.ts +0 -83
  137. package/dist/MevarchimChodeshEvent.d.ts +0 -26
  138. package/dist/ParshaEvent.d.ts +0 -19
  139. package/dist/TimedEvent.d.ts +0 -47
  140. package/dist/YomKippurKatanEvent.d.ts +0 -23
  141. package/dist/ashkenazi.po.d.ts +0 -70
  142. package/dist/calendar.d.ts +0 -111
  143. package/dist/candles.d.ts +0 -44
  144. package/dist/event.d.ts +0 -188
  145. package/dist/getStartAndEnd.d.ts +0 -6
  146. package/dist/hallel.d.ts +0 -6
  147. package/dist/he-x-NoNikud.po.d.ts +0 -16
  148. package/dist/he.po.d.ts +0 -195
  149. package/dist/hebcal.d.ts +0 -260
  150. package/dist/holidays.d.ts +0 -22
  151. package/dist/index.d.ts +0 -26
  152. package/dist/isAssurBemlacha.d.ts +0 -9
  153. package/dist/locale.d.ts +0 -2
  154. package/dist/location.d.ts +0 -73
  155. package/dist/modern.d.ts +0 -18
  156. package/dist/molad.d.ts +0 -62
  157. package/dist/omer.d.ts +0 -53
  158. package/dist/parshaName.d.ts +0 -2
  159. package/dist/parshaYear.d.ts +0 -9
  160. package/dist/pkgVersion.d.ts +0 -2
  161. package/dist/reformatTimeStr.d.ts +0 -8
  162. package/dist/sedra.d.ts +0 -95
  163. package/dist/size-demo/dist/getHoliday.d.ts +0 -1944
  164. package/dist/size-demo/dist/getHoliday.js +0 -3712
  165. package/dist/size-demo/dist/parshiyot.js +0 -10662
  166. package/dist/size-demo/dist/sedra.d.ts +0 -1411
  167. package/dist/size-demo/dist/sedra.js +0 -2359
  168. package/dist/size-demo/dist/tachanun.d.ts +0 -1015
  169. package/dist/size-demo/dist/tachanun.js +0 -1755
  170. package/dist/size-demo/getHoliday.d.ts +0 -1
  171. package/dist/size-demo/getHoliday.js +0 -3
  172. package/dist/size-demo/parshiyot.d.ts +0 -1
  173. package/dist/size-demo/parshiyot.js +0 -11
  174. package/dist/size-demo/rollup.config.d.ts +0 -3
  175. package/dist/size-demo/rollup.config.js +0 -47
  176. package/dist/size-demo/sedra.d.ts +0 -1
  177. package/dist/size-demo/sedra.js +0 -3
  178. package/dist/size-demo/tachanun.d.ts +0 -1
  179. package/dist/size-demo/tachanun.js +0 -3
  180. package/dist/staticHolidays.d.ts +0 -176
  181. package/dist/tachanun.d.ts +0 -29
  182. package/dist/zmanim.d.ts +0 -347
package/dist/src/omer.js CHANGED
@@ -75,7 +75,7 @@ function omerTodayIsEn(omerDay) {
75
75
  const day7 = daysWithinWeeks === 7;
76
76
  const numWeeks = day7 ? weekNumber : weekNumber - 1;
77
77
  const weeksStr = numWeeks === 1 ? 'week' : 'weeks';
78
- str += `, which is ${numWeeks} ${weeksStr}`;
78
+ str += `, which are ${numWeeks} ${weeksStr}`;
79
79
  if (!day7) {
80
80
  const daysStr = daysWithinWeeks === 1 ? 'day' : 'days';
81
81
  str += ` and ${daysWithinWeeks} ${daysStr}`;
@@ -185,6 +185,9 @@ function omerTodayIsHe(omerDay) {
185
185
  }
186
186
  /** Represents a day 1-49 of counting the Omer from Pesach to Shavuot */
187
187
  export class OmerEvent extends Event {
188
+ weekNumber;
189
+ daysWithinWeeks;
190
+ omer;
188
191
  /**
189
192
  * @param date
190
193
  * @param omerDay
@@ -225,7 +228,7 @@ export class OmerEvent extends Event {
225
228
  * @param [locale] Optional locale name (defaults to empty locale)
226
229
  */
227
230
  render(locale) {
228
- locale = locale !== null && locale !== void 0 ? locale : 'en';
231
+ locale = locale ?? 'en';
229
232
  if (typeof locale === 'string') {
230
233
  locale = locale.toLowerCase();
231
234
  }
@@ -281,7 +284,7 @@ export class OmerEvent extends Event {
281
284
  * or `הַיוֹם עֲשָׂרָה יָמִים, שְׁהֵם שָׁבוּעַ אֶחָד וְשְׁלוֹשָׁה יָמִים לָעוֹמֶר`
282
285
  */
283
286
  getTodayIs(locale) {
284
- locale = locale !== null && locale !== void 0 ? locale : 'en';
287
+ locale = locale ?? 'en';
285
288
  if (typeof locale === 'string') {
286
289
  locale = locale.toLowerCase();
287
290
  }
@@ -1,7 +1,7 @@
1
1
  import { Locale } from './locale';
2
2
  /** @private */
3
3
  export function renderParshaName(parsha, locale) {
4
- const locale0 = locale !== null && locale !== void 0 ? locale : 'en';
4
+ const locale0 = locale ?? 'en';
5
5
  let name = Locale.gettext(parsha[0], locale0);
6
6
  if (parsha.length === 2) {
7
7
  const hyphen = locale0 === 'he' ? '־' : '-';
@@ -1,2 +1,2 @@
1
1
  /** DO NOT EDIT THIS AUTO-GENERATED FILE! */
2
- export declare const version = "6.0.8";
2
+ export declare const version = "6.2.0";
@@ -1,2 +1,2 @@
1
1
  /** DO NOT EDIT THIS AUTO-GENERATED FILE! */
2
- export const version = '6.0.8';
2
+ export const version = '6.2.0';
@@ -19,15 +19,14 @@ const hour12cc = {
19
19
  * @param options
20
20
  */
21
21
  export function reformatTimeStr(timeStr, suffix, options) {
22
- var _a;
23
22
  if (typeof timeStr !== 'string')
24
23
  throw new TypeError(`Bad timeStr: ${timeStr}`);
25
- const cc = ((_a = options === null || options === void 0 ? void 0 : options.location) === null || _a === void 0 ? void 0 : _a.getCountryCode()) || ((options === null || options === void 0 ? void 0 : options.il) ? 'IL' : 'US');
26
- const hour12 = options === null || options === void 0 ? void 0 : options.hour12;
27
- if (typeof hour12 !== 'undefined' && !hour12) {
24
+ const cc = options?.location?.getCountryCode() || (options?.il ? 'IL' : 'US');
25
+ const hour12 = options?.hour12;
26
+ if (hour12 !== undefined && !hour12) {
28
27
  return timeStr;
29
28
  }
30
- if (!hour12 && typeof hour12cc[cc] === 'undefined') {
29
+ if (!hour12 && hour12cc[cc] === undefined) {
31
30
  return timeStr;
32
31
  }
33
32
  const hm = timeStr.split(':');
package/dist/src/sedra.js CHANGED
@@ -52,6 +52,12 @@ function yearType(hyear) {
52
52
  * Represents Parashah HaShavua for an entire Hebrew year
53
53
  */
54
54
  export class Sedra {
55
+ year;
56
+ il;
57
+ rh;
58
+ firstSaturday;
59
+ theSedraArray;
60
+ yearKey;
55
61
  /**
56
62
  * Caculates the Parashah HaShavua for an entire Hebrew year
57
63
  * @param hyear - Hebrew year (e.g. 5749)
@@ -103,7 +109,7 @@ export class Sedra {
103
109
  if (typeof num === 'number') {
104
110
  return this.find(num);
105
111
  }
106
- else if (parsha.indexOf('-') !== -1) {
112
+ else if (parsha.includes('-')) {
107
113
  if (parsha === CHMPESACH || parsha === CHMSUKOT) {
108
114
  return this.findInternal(parsha);
109
115
  }
@@ -219,7 +225,7 @@ export class Sedra {
219
225
  const saturday = HDate.dayOnOrBefore(6, abs + 6);
220
226
  const weekNum = (saturday - this.firstSaturday) / 7;
221
227
  const index = this.theSedraArray[weekNum];
222
- if (typeof index === 'undefined') {
228
+ if (index === undefined) {
223
229
  const sedra = getSedra(this.year + 1, this.il);
224
230
  return sedra.lookup(saturday); // must be next year
225
231
  }
@@ -319,7 +325,7 @@ for (let id = 0; id < parshiot.length; id++) {
319
325
  parsha2id.set(name, id);
320
326
  }
321
327
  // 0-based parsha IDs
322
- const doubles = [
328
+ const doubles = new Set([
323
329
  21, // Vayakhel-Pekudei
324
330
  26, // Tazria-Metzora
325
331
  28, // Achrei Mot-Kedoshim
@@ -327,13 +333,13 @@ const doubles = [
327
333
  38, // Chukat-Balak
328
334
  41, // Matot-Masei
329
335
  50, // Nitzavim-Vayeilech
330
- ];
336
+ ]);
331
337
  /**
332
338
  * @private
333
339
  * @param id a negative number
334
340
  */
335
341
  function isValidDouble(id) {
336
- return doubles.includes(-id);
342
+ return doubles.has(-id);
337
343
  }
338
344
  /**
339
345
  * parsha doubler/undoubler
@@ -459,7 +465,7 @@ types['1311'] = types['1221'];
459
465
  /* Hebrew year that starts on Saturday, is `complete' (Heshvan and
460
466
  * Kislev each have 30 days), and has Passover start on Thursday. */
461
467
  types['1721'] = types['170'];
462
- const sedraCache = new QuickLRU({ maxSize: 400 });
468
+ const sedraCache = new QuickLRU({ maxSize: 120 });
463
469
  /**
464
470
  * Convenience function to create an instance of `Sedra` or reuse a previously
465
471
  * created and cached instance.
@@ -35,7 +35,7 @@ function tachanun0(hdate, il, checkNext) {
35
35
  const year = hdate.yy;
36
36
  const dates = tachanunYear(year, il);
37
37
  const abs = hdate.abs();
38
- if (dates.none.indexOf(abs) > -1) {
38
+ if (dates.none.includes(abs)) {
39
39
  return NONE;
40
40
  }
41
41
  const dow = hdate.getDay();
@@ -44,14 +44,14 @@ function tachanun0(hdate, il, checkNext) {
44
44
  mincha: false,
45
45
  allCongs: false,
46
46
  };
47
- if (dates.some.indexOf(abs) === -1) {
47
+ if (!dates.some.includes(abs)) {
48
48
  ret.allCongs = true;
49
49
  }
50
50
  if (dow !== 6) {
51
51
  ret.shacharit = true;
52
52
  }
53
53
  const tomorrow = abs + 1;
54
- if (checkNext && dates.yesPrev.indexOf(tomorrow) === -1) {
54
+ if (checkNext && !dates.yesPrev.includes(tomorrow)) {
55
55
  const tmp = tachanun0(new HDate(tomorrow), il, false);
56
56
  ret.mincha = tmp.shacharit;
57
57
  }
@@ -28,7 +28,7 @@ import { HDate } from '@hebcal/hdate';
28
28
  * const timeStr = Zmanim.formatISOWithTimeZone(tzid, candleLighting);
29
29
  */
30
30
  export declare class Zmanim {
31
- private readonly date;
31
+ private readonly plainDate;
32
32
  private readonly gloc;
33
33
  private readonly noaa;
34
34
  private useElevation;
@@ -123,6 +123,7 @@ export declare class Zmanim {
123
123
  * sea level sunrise.
124
124
  */
125
125
  alotHaShachar72(): Date;
126
+ alotHaShachar72zdt(): Temporal.ZonedDateTime | null;
126
127
  /**
127
128
  * Earliest talis & tefillin – Misheyakir; Sun is 11.5° below the horizon in the morning.
128
129
  * Because degree-based functions estimate the amount of light in the sky,
@@ -135,12 +136,13 @@ export declare class Zmanim {
135
136
  * the result is not impacted by elevation.
136
137
  */
137
138
  misheyakirMachmir(): Date;
139
+ private getShaahZmanisBasedZmanZdt;
138
140
  /**
139
141
  * Utility method for using elevation-aware sunrise/sunset
140
142
  * @private
141
143
  * @param hours
142
144
  */
143
- getShaahZmanisBasedZman(hours: number): Date;
145
+ private getShaahZmanisBasedZman;
144
146
  /**
145
147
  * Latest Shema (Gra); Sunrise plus 3 halachic hours, according to the Gra.
146
148
  * If elevation is enabled, this function will include elevation in the calculation.
@@ -265,6 +267,7 @@ export declare class Zmanim {
265
267
  * the result is not impacted by elevation.
266
268
  */
267
269
  tzeit(angle?: number): Date;
270
+ tzeit72(): Temporal.ZonedDateTime | null;
268
271
  /**
269
272
  * Alias for sunrise
270
273
  */
@@ -282,6 +285,264 @@ export declare class Zmanim {
282
285
  * the result is not impacted by elevation.
283
286
  */
284
287
  beinHaShmashos(): Date;
288
+ /**
289
+ * Used by Molad based _zmanim_ to determine if _zmanim_ occur during the current day.
290
+ * @return previous midnight
291
+ */
292
+ private getMidnightLastNight;
293
+ /**
294
+ * Used by Molad based _zmanim_ to determine if _zmanim_ occur during the current day.
295
+ * @return following midnight
296
+ */
297
+ private getMidnightTonight;
298
+ /**
299
+ * Returns the Date of the _molad_ based time if it occurs on the current date. Since _Kiddush Levana_
300
+ * can only be said during the day, there are parameters to limit it to between _alos_ and _tzais_. If
301
+ * the time occurs between _alos_ and _tzais_, _tzais_ will be returned.
302
+ *
303
+ * @param moladBasedTime
304
+ * the _molad_ based time such as _molad_, _tchilas_ and _sof zman Kiddush Levana_
305
+ * @param alos
306
+ * optional start of day to limit _molad_ times to the end of the night before or beginning of the next night.
307
+ * Ignored if either _alos_ or _tzais_ are null.
308
+ * @param tzais
309
+ * optional end of day to limit _molad_ times to the end of the night before or beginning of the next night.
310
+ * Ignored if either _tzais_ or _alos_ are null
311
+ * @param techila
312
+ * is it the start of _Kiddush Levana_ time or the end? If it is start roll it to the next _tzais_,
313
+ * and if it is the end, return the end of the previous night (_alos_ passed in). Ignored if either
314
+ * _alos_ or _tzais_ are null.
315
+ * @return the _molad_ based time. If the _zman_ does not occur during the current date, `null` will be
316
+ * returned.
317
+ */
318
+ private getMoladBasedTime;
319
+ private getHDate;
320
+ /**
321
+ * Returns the latest time of Kiddush Levana according to the <a
322
+ * href="https://en.wikipedia.org/wiki/Yaakov_ben_Moshe_Levi_Moelin">Maharil's</a> opinion that it is calculated as
323
+ * halfway between _molad_ and _molad_. This adds half the 29 days, 12 hours and 793 chalakim time between
324
+ * _molad_ and _molad_ (14 days, 18 hours, 22 minutes and 666 milliseconds) to the month's _molad_.
325
+ * The _sof zman Kiddush Levana_ will be returned even if it occurs during the day. To limit the time to between
326
+ * _tzais_ and _alos_, see {@link getSofZmanKidushLevanaBetweenMoldos}.
327
+ *
328
+ * @param alos
329
+ * the beginning of the Jewish day. If _Kidush Levana_ occurs during the day (starting at _alos_ and
330
+ * ending at _tzais_), the time returned will be alos. If either the _alos_ or _tzais_ parameters
331
+ * are null, no daytime adjustment will be made.
332
+ * @param tzais
333
+ * the end of the Jewish day. If Kidush Levana occurs during the day (starting at alos and ending at
334
+ * tzais), the time returned will be alos. If either the alos or tzais parameters are null, no daytime
335
+ * adjustment will be made.
336
+ * @return the Date representing the moment halfway between molad and molad. If the time occurs between
337
+ * _alos_ and _tzais_, _alos_ will be returned. If the _zman_ will not occur on this
338
+ * day, a `null` will be returned.
339
+ */
340
+ getSofZmanKidushLevanaBetweenMoldos(alos?: Temporal.ZonedDateTime | null, tzais?: Temporal.ZonedDateTime | null): Temporal.ZonedDateTime | null;
341
+ /**
342
+ * Returns the latest time of _Kiddush Levana_ calculated as 15 days after the molad. This is the opinion of
343
+ * the Shulchan Aruch (Orach Chaim 426). It should be noted that some opinions hold that the
344
+ * <a href="https://en.wikipedia.org/wiki/Moses_Isserles">Rema</a> who brings down the opinion of the <a
345
+ * href="https://en.wikipedia.org/wiki/Yaakov_ben_Moshe_Levi_Moelin">Maharil's</a> of calculating
346
+ * {@link getSofZmanKidushLevanaBetweenMoldos half way between _molad_ and _molad_} is of
347
+ * the opinion that the Mechaber agrees to his opinion. Also see the Aruch Hashulchan. For additional details on the subject,
348
+ * See Rabbi Dovid Heber's very detailed write-up in Siman Daled (chapter 4) of <a href="https://hebrewbooks.org/53000">Shaarei
349
+ * Zmanim</a>. The _sof zman Kiddush Levana_ will be returned even if it occurs during the day. To limit the time to
350
+ * between _tzais_ and _alos_, see {@link getSofZmanKidushLevana15Days}.
351
+ *
352
+ * @return the Date representing the moment 15 days after the _molad_. If the time occurs between
353
+ * _alos_ and _tzais_, _alos_ will be returned. If the _zman_ will not occur on this day, a
354
+ * `null` will be returned.
355
+ *
356
+ *
357
+ */
358
+ getSofZmanKidushLevana15Days(alos?: Temporal.ZonedDateTime | null, tzais?: Temporal.ZonedDateTime | null): Temporal.ZonedDateTime | null;
359
+ /**
360
+ * Returns the earliest time of _Kiddush Levana_ according to <a href=
361
+ * "https://en.wikipedia.org/wiki/Yonah_Gerondi">Rabbeinu Yonah</a>'s opinion that it can be said 3 days after the _molad_.
362
+ * If the time of _tchilas zman Kiddush Levana_ occurs during the day (between _alos_ and _tzais_ passed to
363
+ * this method) it will return the following _tzais_. If null is passed for either _alos_ or _tzais_, the actual
364
+ * _tchilas zman Kiddush Levana_ will be returned, regardless of if it is during the day or not.
365
+ *
366
+ * @param alos
367
+ * the beginning of the Jewish day. If Kidush Levana occurs during the day (starting at _alos_ and ending
368
+ * at _tzais_), the time returned will be _tzais_. If either the _alos_ or _tzais_ parameters
369
+ * are null, no daytime adjustment will be made.
370
+ * @param tzais
371
+ * the end of the Jewish day. If _Kidush Levana_ occurs during the day (starting at _alos_ and ending at
372
+ * _tzais_), the time returned will be _tzais_. If either the _alos_ or _tzais_ parameters
373
+ * are null, no daytime adjustment will be made.
374
+ *
375
+ * @return the Date representing the moment 3 days after the molad. If the time occurs between _alos_ and
376
+ * _tzais_, _tzais_ will be returned. If the _zman_ will not occur on this day, a
377
+ * `null` will be returned.
378
+ */
379
+ getTchilasZmanKidushLevana3Days(alos?: Temporal.ZonedDateTime | null, tzais?: Temporal.ZonedDateTime | null): Temporal.ZonedDateTime | null;
380
+ /**
381
+ * Returns the point in time of _Molad_ as a <code>Date</code> Object. For the traditional day of week, hour,
382
+ * minute and chalakim, {@link Molad.getInstant()} and the not yet completed
383
+ * {@link HebrewDateFormatter} that will have formatting for this.
384
+ *
385
+ * @return the Date representing the moment of the molad. If the _molad_ does not occur on this day, a
386
+ * `null` will be returned.
387
+ *
388
+ */
389
+ getZmanMolad(): Temporal.ZonedDateTime | null;
390
+ /**
391
+ * Returns the earliest time of _Kiddush Levana_ according to the opinions that it should not be said until 7
392
+ * days after the _molad_. The time will be returned even if it occurs during the day when _Kiddush Levana_
393
+ * can't be recited. Use {@link getTchilasZmanKidushLevana7Days} if you want to limit the time to night hours.
394
+ *
395
+ * @return the Date representing the moment 7 days after the molad regardless of it is day or night. If the _zman_
396
+ * will not occur on this day, a `null` will be returned.
397
+ */
398
+ getTchilasZmanKidushLevana7Days(alos?: Temporal.ZonedDateTime | null, tzais?: Temporal.ZonedDateTime | null): Temporal.ZonedDateTime | null;
399
+ /**
400
+ * A method that returns the <a href="https://en.wikipedia.org/wiki/Shneur_Zalman_of_Liadi">Baal Hatanya</a>'s
401
+ * _netz amiti_ (sunrise) without
402
+ * elevation adjustment. This forms the base for the Baal Hatanya's dawn-based calculations that are
403
+ * calculated as a dip below the horizon before sunrise.
404
+ *
405
+ * According to the Baal Hatanya, _netz amiti_, or true (halachic) sunrise, is when the top of the sun's
406
+ * disk is visible at an elevation similar to the mountains of Eretz Yisrael. The time is calculated as the point at which
407
+ * the center of the sun's disk is 1.583&deg; below the horizon. This degree-based calculation can be found in Rabbi Shalom
408
+ * DovBer Levine's commentary on The <a href="https://www.chabadlibrary.org/books/pdf/Seder-Hachnosas-Shabbos.pdf">Baal
409
+ * Hatanya's Seder Hachnasas Shabbos</a>. From an elevation of 546 meters, the top of <a href=
410
+ * "https://en.wikipedia.org/wiki/Mount_Carmel">Har Hacarmel</a>, the sun disappears when it is 1&deg; 35' or 1.583&deg;
411
+ * below the sea level horizon. This in turn is based on the Gemara <a href=
412
+ * "https://hebrewbooks.org/shas.aspx?mesechta=2&daf=35">Shabbos 35a</a>. There are other opinions brought down by
413
+ * Rabbi Levine, including Rabbi Yosef Yitzchok Feigelstock who calculates it as the degrees below the horizon 4 minutes after
414
+ * sunset in Yerushalayim (on the equinox). That is brought down as 1.583&deg;. This is identical to the 1&deg; 35' _zman_
415
+ * and is probably a typo and should be 1.683&deg;. These calculations are used by most <a href=
416
+ * "https://en.wikipedia.org/wiki/Chabad">Chabad</a> calendars that use the Baal Hatanya's _zmanim_. See
417
+ * <a href="https://www.chabad.org/library/article_cdo/aid/3209349/jewish/About-Our-Zmanim-Calculations.htm">About Our
418
+ * _Zmanim_ Calculations @ Chabad.org</a>.
419
+ *
420
+ * Note: _netz amiti_ is used only for calculating certain _zmanim_, and is intentionally unpublished. For
421
+ * practical purposes, daytime _mitzvos_ like _shofar_ and _lulav_ should not be done until after the
422
+ * published time for _netz_ / sunrise.
423
+ *
424
+ * @return the <code>Date</code> representing the exact sea level _netz amiti_ (sunrise) time. If the calculation can't be
425
+ * computed such as in the Arctic Circle where there is at least one day a year where the sun does not rise, and one
426
+ * where it does not set, a `null` will be returned. See detailed explanation on top of the page.
427
+ *
428
+ * @see ZENITH_1_POINT_583
429
+ */
430
+ private getSunriseBaalHatanya;
431
+ /**
432
+ * A method that returns the <a href="https://en.wikipedia.org/wiki/Shneur_Zalman_of_Liadi">Baal Hatanya</a>'s
433
+ * _shkiah amiti_ (sunset) without
434
+ * elevation adjustment. This forms the base for the Baal Hatanya's dusk-based calculations that are calculated
435
+ * as a dip below the horizon after sunset.
436
+ *
437
+ * According to the Baal Hatanya, _shkiah amiti_, true (_halachic_) sunset, is when the top of the
438
+ * sun's disk disappears from view at an elevation similar to the mountains of _Eretz Yisrael_.
439
+ * This time is calculated as the point at which the center of the sun's disk is 1.583 degrees below the horizon.
440
+ *
441
+ * Note: _shkiah amiti_ is used only for calculating certain _zmanim_, and is intentionally unpublished. For
442
+ * practical purposes, all daytime mitzvos should be completed before the published time for _shkiah_ / sunset.
443
+ *
444
+ * For further explanation of the calculations used for the Baal Hatanya's _zmanim_ in this library, see
445
+ * <a href="https://www.chabad.org/library/article_cdo/aid/3209349/jewish/About-Our-Zmanim-Calculations.htm">About Our
446
+ * _Zmanim_ Calculations @ Chabad.org</a>.
447
+ *
448
+ * @return the <code>Date</code> representing the exact sea level _shkiah amiti_ (sunset) time. If the calculation
449
+ * can't be computed such as in the Arctic Circle where there is at least one day a year where the sun does not
450
+ * rise, and one where it does not set, a `null` will be returned.
451
+ *
452
+ * @see ZENITH_1_POINT_583
453
+ */
454
+ private getSunsetBaalHatanya;
455
+ /**
456
+ * Returns the <a href="https://en.wikipedia.org/wiki/Shneur_Zalman_of_Liadi">Baal Hatanya</a>'s _alos_
457
+ * (dawn) calculated as the time when the sun is 16.9&deg; below the eastern {@link GEOMETRIC_ZENITH geometric horizon}
458
+ * before {@link getSunrise() sunrise}.
459
+ *
460
+ * The zenith of 16.9&deg; below is based on the calculation that the time between dawn
461
+ * and <em>netz amiti</em> (sunrise) is 72 minutes, the time that is takes to walk 4 mil at 18 minutes
462
+ * a mil (<a href="https://en.wikipedia.org/wiki/Maimonides">Rambam</a> and others). The sun's position at 72
463
+ * minutes before {@link getSunriseBaalHatanya <em>netz amiti</em> (sunrise)} in Jerusalem <a href=
464
+ * "https://kosherjava.com/2022/01/12/equinox-vs-equilux-zmanim-calculations/">around the equinox / equilux</a> is
465
+ * 16.9&deg; below {@link GEOMETRIC_ZENITH geometric zenith}.
466
+ *
467
+ * @return The <code>Date</code> of dawn. If the calculation can't be computed such as northern and southern
468
+ * locations even south of the Arctic Circle and north of the Antarctic Circle where the sun may not reach
469
+ * low enough below the horizon for this calculation, a `null` will be returned. */
470
+ alosBaalHatanya(): Date;
471
+ private getShaahZmanisBaalHatanya;
472
+ /**
473
+ * This method returns the latest _zman krias shema_ (time to recite Shema in the morning). This time is 3
474
+ * {@link shaahZmanisBaalHatanya() _shaos zmaniyos_} (solar hours) after {@link getSunriseBaalHatanya()
475
+ * _netz amiti_ (sunrise)} based on the opinion of the Baal Hatanya that the day is calculated from
476
+ * sunrise to sunset. This returns the time 3 * {@link getShaahZmanisBaalHatanya()} after {@link getSunriseBaalHatanya()
477
+ * _netz amiti_ (sunrise)}.
478
+ *
479
+ * @return the <code>Date</code> of the latest _zman shema_ according to the Baal Hatanya. If the calculation
480
+ * can't be computed such as in the Arctic Circle where there is at least one day a year where the sun does
481
+ * not rise, and one where it does not set, a `null` will be returned.
482
+ */
483
+ sofZmanShmaBaalHatanya(): Date;
484
+ /**
485
+ * This method returns the latest _zman tfilah_ (time to recite the morning prayers). This time is 4
486
+ * hours into the day based on the opinion of the Baal Hatanya that the day is
487
+ * calculated from sunrise to sunset. This returns the time 4 * {@link getShaahZmanisBaalHatanya()} after
488
+ * {@link getSunriseBaalHatanya() _netz amiti_ (sunrise)}.
489
+ *
490
+ * @return the <code>Date</code> of the latest _zman tfilah_. If the calculation can't be computed such as in
491
+ * the Arctic Circle where there is at least one day a year where the sun does not rise, and one where it does
492
+ * not set, a `null` will be returned.
493
+ */
494
+ sofZmanTfilaBaalHatanya(): Date;
495
+ /**
496
+ * This method returns the time of _mincha gedola_. _Mincha gedola_ is the earliest time one can pray
497
+ * _mincha_. The <a href="https://en.wikipedia.org/wiki/Maimonides">Rambam</a> is of the opinion that it is
498
+ * better to delay _mincha_ until {@link minchaKetanaBaalHatanya() _mincha ketana_} while the
499
+ * <a href="https://en.wikipedia.org/wiki/Asher_ben_Jehiel">Ra"sh</a>,
500
+ * <a href="https://en.wikipedia.org/wiki/Jacob_ben_Asher">Tur</a>, <a href=
501
+ * "https://en.wikipedia.org/wiki/Vilna_Gaon">GRA</a> and others are of the opinion that _mincha_ can be prayed
502
+ * _lechatchila_ starting at _mincha gedola_. This is calculated as 6.5 {@link getShaahZmanisBaalHatanya()
503
+ * sea level solar hours} after {@link getSunriseBaalHatanya() _netz amiti_ (sunrise)}. This calculation is based
504
+ * on the opinion of the Baal Hatanya that the day is calculated from sunrise to sunset. This returns the time 6.5
505
+ * * {@link getShaahZmanisBaalHatanya()} after {@link getSunriseBaalHatanya() _netz amiti_ ("real" sunrise)}.
506
+ * @return the <code>Date</code> of the time of _mincha gedola_ according to the Baal Hatanya. If the calculation
507
+ * can't be computed such as in the Arctic Circle where there is at least one day a year where the sun does not rise,
508
+ * and one where it does not set, a `null` will be returned.
509
+ */
510
+ minchaGedolaBaalHatanya(): Date;
511
+ /**
512
+ * This method returns the time of _mincha ketana_. This is the preferred earliest time to pray
513
+ * _mincha_ in the opinion of the <a href="https://en.wikipedia.org/wiki/Maimonides">Rambam</a> and others.
514
+ * For more information on this see the documentation on {@link minchaGedolaBaalHatanya() _mincha gedola_}.
515
+ * This is calculated as 9.5 sea level solar hours after {@link getSunriseBaalHatanya
516
+ * _netz amiti_ (sunrise)}. This calculation is calculated based on the opinion of the Baal Hatanya that the
517
+ * day is calculated from sunrise to sunset. This returns the time 9.5 * after
518
+ * _netz amiti_ (sunrise).
519
+ *
520
+ * @return the <code>Date</code> of the time of _mincha ketana_. If the calculation can't be computed such as
521
+ * in the Arctic Circle where there is at least one day a year where the sun does not rise, and one where it
522
+ * does not set, a `null` will be returned.
523
+ */
524
+ minchaKetanaBaalHatanya(): Date;
525
+ /**
526
+ * This method returns the time of _plag hamincha_. This is calculated as 10.75 hours after sunrise. This
527
+ * calculation is based on the opinion of the Baal Hatanya that the day is calculated
528
+ * from sunrise to sunset. This returns the time 10.75 * {@link getShaahZmanisBaalHatanya()} after
529
+ * {@link getSunriseBaalHatanya() _netz amiti_ (sunrise)}.
530
+ *
531
+ * @return the <code>Date</code> of the time of _plag hamincha_. If the calculation can't be computed such as
532
+ * in the Arctic Circle where there is at least one day a year where the sun does not rise, and one where it
533
+ * does not set, a `null` will be returned.
534
+ */
535
+ plagHaminchaBaalHatanya(): Date;
536
+ /**
537
+ * A method that returns _tzais_ (nightfall) when the sun is 6&deg; below the western geometric horizon
538
+ * (90&deg;) after {@link getSunset() sunset}. For information on the source of this calculation see
539
+ * {@link ZENITH_6_DEGREES}.
540
+ *
541
+ * @return The <code>Date</code> of nightfall. If the calculation can't be computed such as northern and southern
542
+ * locations even south of the Arctic Circle and north of the Antarctic Circle where the sun may not reach
543
+ * low enough below the horizon for this calculation, a `null` will be returned. * @see ZENITH_6_DEGREES
544
+ */
545
+ tzaisBaalHatanya(): Date;
285
546
  /**
286
547
  * Uses timeFormat to return a date like '20:34'.
287
548
  * Returns `XX:XX` if the date is invalid.