@hebcal/core 4.4.1 → 4.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -41
- package/dist/bundle.js +129 -63
- package/dist/bundle.min.js +2 -2
- package/dist/greg0.mjs +1 -1
- package/dist/hdate-bundle.js +3 -2
- package/dist/hdate-bundle.min.js +2 -2
- package/dist/hdate.js +3 -2
- package/dist/hdate.mjs +3 -2
- package/dist/hdate0-bundle.js +1 -1
- package/dist/hdate0-bundle.min.js +1 -1
- package/dist/hdate0.mjs +1 -1
- package/dist/index.js +127 -61
- package/dist/index.mjs +127 -61
- package/hebcal.d.ts +29 -8
- package/package.json +4 -5
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v4.
|
|
1
|
+
/*! @hebcal/core v4.5.0 */
|
|
2
2
|
/*
|
|
3
3
|
* More minimal greg routines
|
|
4
4
|
*/
|
|
@@ -1571,6 +1571,7 @@ class HDate {
|
|
|
1571
1571
|
case 'h':
|
|
1572
1572
|
return months.SHVAT;
|
|
1573
1573
|
}
|
|
1574
|
+
break;
|
|
1574
1575
|
case 't':
|
|
1575
1576
|
switch (c[1]) {
|
|
1576
1577
|
case 'a':
|
|
@@ -2433,7 +2434,30 @@ function pad2(number) {
|
|
|
2433
2434
|
* @property {Date} tzeit
|
|
2434
2435
|
*/
|
|
2435
2436
|
|
|
2436
|
-
/**
|
|
2437
|
+
/**
|
|
2438
|
+
* Calculate halachic times (zmanim / זְמַנִּים) for a given day and location.
|
|
2439
|
+
* Calculations are available for tzeit / tzais (nightfall),
|
|
2440
|
+
* shkiah (sunset) and more.
|
|
2441
|
+
*
|
|
2442
|
+
* Zmanim are estimated using an algorithm published by the US National Oceanic
|
|
2443
|
+
* and Atmospheric Administration. The NOAA solar calculator is based on equations
|
|
2444
|
+
* from _Astronomical Algorithms_ by Jean Meeus.
|
|
2445
|
+
*
|
|
2446
|
+
* The sunrise and sunset results are theoretically accurate to within a minute for
|
|
2447
|
+
* locations between +/- 72° latitude, and within 10 minutes outside of those latitudes.
|
|
2448
|
+
* However, due to variations in atmospheric composition, temperature, pressure and
|
|
2449
|
+
* conditions, observed values may vary from calculations.
|
|
2450
|
+
* https://gml.noaa.gov/grad/solcalc/calcdetails.html
|
|
2451
|
+
*
|
|
2452
|
+
* @example
|
|
2453
|
+
* const {Zmanim} = require('@hebcal/core');
|
|
2454
|
+
* const latitude = 41.822232;
|
|
2455
|
+
* const longitude = -71.448292;
|
|
2456
|
+
* const friday = new Date(2023, 8, 8);
|
|
2457
|
+
* const zmanim = new Zmanim(friday, latitude, longitude);
|
|
2458
|
+
* const candleLighting = zmanim.sunsetOffset(-18, true);
|
|
2459
|
+
* const timeStr = Zmanim.formatISOWithTimeZone('America/New_York', candleLighting);
|
|
2460
|
+
*/
|
|
2437
2461
|
class Zmanim {
|
|
2438
2462
|
/**
|
|
2439
2463
|
* Initialize a Zmanim instance.
|
|
@@ -2483,6 +2507,16 @@ class Zmanim {
|
|
|
2483
2507
|
tzeit: this.tzeit()
|
|
2484
2508
|
};
|
|
2485
2509
|
}
|
|
2510
|
+
/**
|
|
2511
|
+
* Convenience function to get the time when sun is above or below the horizon
|
|
2512
|
+
* for a certain angle (in degrees).
|
|
2513
|
+
* @param {number} angle
|
|
2514
|
+
* @param {boolean} rising
|
|
2515
|
+
* @return {Date}
|
|
2516
|
+
*/
|
|
2517
|
+
timeAtAngle(angle, rising) {
|
|
2518
|
+
return this.sun.timeAtAngle(angle, rising);
|
|
2519
|
+
}
|
|
2486
2520
|
/**
|
|
2487
2521
|
* Upper edge of the Sun appears over the eastern horizon in the morning (0.833° above horizon)
|
|
2488
2522
|
* @return {Date}
|
|
@@ -2639,7 +2673,7 @@ class Zmanim {
|
|
|
2639
2673
|
}
|
|
2640
2674
|
/**
|
|
2641
2675
|
* @param {number} [angle=8.5] optional time for solar depression.
|
|
2642
|
-
* Default is 8.5 degrees for 3 small stars, use 7.083
|
|
2676
|
+
* Default is 8.5 degrees for 3 small stars, use 7.083 degrees for 3 medium-sized stars.
|
|
2643
2677
|
* @return {Date}
|
|
2644
2678
|
*/
|
|
2645
2679
|
tzeit(angle = 8.5) {
|
|
@@ -2786,7 +2820,7 @@ class Zmanim {
|
|
|
2786
2820
|
* Returns an array with tzeit Date object and a 24-hour string formatted time.
|
|
2787
2821
|
* @deprecated
|
|
2788
2822
|
* @param {number} angle degrees for solar depression.
|
|
2789
|
-
* Default is 8.5 degrees for 3 small stars, use 7.083
|
|
2823
|
+
* Default is 8.5 degrees for 3 small stars, use 7.083 degrees for 3 medium-sized stars.
|
|
2790
2824
|
* @param {Intl.DateTimeFormat} timeFormat
|
|
2791
2825
|
* @return {Object[]}
|
|
2792
2826
|
*/
|
|
@@ -3119,17 +3153,6 @@ const days = {
|
|
|
3119
3153
|
SAT: 6
|
|
3120
3154
|
};
|
|
3121
3155
|
|
|
3122
|
-
/**
|
|
3123
|
-
* @private
|
|
3124
|
-
* @constant
|
|
3125
|
-
* This method returns the tzais (nightfall) based on the opinion of the
|
|
3126
|
-
* Geonim calculated as 30 minutes after sunset during the equinox
|
|
3127
|
-
* (on March 16, about 4 days before the astronomical equinox, the day that
|
|
3128
|
-
* a solar hour is 60 minutes) in Yerushalayim.
|
|
3129
|
-
* @see {https://kosherjava.com/zmanim/docs/api/com/kosherjava/zmanim/ComplexZmanimCalendar.html#getTzaisGeonim7Point083Degrees()}
|
|
3130
|
-
*/
|
|
3131
|
-
const TZEIT_3MEDIUM_STARS = 7.083;
|
|
3132
|
-
|
|
3133
3156
|
/**
|
|
3134
3157
|
* @private
|
|
3135
3158
|
* @param {Event} e
|
|
@@ -3289,10 +3312,10 @@ class CandleLightingEvent extends TimedEvent {
|
|
|
3289
3312
|
* Makes a pair of events representing fast start and end times
|
|
3290
3313
|
* @private
|
|
3291
3314
|
* @param {Event} ev
|
|
3292
|
-
* @param {
|
|
3315
|
+
* @param {CalOptions} options
|
|
3293
3316
|
* @return {Event}
|
|
3294
3317
|
*/
|
|
3295
|
-
function makeFastStartEnd(ev,
|
|
3318
|
+
function makeFastStartEnd(ev, options) {
|
|
3296
3319
|
const desc = ev.getDesc();
|
|
3297
3320
|
if (desc === 'Yom Kippur') {
|
|
3298
3321
|
return ev;
|
|
@@ -3300,17 +3323,19 @@ function makeFastStartEnd(ev, location) {
|
|
|
3300
3323
|
ev = ev.clone();
|
|
3301
3324
|
const hd = ev.getDate();
|
|
3302
3325
|
const dt = hd.greg();
|
|
3326
|
+
const location = options.location;
|
|
3327
|
+
const fastEndDeg = options.fastEndDeg;
|
|
3303
3328
|
const zmanim = new Zmanim(dt, location.getLatitude(), location.getLongitude());
|
|
3304
3329
|
if (desc === 'Erev Tish\'a B\'Av') {
|
|
3305
3330
|
const sunset = zmanim.sunset();
|
|
3306
3331
|
ev.startEvent = makeTimedEvent(hd, sunset, 'Fast begins', ev, location);
|
|
3307
3332
|
} else if (desc.startsWith('Tish\'a B\'Av')) {
|
|
3308
|
-
ev.endEvent = makeTimedEvent(hd, zmanim.tzeit(
|
|
3333
|
+
ev.endEvent = makeTimedEvent(hd, zmanim.tzeit(fastEndDeg), 'Fast ends', ev, location);
|
|
3309
3334
|
} else {
|
|
3310
3335
|
const dawn = zmanim.alotHaShachar();
|
|
3311
3336
|
ev.startEvent = makeTimedEvent(hd, dawn, 'Fast begins', ev, location);
|
|
3312
3337
|
if (dt.getDay() !== 5 && !(hd.getDate() === 14 && hd.getMonth() === months.NISAN)) {
|
|
3313
|
-
ev.endEvent = makeTimedEvent(hd, zmanim.tzeit(
|
|
3338
|
+
ev.endEvent = makeTimedEvent(hd, zmanim.tzeit(fastEndDeg), 'Fast ends', ev, location);
|
|
3314
3339
|
}
|
|
3315
3340
|
}
|
|
3316
3341
|
return ev;
|
|
@@ -5235,7 +5260,7 @@ function getBirthdayOrAnniversary_(hyear, gdate) {
|
|
|
5235
5260
|
return new HDate(day, month, hyear);
|
|
5236
5261
|
}
|
|
5237
5262
|
|
|
5238
|
-
const version="4.
|
|
5263
|
+
const version="4.5.0";
|
|
5239
5264
|
|
|
5240
5265
|
const headers$1={"plural-forms":"nplurals=2; plural=(n > 1);"};const contexts$1={"":{Shabbat:["Shabbos"],"Achrei Mot":["Achrei Mos"],Bechukotai:["Bechukosai"],"Beha'alotcha":["Beha'aloscha"],Bereshit:["Bereshis"],Chukat:["Chukas"],"Erev Shavuot":["Erev Shavuos"],"Erev Sukkot":["Erev Sukkos"],"Ki Tavo":["Ki Savo"],"Ki Teitzei":["Ki Seitzei"],"Ki Tisa":["Ki Sisa"],Matot:["Matos"],"Purim Katan":["Purim Koton"],"Shabbat Chazon":["Shabbos Chazon"],"Shabbat HaChodesh":["Shabbos HaChodesh"],"Shabbat HaGadol":["Shabbos HaGadol"],"Shabbat Nachamu":["Shabbos Nachamu"],"Shabbat Parah":["Shabbos Parah"],"Shabbat Shekalim":["Shabbos Shekalim"],"Shabbat Shuva":["Shabbos Shuvah"],"Shabbat Zachor":["Shabbos Zachor"],Shavuot:["Shavuos"],"Shavuot I":["Shavuos I"],"Shavuot II":["Shavuos II"],Shemot:["Shemos"],"Shmini Atzeret":["Shmini Atzeres"],"Simchat Torah":["Simchas Torah"],Sukkot:["Sukkos"],"Sukkot I":["Sukkos I"],"Sukkot II":["Sukkos II"],"Sukkot II (CH''M)":["Sukkos II (CH''M)"],"Sukkot III (CH''M)":["Sukkos III (CH''M)"],"Sukkot IV (CH''M)":["Sukkos IV (CH''M)"],"Sukkot V (CH''M)":["Sukkos V (CH''M)"],"Sukkot VI (CH''M)":["Sukkos VI (CH''M)"],"Sukkot VII (Hoshana Raba)":["Sukkos VII (Hoshana Raba)"],"Ta'anit Bechorot":["Ta'anis Bechoros"],"Ta'anit Esther":["Ta'anis Esther"],Toldot:["Toldos"],Vaetchanan:["Vaeschanan"],Yitro:["Yisro"],"Vezot Haberakhah":["Vezos Haberakhah"],Parashat:["Parshas"],"Leil Selichot":["Leil Selichos"],"Shabbat Mevarchim Chodesh":["Shabbos Mevorchim Chodesh"],"Shabbat Shirah":["Shabbos Shirah"],Tevet:["Teves"],"Asara B'Tevet":["Asara B'Teves"],"Alot HaShachar":["Alos HaShachar"],"Kriat Shema, sof zeman":["Krias Shema, sof zman"],"Tefilah, sof zeman":["Tefilah, sof zman"],"Kriat Shema, sof zeman (MGA)":["Krias Shema, sof zman (MGA)"],"Tefilah, sof zeman (MGA)":["Tefilah, sof zman (MGA)"],"Chatzot HaLailah":["Chatzos HaLailah"],"Chatzot hayom":["Chatzos"],"Tzeit HaKochavim":["Tzeis HaKochavim"],"Birkat Hachamah":["Birkas Hachamah"],"Shushan Purim Katan":["Shushan Purim Koton"]}};var poAshkenazi = {headers:headers$1,contexts:contexts$1};
|
|
5241
5266
|
|
|
@@ -5478,11 +5503,15 @@ const MAJOR_FAST = flags.MAJOR_FAST;
|
|
|
5478
5503
|
const ROSH_CHODESH = flags.ROSH_CHODESH;
|
|
5479
5504
|
const PARSHA_HASHAVUA = flags.PARSHA_HASHAVUA;
|
|
5480
5505
|
const DAF_YOMI = flags.DAF_YOMI;
|
|
5506
|
+
const MISHNA_YOMI = flags.MISHNA_YOMI;
|
|
5507
|
+
const NACH_YOMI = flags.NACH_YOMI;
|
|
5508
|
+
const YERUSHALMI_YOMI = flags.YERUSHALMI_YOMI;
|
|
5481
5509
|
const OMER_COUNT = flags.OMER_COUNT;
|
|
5482
5510
|
const SHABBAT_MEVARCHIM = flags.SHABBAT_MEVARCHIM;
|
|
5483
5511
|
const MINOR_HOLIDAY = flags.MINOR_HOLIDAY;
|
|
5484
5512
|
const EREV = flags.EREV;
|
|
5485
5513
|
const CHOL_HAMOED = flags.CHOL_HAMOED;
|
|
5514
|
+
const YOM_KIPPUR_KATAN = flags.YOM_KIPPUR_KATAN;
|
|
5486
5515
|
const unrecognizedAlreadyWarned = Object.create(null);
|
|
5487
5516
|
const RECOGNIZED_OPTIONS = {
|
|
5488
5517
|
location: 1,
|
|
@@ -5496,6 +5525,7 @@ const RECOGNIZED_OPTIONS = {
|
|
|
5496
5525
|
candleLightingMins: 1,
|
|
5497
5526
|
havdalahMins: 1,
|
|
5498
5527
|
havdalahDeg: 1,
|
|
5528
|
+
fastEndDeg: 1,
|
|
5499
5529
|
sedrot: 1,
|
|
5500
5530
|
il: 1,
|
|
5501
5531
|
noMinorFast: 1,
|
|
@@ -5559,6 +5589,27 @@ const geoIdCandleOffset = {
|
|
|
5559
5589
|
'293067': 30 // Zikhron Yaakov
|
|
5560
5590
|
};
|
|
5561
5591
|
|
|
5592
|
+
/**
|
|
5593
|
+
* @private
|
|
5594
|
+
* @constant
|
|
5595
|
+
* This calculation is based on the position of the sun 36 minutes after sunset in Jerusalem
|
|
5596
|
+
* around the equinox / equilux, which is 8.5° below geometric zenith.
|
|
5597
|
+
* The Ohr Meir considers this the time that 3 small stars are visible,
|
|
5598
|
+
* which is later than the required 3 medium stars.
|
|
5599
|
+
* @see {https://kosherjava.com/zmanim/docs/api/com/kosherjava/zmanim/ZmanimCalendar.html#ZENITH_8_POINT_5}
|
|
5600
|
+
*/
|
|
5601
|
+
const TZEIT_3SMALL_STARS = 8.5;
|
|
5602
|
+
|
|
5603
|
+
/**
|
|
5604
|
+
* @private
|
|
5605
|
+
* @constant
|
|
5606
|
+
* This calculation is based on observation of 3 medium sized stars by Dr. Baruch Cohen
|
|
5607
|
+
* in his calendar published in in 1899 in Strasbourg, France.
|
|
5608
|
+
* This calculates to 7.0833333° below geometric zenith.
|
|
5609
|
+
* @see {https://kosherjava.com/zmanim/docs/api/com/kosherjava/zmanim/ComplexZmanimCalendar.html#ZENITH_7_POINT_083}
|
|
5610
|
+
*/
|
|
5611
|
+
const TZEIT_3MEDIUM_STARS = 7.0833333;
|
|
5612
|
+
|
|
5562
5613
|
/**
|
|
5563
5614
|
* Modifies options in-place
|
|
5564
5615
|
* @private
|
|
@@ -5593,7 +5644,10 @@ function checkCandleOptions(options) {
|
|
|
5593
5644
|
} else if (typeof options.havdalahDeg === 'number') {
|
|
5594
5645
|
options.havdalahDeg = Math.abs(options.havdalahDeg);
|
|
5595
5646
|
} else {
|
|
5596
|
-
options.havdalahDeg =
|
|
5647
|
+
options.havdalahDeg = TZEIT_3SMALL_STARS;
|
|
5648
|
+
}
|
|
5649
|
+
if (typeof options.fastEndDeg !== 'number') {
|
|
5650
|
+
options.fastEndDeg = TZEIT_3MEDIUM_STARS;
|
|
5597
5651
|
}
|
|
5598
5652
|
}
|
|
5599
5653
|
|
|
@@ -5612,10 +5666,14 @@ function checkCandleOptions(options) {
|
|
|
5612
5666
|
* @property {number} havdalahMins - minutes after sundown for Havdalah (typical values are 42, 50, or 72).
|
|
5613
5667
|
* If `undefined` (the default), calculate Havdalah according to Tzeit Hakochavim -
|
|
5614
5668
|
* Nightfall (the point when 3 small stars are observable in the night time sky with
|
|
5615
|
-
* the naked eye). If `0`, Havdalah times are
|
|
5669
|
+
* the naked eye). If `0`, Havdalah times are suppressed.
|
|
5616
5670
|
* @property {number} havdalahDeg - degrees for solar depression for Havdalah.
|
|
5617
|
-
* Default is 8.5 degrees for 3 small stars. use 7.083
|
|
5618
|
-
*
|
|
5671
|
+
* Default is 8.5 degrees for 3 small stars. use 7.083 degrees for 3 medium-sized stars
|
|
5672
|
+
* (observed by Dr. Baruch (Berthold) Cohn in his luach published in France in 1899).
|
|
5673
|
+
* If `0`, Havdalah times are suppressed.
|
|
5674
|
+
* @property {number} fastEndDeg - degrees for solar depression for end of fast days.
|
|
5675
|
+
* Default is 7.083 degrees for 3 medium-sized stars. Other commonly-used values include
|
|
5676
|
+
* 6.45 degrees, as calculated by Rabbi Yechiel Michel Tucazinsky.
|
|
5619
5677
|
* @property {boolean} sedrot - calculate parashah hashavua on Saturdays
|
|
5620
5678
|
* @property {boolean} il - Israeli holiday and sedra schedule
|
|
5621
5679
|
* @property {boolean} noMinorFast - suppress minor fasts
|
|
@@ -5738,33 +5796,7 @@ function getStartAndEnd(options) {
|
|
|
5738
5796
|
function getMaskFromOptions(options) {
|
|
5739
5797
|
var _options$location;
|
|
5740
5798
|
if (typeof options.mask === 'number') {
|
|
5741
|
-
|
|
5742
|
-
if (m & ROSH_CHODESH) delete options.noRoshChodesh;
|
|
5743
|
-
if (m & MODERN_HOLIDAY) delete options.noModern;
|
|
5744
|
-
if (m & MINOR_FAST) delete options.noMinorFast;
|
|
5745
|
-
if (m & SPECIAL_SHABBAT) delete options.noSpecialShabbat;
|
|
5746
|
-
if (m & PARSHA_HASHAVUA) options.sedrot = true;
|
|
5747
|
-
if (m & DAF_YOMI) {
|
|
5748
|
-
options.dailyLearning = options.dailyLearning || {};
|
|
5749
|
-
options.dailyLearning.dafYomi = true;
|
|
5750
|
-
}
|
|
5751
|
-
if (m & OMER_COUNT) options.omer = true;
|
|
5752
|
-
if (m & SHABBAT_MEVARCHIM) options.shabbatMevarchim = true;
|
|
5753
|
-
if (m & flags.MISHNA_YOMI) {
|
|
5754
|
-
options.dailyLearning = options.dailyLearning || {};
|
|
5755
|
-
options.dailyLearning.mishnaYomi = true;
|
|
5756
|
-
}
|
|
5757
|
-
if (m & flags.NACH_YOMI) {
|
|
5758
|
-
options.dailyLearning = options.dailyLearning || {};
|
|
5759
|
-
options.dailyLearning.nachYomi = true;
|
|
5760
|
-
}
|
|
5761
|
-
if (m & flags.YOM_KIPPUR_KATAN) options.yomKippurKatan = true;
|
|
5762
|
-
if (m & flags.YERUSHALMI_YOMI) {
|
|
5763
|
-
options.dailyLearning = options.dailyLearning || {};
|
|
5764
|
-
options.dailyLearning.yerushalmi = 1;
|
|
5765
|
-
}
|
|
5766
|
-
options.userMask = true;
|
|
5767
|
-
return m;
|
|
5799
|
+
return setOptionsFromMask(options);
|
|
5768
5800
|
}
|
|
5769
5801
|
const il = options.il || ((_options$location = options.location) === null || _options$location === void 0 ? void 0 : _options$location.il) || false;
|
|
5770
5802
|
let mask = 0;
|
|
@@ -5806,7 +5838,7 @@ function getMaskFromOptions(options) {
|
|
|
5806
5838
|
mask |= SHABBAT_MEVARCHIM;
|
|
5807
5839
|
}
|
|
5808
5840
|
if (options.yomKippurKatan) {
|
|
5809
|
-
mask |=
|
|
5841
|
+
mask |= YOM_KIPPUR_KATAN;
|
|
5810
5842
|
}
|
|
5811
5843
|
if (options.dailyLearning) {
|
|
5812
5844
|
const dailyLearning = options.dailyLearning;
|
|
@@ -5814,13 +5846,13 @@ function getMaskFromOptions(options) {
|
|
|
5814
5846
|
mask |= DAF_YOMI;
|
|
5815
5847
|
}
|
|
5816
5848
|
if (dailyLearning.mishnaYomi) {
|
|
5817
|
-
mask |=
|
|
5849
|
+
mask |= MISHNA_YOMI;
|
|
5818
5850
|
}
|
|
5819
5851
|
if (dailyLearning.nachYomi) {
|
|
5820
|
-
mask |=
|
|
5852
|
+
mask |= NACH_YOMI;
|
|
5821
5853
|
}
|
|
5822
5854
|
if (dailyLearning.yerushalmi) {
|
|
5823
|
-
mask |=
|
|
5855
|
+
mask |= YERUSHALMI_YOMI;
|
|
5824
5856
|
}
|
|
5825
5857
|
}
|
|
5826
5858
|
return mask;
|
|
@@ -5842,6 +5874,40 @@ const hour12cc = {
|
|
|
5842
5874
|
ZA: 1
|
|
5843
5875
|
};
|
|
5844
5876
|
|
|
5877
|
+
/**
|
|
5878
|
+
* @private
|
|
5879
|
+
* @param {CalOptions} options
|
|
5880
|
+
* @return {number}
|
|
5881
|
+
*/
|
|
5882
|
+
function setOptionsFromMask(options) {
|
|
5883
|
+
const m = options.mask;
|
|
5884
|
+
if (m & ROSH_CHODESH) delete options.noRoshChodesh;
|
|
5885
|
+
if (m & MODERN_HOLIDAY) delete options.noModern;
|
|
5886
|
+
if (m & MINOR_FAST) delete options.noMinorFast;
|
|
5887
|
+
if (m & SPECIAL_SHABBAT) delete options.noSpecialShabbat;
|
|
5888
|
+
if (m & PARSHA_HASHAVUA) options.sedrot = true;
|
|
5889
|
+
if (m & (DAF_YOMI | MISHNA_YOMI | NACH_YOMI | YERUSHALMI_YOMI)) {
|
|
5890
|
+
options.dailyLearning = options.dailyLearning || {};
|
|
5891
|
+
if (m & DAF_YOMI) {
|
|
5892
|
+
options.dailyLearning.dafYomi = true;
|
|
5893
|
+
}
|
|
5894
|
+
if (m & MISHNA_YOMI) {
|
|
5895
|
+
options.dailyLearning.mishnaYomi = true;
|
|
5896
|
+
}
|
|
5897
|
+
if (m & NACH_YOMI) {
|
|
5898
|
+
options.dailyLearning.nachYomi = true;
|
|
5899
|
+
}
|
|
5900
|
+
if (m & YERUSHALMI_YOMI) {
|
|
5901
|
+
options.dailyLearning.yerushalmi = 1;
|
|
5902
|
+
}
|
|
5903
|
+
}
|
|
5904
|
+
if (m & OMER_COUNT) options.omer = true;
|
|
5905
|
+
if (m & SHABBAT_MEVARCHIM) options.shabbatMevarchim = true;
|
|
5906
|
+
if (m & YOM_KIPPUR_KATAN) options.yomKippurKatan = true;
|
|
5907
|
+
options.userMask = true;
|
|
5908
|
+
return m;
|
|
5909
|
+
}
|
|
5910
|
+
|
|
5845
5911
|
/**
|
|
5846
5912
|
* @private
|
|
5847
5913
|
* @param {Event} ev
|
|
@@ -5928,10 +5994,10 @@ class HebrewCalendar {
|
|
|
5928
5994
|
* These defaults can be changed using these options:
|
|
5929
5995
|
* * `options.candleLightingMins` - minutes before sundown to light candles
|
|
5930
5996
|
* * `options.havdalahMins` - minutes after sundown for Havdalah (typical values are 42, 50, or 72).
|
|
5931
|
-
* Havdalah times are
|
|
5997
|
+
* Havdalah times are suppressed when `options.havdalahMins=0`.
|
|
5932
5998
|
* * `options.havdalahDeg` - degrees for solar depression for Havdalah.
|
|
5933
|
-
* Default is 8.5 degrees for 3 small stars. Use 7.083
|
|
5934
|
-
* Havdalah times are
|
|
5999
|
+
* Default is 8.5 degrees for 3 small stars. Use 7.083 degrees for 3 medium-sized stars.
|
|
6000
|
+
* Havdalah times are suppressed when `options.havdalahDeg=0`.
|
|
5935
6001
|
*
|
|
5936
6002
|
* If both `options.candlelighting=true` and `options.location` is specified,
|
|
5937
6003
|
* Chanukah candle-lighting times and minor fast start/end times will also be generated.
|
|
@@ -6334,7 +6400,7 @@ function appendHolidayAndRelated(events, ev, options, candlesEv, dow) {
|
|
|
6334
6400
|
}
|
|
6335
6401
|
|
|
6336
6402
|
const eFlags = ev.getFlags();
|
|
6337
|
-
if (!options.yomKippurKatan && eFlags &
|
|
6403
|
+
if (!options.yomKippurKatan && eFlags & YOM_KIPPUR_KATAN || options.noModern && eFlags & MODERN_HOLIDAY) {
|
|
6338
6404
|
return candlesEv; // bail out early
|
|
6339
6405
|
}
|
|
6340
6406
|
|
|
@@ -6342,7 +6408,7 @@ function appendHolidayAndRelated(events, ev, options, candlesEv, dow) {
|
|
|
6342
6408
|
const isMajorFast = Boolean(eFlags & MAJOR_FAST);
|
|
6343
6409
|
const isMinorFast = Boolean(eFlags & MINOR_FAST);
|
|
6344
6410
|
if (options.candlelighting && (isMajorFast || isMinorFast)) {
|
|
6345
|
-
ev = makeFastStartEnd(ev,
|
|
6411
|
+
ev = makeFastStartEnd(ev, options);
|
|
6346
6412
|
if (ev.startEvent && (isMajorFast || isMinorFast && !options.noMinorFast)) {
|
|
6347
6413
|
events.push(ev.startEvent);
|
|
6348
6414
|
}
|
|
@@ -6366,7 +6432,7 @@ function appendHolidayAndRelated(events, ev, options, candlesEv, dow) {
|
|
|
6366
6432
|
candlesEv = undefined;
|
|
6367
6433
|
}
|
|
6368
6434
|
}
|
|
6369
|
-
if (!options.noHolidays || options.yomKippurKatan && eFlags &
|
|
6435
|
+
if (!options.noHolidays || options.yomKippurKatan && eFlags & YOM_KIPPUR_KATAN) {
|
|
6370
6436
|
events.push(ev); // the original event itself
|
|
6371
6437
|
}
|
|
6372
6438
|
}
|
package/hebcal.d.ts
CHANGED
|
@@ -306,7 +306,7 @@ declare module '@hebcal/core' {
|
|
|
306
306
|
/**
|
|
307
307
|
* @deprecated
|
|
308
308
|
* @param [angle=8.5] optional time for solar depression.
|
|
309
|
-
* Default is 8.5 degrees for 3 small stars, use 7.083
|
|
309
|
+
* Default is 8.5 degrees for 3 small stars, use 7.083 degrees for 3 medium-sized stars.
|
|
310
310
|
*/
|
|
311
311
|
tzeit(hdate: Date | HDate, angle?: number): Date;
|
|
312
312
|
/**
|
|
@@ -361,12 +361,19 @@ declare module '@hebcal/core' {
|
|
|
361
361
|
}
|
|
362
362
|
|
|
363
363
|
/**
|
|
364
|
-
*
|
|
364
|
+
* Calculate halachic times (zmanim / זְמַנִּים) for a given day and location.
|
|
365
|
+
* Calculations are available for tzeit / tzais (nightfall),
|
|
366
|
+
* shkiah (sunset) and more.
|
|
367
|
+
*
|
|
368
|
+
* Zmanim are estimated using an algorithm published by the US National
|
|
369
|
+
* Oceanic and Atmospheric Administration. The NOAA solar calculator is
|
|
370
|
+
* based on equations from _Astronomical Algorithms_ by Jean Meeus.
|
|
365
371
|
*/
|
|
366
372
|
export class Zmanim {
|
|
367
373
|
/**
|
|
368
374
|
* Initialize a Zmanim instance
|
|
369
|
-
* @param date Regular or Hebrew Date
|
|
375
|
+
* @param date Regular or Hebrew Date. If `date` is a regular `Date`,
|
|
376
|
+
* hours, minutes, seconds and milliseconds are ignored
|
|
370
377
|
* @param latitude
|
|
371
378
|
* @param longitude
|
|
372
379
|
*/
|
|
@@ -389,6 +396,12 @@ declare module '@hebcal/core' {
|
|
|
389
396
|
*/
|
|
390
397
|
static timeZoneOffset(tzid: string, date: Date): string;
|
|
391
398
|
|
|
399
|
+
/**
|
|
400
|
+
* Convenience function to get the time when sun is above or below the
|
|
401
|
+
* horizon for a certain angle (in degrees).
|
|
402
|
+
*/
|
|
403
|
+
timeAtAngle(angle: number, rising: boolean): Date;
|
|
404
|
+
|
|
392
405
|
/** @deprecated */
|
|
393
406
|
suntime(): ZmanimTimesResult;
|
|
394
407
|
/** Upper edge of the Sun appears over the eastern horizon in the morning (0.833° above horizon) */
|
|
@@ -431,7 +444,7 @@ declare module '@hebcal/core' {
|
|
|
431
444
|
plagHaMincha(): Date;
|
|
432
445
|
/**
|
|
433
446
|
* @param [angle=8.5] optional time for solar depression.
|
|
434
|
-
* Default is 8.5 degrees for 3 small stars, use 7.083
|
|
447
|
+
* Default is 8.5 degrees for 3 small stars, use 7.083 degrees for 3 medium-sized stars.
|
|
435
448
|
*/
|
|
436
449
|
tzeit(angle?: number): Date;
|
|
437
450
|
/** Alias for sunrise */
|
|
@@ -459,7 +472,7 @@ declare module '@hebcal/core' {
|
|
|
459
472
|
* Returns an array with tzeit Date object and a 24-hour string formatted time.
|
|
460
473
|
* @deprecated
|
|
461
474
|
* @param angle optional time for solar depression.
|
|
462
|
-
* Default is 8.5 degrees for 3 small stars, use 7.083
|
|
475
|
+
* Default is 8.5 degrees for 3 small stars, use 7.083 degrees for 3 medium-sized stars.
|
|
463
476
|
*/
|
|
464
477
|
tzeitTime(angle: number, timeFormat: Intl.DateTimeFormat): any[];
|
|
465
478
|
}
|
|
@@ -577,16 +590,24 @@ declare module '@hebcal/core' {
|
|
|
577
590
|
* minutes after sundown for Havdalah (typical values are 42, 50, or 72).
|
|
578
591
|
* If `undefined` (the default), calculate Havdalah according to Tzeit Hakochavim -
|
|
579
592
|
* Nightfall (the point when 3 small stars are observable in the night time sky with
|
|
580
|
-
* the naked eye). If `0`, Havdalah times are
|
|
593
|
+
* the naked eye). If `0`, Havdalah times are suppressed.
|
|
581
594
|
*/
|
|
582
595
|
havdalahMins?: number;
|
|
583
596
|
/**
|
|
584
597
|
* degrees for solar depression for Havdalah.
|
|
585
598
|
* Default is 8.5 degrees for 3 small stars.
|
|
586
|
-
* Use 7.083
|
|
587
|
-
*
|
|
599
|
+
* Use 7.083 degrees for 3 medium-sized stars (as observed by Dr. Baruch
|
|
600
|
+
* (Berthold) Cohn in his luach published in France in 1899).
|
|
601
|
+
* Havdalah times are suppressed when `havdalahDeg=0`.
|
|
588
602
|
*/
|
|
589
603
|
havdalahDeg?: number;
|
|
604
|
+
/**
|
|
605
|
+
* fastEndDeg - degrees for solar depression for end of fast days.
|
|
606
|
+
* Default is 7.083 degrees for 3 medium-sized stars. Another
|
|
607
|
+
* commonly-used value is 6.45 degrees, as calculated by Rabbi
|
|
608
|
+
* Yechiel Michel Tucazinsky.
|
|
609
|
+
*/
|
|
610
|
+
fastEndDeg?: number;
|
|
590
611
|
/** calculate parashah hashavua on Saturdays */
|
|
591
612
|
sedrot?: boolean;
|
|
592
613
|
/** Israeli holiday and sedra schedule */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hebcal/core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.5.0",
|
|
4
4
|
"author": "Michael J. Radwin (https://github.com/mjradwin)",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Eyal Schachter (https://github.com/Scimonster)",
|
|
@@ -40,7 +40,6 @@
|
|
|
40
40
|
],
|
|
41
41
|
"scripts": {
|
|
42
42
|
"build:rollup": "rollup -c",
|
|
43
|
-
"build:babel": "babel src --out-dir dist --source-maps",
|
|
44
43
|
"build": "npm run po2json && npm run build:rollup",
|
|
45
44
|
"prepublish": "npm run build",
|
|
46
45
|
"po2json": "node ./po2json.js po/*.po",
|
|
@@ -71,13 +70,13 @@
|
|
|
71
70
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
72
71
|
"@rollup/plugin-terser": "^0.4.4",
|
|
73
72
|
"ava": "^5.3.1",
|
|
74
|
-
"core-js": "^3.33.
|
|
75
|
-
"eslint": "^8.
|
|
73
|
+
"core-js": "^3.33.2",
|
|
74
|
+
"eslint": "^8.52.0",
|
|
76
75
|
"eslint-config-google": "^0.14.0",
|
|
77
76
|
"jsdoc": "^4.0.2",
|
|
78
77
|
"jsdoc-to-markdown": "^8.0.0",
|
|
79
78
|
"nyc": "^15.1.0",
|
|
80
|
-
"rollup": "^4.
|
|
79
|
+
"rollup": "^4.2.0",
|
|
81
80
|
"ttag-cli": "^1.10.6"
|
|
82
81
|
}
|
|
83
82
|
}
|