@hebcal/core 3.38.0 → 3.38.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 +39 -37
- package/dist/bundle.js +229 -239
- package/dist/bundle.min.js +1 -1
- package/dist/hdate-bundle.js +50 -35
- package/dist/hdate-bundle.min.js +1 -1
- package/dist/hdate.js +49 -34
- package/dist/hdate.mjs +49 -34
- package/dist/hdate0-bundle.js +23 -26
- package/dist/hdate0-bundle.min.js +1 -1
- package/dist/index.js +85 -95
- package/dist/index.mjs +85 -95
- package/package.json +9 -9
package/dist/index.js
CHANGED
|
@@ -18,10 +18,14 @@ function _defineProperty(obj, key, value) {
|
|
|
18
18
|
return obj;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
/*
|
|
22
22
|
* More minimal greg routines
|
|
23
23
|
*/
|
|
24
|
+
|
|
25
|
+
/** @private */
|
|
24
26
|
const lengths = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
27
|
+
/** @private */
|
|
28
|
+
|
|
25
29
|
const monthLengths = [lengths, lengths.slice()];
|
|
26
30
|
monthLengths[1][2] = 29;
|
|
27
31
|
/**
|
|
@@ -86,7 +90,7 @@ function isDate(obj) {
|
|
|
86
90
|
|
|
87
91
|
function dayOfYear(date) {
|
|
88
92
|
if (!isDate(date)) {
|
|
89
|
-
throw new TypeError(
|
|
93
|
+
throw new TypeError(`Argument not a Date: ${date}`);
|
|
90
94
|
}
|
|
91
95
|
|
|
92
96
|
let doy = date.getDate() + 31 * date.getMonth();
|
|
@@ -111,7 +115,7 @@ function dayOfYear(date) {
|
|
|
111
115
|
|
|
112
116
|
function greg2abs(date) {
|
|
113
117
|
if (!isDate(date)) {
|
|
114
|
-
throw new TypeError(
|
|
118
|
+
throw new TypeError(`Argument not a Date: ${date}`);
|
|
115
119
|
}
|
|
116
120
|
|
|
117
121
|
const year = date.getFullYear() - 1;
|
|
@@ -166,7 +170,7 @@ function toFixed(year, month, day) {
|
|
|
166
170
|
|
|
167
171
|
function abs2greg(abs) {
|
|
168
172
|
if (typeof abs !== 'number') {
|
|
169
|
-
throw new TypeError(
|
|
173
|
+
throw new TypeError(`Argument not a Number: ${abs}`);
|
|
170
174
|
}
|
|
171
175
|
|
|
172
176
|
abs = Math.trunc(abs);
|
|
@@ -619,7 +623,7 @@ Locale.addLocale('s', noopLocale);
|
|
|
619
623
|
Locale.addLocale('', noopLocale);
|
|
620
624
|
Locale.useLocale('en');
|
|
621
625
|
|
|
622
|
-
|
|
626
|
+
/*
|
|
623
627
|
* More minimal HDate
|
|
624
628
|
*/
|
|
625
629
|
const NISAN$3 = 1;
|
|
@@ -697,6 +701,7 @@ const AVG_HEBYEAR_DAYS = 365.24682220597794;
|
|
|
697
701
|
* Converts Hebrew date to R.D. (Rata Die) fixed days.
|
|
698
702
|
* R.D. 1 is the imaginary date Monday, January 1, 1 on the Gregorian
|
|
699
703
|
* Calendar.
|
|
704
|
+
* @private
|
|
700
705
|
* @param {number} year Hebrew year
|
|
701
706
|
* @param {number} month Hebrew month
|
|
702
707
|
* @param {number} day Hebrew date (1-30)
|
|
@@ -729,25 +734,7 @@ function hebrew2abs(year, month, day) {
|
|
|
729
734
|
*/
|
|
730
735
|
|
|
731
736
|
function newYear(year) {
|
|
732
|
-
return EPOCH + elapsedDays(year)
|
|
733
|
-
}
|
|
734
|
-
/**
|
|
735
|
-
* @private
|
|
736
|
-
* @param {number} year
|
|
737
|
-
* @return {number}
|
|
738
|
-
*/
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
function newYearDelay(year) {
|
|
742
|
-
const ny1 = elapsedDays(year);
|
|
743
|
-
const ny2 = elapsedDays(year + 1);
|
|
744
|
-
|
|
745
|
-
if (ny2 - ny1 === 356) {
|
|
746
|
-
return 2;
|
|
747
|
-
} else {
|
|
748
|
-
const ny0 = elapsedDays(year - 1);
|
|
749
|
-
return ny1 - ny0 === 382 ? 1 : 0;
|
|
750
|
-
}
|
|
737
|
+
return EPOCH + elapsedDays(year);
|
|
751
738
|
}
|
|
752
739
|
/**
|
|
753
740
|
* Converts absolute R.D. days to Hebrew date
|
|
@@ -786,6 +773,7 @@ function abs2hebrew(abs) {
|
|
|
786
773
|
}
|
|
787
774
|
/**
|
|
788
775
|
* Returns true if Hebrew year is a leap year
|
|
776
|
+
* @private
|
|
789
777
|
* @param {number} year Hebrew year
|
|
790
778
|
* @return {boolean}
|
|
791
779
|
*/
|
|
@@ -795,6 +783,7 @@ function isLeapYear(year) {
|
|
|
795
783
|
}
|
|
796
784
|
/**
|
|
797
785
|
* Number of months in this Hebrew year (either 12 or 13 depending on leap year)
|
|
786
|
+
* @private
|
|
798
787
|
* @param {number} year Hebrew year
|
|
799
788
|
* @return {number}
|
|
800
789
|
*/
|
|
@@ -804,6 +793,7 @@ function monthsInYear(year) {
|
|
|
804
793
|
}
|
|
805
794
|
/**
|
|
806
795
|
* Number of days in Hebrew month in a given year (29 or 30)
|
|
796
|
+
* @private
|
|
807
797
|
* @param {number} month Hebrew month (e.g. months.TISHREI)
|
|
808
798
|
* @param {number} year Hebrew year
|
|
809
799
|
* @return {number}
|
|
@@ -828,13 +818,14 @@ function daysInMonth(month, year) {
|
|
|
828
818
|
/**
|
|
829
819
|
* Returns a transliterated string name of Hebrew month in year,
|
|
830
820
|
* for example 'Elul' or 'Cheshvan'.
|
|
821
|
+
* @private
|
|
831
822
|
* @param {number} month Hebrew month (e.g. months.TISHREI)
|
|
832
823
|
* @param {number} year Hebrew year
|
|
833
824
|
* @return {string}
|
|
834
825
|
*/
|
|
835
826
|
|
|
836
827
|
function getMonthName(month, year) {
|
|
837
|
-
if (typeof month !== 'number' || month < 1 || month > 14) {
|
|
828
|
+
if (typeof month !== 'number' || isNaN(month) || month < 1 || month > 14) {
|
|
838
829
|
throw new TypeError(`bad month argument ${month}`);
|
|
839
830
|
}
|
|
840
831
|
|
|
@@ -843,6 +834,7 @@ function getMonthName(month, year) {
|
|
|
843
834
|
/**
|
|
844
835
|
* Days from sunday prior to start of Hebrew calendar to mean
|
|
845
836
|
* conjunction of Tishrei in Hebrew YEAR
|
|
837
|
+
* @private
|
|
846
838
|
* @param {number} year Hebrew year
|
|
847
839
|
* @return {number}
|
|
848
840
|
*/
|
|
@@ -873,7 +865,10 @@ function elapsedDays0(year) {
|
|
|
873
865
|
return altDay + (altDay % 7 === 0 || altDay % 7 === 3 || altDay % 7 === 5);
|
|
874
866
|
}
|
|
875
867
|
/**
|
|
876
|
-
* Number of days in the hebrew YEAR
|
|
868
|
+
* Number of days in the hebrew YEAR.
|
|
869
|
+
* A common Hebrew calendar year can have a length of 353, 354 or 355 days
|
|
870
|
+
* A leap Hebrew calendar year can have a length of 383, 384 or 385 days
|
|
871
|
+
* @private
|
|
877
872
|
* @param {number} year Hebrew year
|
|
878
873
|
* @return {number}
|
|
879
874
|
*/
|
|
@@ -884,6 +879,7 @@ function daysInYear(year) {
|
|
|
884
879
|
}
|
|
885
880
|
/**
|
|
886
881
|
* true if Cheshvan is long in Hebrew year
|
|
882
|
+
* @private
|
|
887
883
|
* @param {number} year Hebrew year
|
|
888
884
|
* @return {boolean}
|
|
889
885
|
*/
|
|
@@ -893,6 +889,7 @@ function longCheshvan(year) {
|
|
|
893
889
|
}
|
|
894
890
|
/**
|
|
895
891
|
* true if Kislev is short in Hebrew year
|
|
892
|
+
* @private
|
|
896
893
|
* @param {number} year Hebrew year
|
|
897
894
|
* @return {boolean}
|
|
898
895
|
*/
|
|
@@ -1002,19 +999,22 @@ class HDate {
|
|
|
1002
999
|
* @type {number}
|
|
1003
1000
|
*/
|
|
1004
1001
|
|
|
1005
|
-
|
|
1002
|
+
year = parseInt(year, 10);
|
|
1006
1003
|
|
|
1007
|
-
if (isNaN(
|
|
1004
|
+
if (isNaN(year)) {
|
|
1008
1005
|
throw new TypeError(`HDate called with bad year argument: ${year}`);
|
|
1009
1006
|
}
|
|
1010
1007
|
|
|
1008
|
+
this.year = year;
|
|
1011
1009
|
this.setMonth(month); // will throw if we can't parse
|
|
1012
1010
|
|
|
1013
|
-
|
|
1011
|
+
day = parseInt(day, 10);
|
|
1014
1012
|
|
|
1015
|
-
if (isNaN(
|
|
1013
|
+
if (isNaN(day)) {
|
|
1016
1014
|
throw new TypeError(`HDate called with bad day argument: ${day}`);
|
|
1017
1015
|
}
|
|
1016
|
+
|
|
1017
|
+
this.setDate(day);
|
|
1018
1018
|
} else {
|
|
1019
1019
|
// 0 arguments
|
|
1020
1020
|
if (typeof day === 'undefined') {
|
|
@@ -1022,7 +1022,7 @@ class HDate {
|
|
|
1022
1022
|
} // 1 argument
|
|
1023
1023
|
|
|
1024
1024
|
|
|
1025
|
-
const abs0 = typeof day === 'number' && !isNaN(day) ? day :
|
|
1025
|
+
const abs0 = typeof day === 'number' && !isNaN(day) ? day : isDate(day) ? greg2abs(day) : HDate.isHDate(day) ? {
|
|
1026
1026
|
dd: day.day,
|
|
1027
1027
|
mm: day.month,
|
|
1028
1028
|
yy: day.year
|
|
@@ -1167,7 +1167,7 @@ class HDate {
|
|
|
1167
1167
|
|
|
1168
1168
|
|
|
1169
1169
|
greg() {
|
|
1170
|
-
return
|
|
1170
|
+
return abs2greg(this.abs());
|
|
1171
1171
|
}
|
|
1172
1172
|
/**
|
|
1173
1173
|
* Returns R.D. (Rata Die) fixed days.
|
|
@@ -1566,7 +1566,15 @@ class HDate {
|
|
|
1566
1566
|
|
|
1567
1567
|
|
|
1568
1568
|
static monthNum(month) {
|
|
1569
|
-
|
|
1569
|
+
if (typeof month === 'number') {
|
|
1570
|
+
if (isNaN(month) || month > 14) {
|
|
1571
|
+
throw new RangeError(`Invalid month number: ${month}`);
|
|
1572
|
+
}
|
|
1573
|
+
|
|
1574
|
+
return month;
|
|
1575
|
+
}
|
|
1576
|
+
|
|
1577
|
+
return month.charCodeAt(0) >= 48 && month.charCodeAt(0) <= 57 ?
|
|
1570
1578
|
/* number */
|
|
1571
1579
|
parseInt(month, 10) : HDate.monthFromName(month);
|
|
1572
1580
|
}
|
|
@@ -1608,7 +1616,14 @@ class HDate {
|
|
|
1608
1616
|
|
|
1609
1617
|
|
|
1610
1618
|
static monthFromName(monthName) {
|
|
1611
|
-
if (typeof monthName === 'number')
|
|
1619
|
+
if (typeof monthName === 'number') {
|
|
1620
|
+
if (isNaN(monthName) || monthName < 1 || monthName > 14) {
|
|
1621
|
+
throw new RangeError(`Invalid month name: ${monthName}`);
|
|
1622
|
+
}
|
|
1623
|
+
|
|
1624
|
+
return monthName;
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1612
1627
|
const c = monthName.toLowerCase();
|
|
1613
1628
|
/*
|
|
1614
1629
|
the Hebrew months are unique to their second letter
|
|
@@ -1840,31 +1855,6 @@ function onOrBefore(day, t, offset) {
|
|
|
1840
1855
|
return new HDate(HDate.dayOnOrBefore(day, t.abs() + offset));
|
|
1841
1856
|
}
|
|
1842
1857
|
|
|
1843
|
-
const CHAG$1 = 0x000001;
|
|
1844
|
-
const LIGHT_CANDLES$2 = 0x000002;
|
|
1845
|
-
const YOM_TOV_ENDS$2 = 0x000004;
|
|
1846
|
-
const CHUL_ONLY$2 = 0x000008; // chutz l'aretz (Diaspora)
|
|
1847
|
-
|
|
1848
|
-
const IL_ONLY$2 = 0x000010; // b'aretz (Israel)
|
|
1849
|
-
|
|
1850
|
-
const LIGHT_CANDLES_TZEIS$2 = 0x000020;
|
|
1851
|
-
const CHANUKAH_CANDLES$2 = 0x000040;
|
|
1852
|
-
const ROSH_CHODESH$1 = 0x000080;
|
|
1853
|
-
const MINOR_FAST$2 = 0x000100;
|
|
1854
|
-
const SPECIAL_SHABBAT$2 = 0x000200;
|
|
1855
|
-
const PARSHA_HASHAVUA$1 = 0x000400;
|
|
1856
|
-
const DAF_YOMI$1 = 0x000800;
|
|
1857
|
-
const OMER_COUNT$1 = 0x001000;
|
|
1858
|
-
const MODERN_HOLIDAY$2 = 0x002000;
|
|
1859
|
-
const MAJOR_FAST$2 = 0x004000;
|
|
1860
|
-
const SHABBAT_MEVARCHIM$1 = 0x008000;
|
|
1861
|
-
const MOLAD = 0x010000;
|
|
1862
|
-
const USER_EVENT = 0x020000;
|
|
1863
|
-
const HEBREW_DATE = 0x040000;
|
|
1864
|
-
const MINOR_HOLIDAY$2 = 0x080000;
|
|
1865
|
-
const EREV$2 = 0x100000;
|
|
1866
|
-
const CHOL_HAMOED$2 = 0x200000;
|
|
1867
|
-
const MISHNA_YOMI = 0x400000;
|
|
1868
1858
|
/**
|
|
1869
1859
|
* Holiday flags for Event
|
|
1870
1860
|
* @readonly
|
|
@@ -1873,73 +1863,73 @@ const MISHNA_YOMI = 0x400000;
|
|
|
1873
1863
|
|
|
1874
1864
|
const flags = {
|
|
1875
1865
|
/** Chag, yontiff, yom tov */
|
|
1876
|
-
CHAG:
|
|
1866
|
+
CHAG: 0x000001,
|
|
1877
1867
|
|
|
1878
1868
|
/** Light candles 18 minutes before sundown */
|
|
1879
|
-
LIGHT_CANDLES:
|
|
1869
|
+
LIGHT_CANDLES: 0x000002,
|
|
1880
1870
|
|
|
1881
1871
|
/** End of holiday (end of Yom Tov) */
|
|
1882
|
-
YOM_TOV_ENDS:
|
|
1872
|
+
YOM_TOV_ENDS: 0x000004,
|
|
1883
1873
|
|
|
1884
1874
|
/** Observed only in the Diaspora (chutz l'aretz) */
|
|
1885
|
-
CHUL_ONLY:
|
|
1875
|
+
CHUL_ONLY: 0x000008,
|
|
1886
1876
|
|
|
1887
1877
|
/** Observed only in Israel */
|
|
1888
|
-
IL_ONLY:
|
|
1878
|
+
IL_ONLY: 0x000010,
|
|
1889
1879
|
|
|
1890
1880
|
/** Light candles in the evening at Tzeit time (3 small stars) */
|
|
1891
|
-
LIGHT_CANDLES_TZEIS:
|
|
1881
|
+
LIGHT_CANDLES_TZEIS: 0x000020,
|
|
1892
1882
|
|
|
1893
1883
|
/** Candle-lighting for Chanukah */
|
|
1894
|
-
CHANUKAH_CANDLES:
|
|
1884
|
+
CHANUKAH_CANDLES: 0x000040,
|
|
1895
1885
|
|
|
1896
1886
|
/** Rosh Chodesh, beginning of a new Hebrew month */
|
|
1897
|
-
ROSH_CHODESH:
|
|
1887
|
+
ROSH_CHODESH: 0x000080,
|
|
1898
1888
|
|
|
1899
1889
|
/** Minor fasts like Tzom Tammuz, Ta'anit Esther, ... */
|
|
1900
|
-
MINOR_FAST:
|
|
1890
|
+
MINOR_FAST: 0x000100,
|
|
1901
1891
|
|
|
1902
1892
|
/** Shabbat Shekalim, Zachor, ... */
|
|
1903
|
-
SPECIAL_SHABBAT:
|
|
1893
|
+
SPECIAL_SHABBAT: 0x000200,
|
|
1904
1894
|
|
|
1905
1895
|
/** Weekly sedrot on Saturdays */
|
|
1906
|
-
PARSHA_HASHAVUA:
|
|
1896
|
+
PARSHA_HASHAVUA: 0x000400,
|
|
1907
1897
|
|
|
1908
1898
|
/** Daily page of Talmud */
|
|
1909
|
-
DAF_YOMI:
|
|
1899
|
+
DAF_YOMI: 0x000800,
|
|
1910
1900
|
|
|
1911
1901
|
/** Days of the Omer */
|
|
1912
|
-
OMER_COUNT:
|
|
1902
|
+
OMER_COUNT: 0x000800,
|
|
1913
1903
|
|
|
1914
1904
|
/** Yom HaShoah, Yom HaAtzma'ut, ... */
|
|
1915
|
-
MODERN_HOLIDAY:
|
|
1905
|
+
MODERN_HOLIDAY: 0x002000,
|
|
1916
1906
|
|
|
1917
1907
|
/** Yom Kippur and Tish'a B'Av */
|
|
1918
|
-
MAJOR_FAST:
|
|
1908
|
+
MAJOR_FAST: 0x004000,
|
|
1919
1909
|
|
|
1920
1910
|
/** On the Saturday before Rosh Chodesh */
|
|
1921
|
-
SHABBAT_MEVARCHIM:
|
|
1911
|
+
SHABBAT_MEVARCHIM: 0x008000,
|
|
1922
1912
|
|
|
1923
1913
|
/** Molad */
|
|
1924
|
-
MOLAD,
|
|
1914
|
+
MOLAD: 0x010000,
|
|
1925
1915
|
|
|
1926
1916
|
/** Yahrzeit or Hebrew Anniversary */
|
|
1927
|
-
USER_EVENT,
|
|
1917
|
+
USER_EVENT: 0x020000,
|
|
1928
1918
|
|
|
1929
1919
|
/** Daily Hebrew date ("11th of Sivan, 5780") */
|
|
1930
|
-
HEBREW_DATE,
|
|
1920
|
+
HEBREW_DATE: 0x040000,
|
|
1931
1921
|
|
|
1932
1922
|
/** A holiday that's not major, modern, rosh chodesh, or a fast day */
|
|
1933
|
-
MINOR_HOLIDAY:
|
|
1923
|
+
MINOR_HOLIDAY: 0x080000,
|
|
1934
1924
|
|
|
1935
1925
|
/** Evening before a major or minor holiday */
|
|
1936
|
-
EREV:
|
|
1926
|
+
EREV: 0x080000,
|
|
1937
1927
|
|
|
1938
1928
|
/** Chol haMoed, intermediate days of Pesach or Sukkot */
|
|
1939
|
-
CHOL_HAMOED:
|
|
1929
|
+
CHOL_HAMOED: 0x200000,
|
|
1940
1930
|
|
|
1941
1931
|
/** Mishna Yomi */
|
|
1942
|
-
MISHNA_YOMI
|
|
1932
|
+
MISHNA_YOMI: 0x400000
|
|
1943
1933
|
};
|
|
1944
1934
|
/** Represents an Event with a title, date, and flags */
|
|
1945
1935
|
|
|
@@ -2057,7 +2047,7 @@ class Event {
|
|
|
2057
2047
|
|
|
2058
2048
|
|
|
2059
2049
|
observedInIsrael() {
|
|
2060
|
-
return !(this.mask & CHUL_ONLY
|
|
2050
|
+
return !(this.mask & flags.CHUL_ONLY);
|
|
2061
2051
|
}
|
|
2062
2052
|
/**
|
|
2063
2053
|
* Is this event observed in the Diaspora?
|
|
@@ -2071,7 +2061,7 @@ class Event {
|
|
|
2071
2061
|
|
|
2072
2062
|
|
|
2073
2063
|
observedInDiaspora() {
|
|
2074
|
-
return !(this.mask & IL_ONLY
|
|
2064
|
+
return !(this.mask & flags.IL_ONLY);
|
|
2075
2065
|
}
|
|
2076
2066
|
/**
|
|
2077
2067
|
* @deprecated
|
|
@@ -2622,7 +2612,7 @@ class Zmanim {
|
|
|
2622
2612
|
throw new RangeError(`Longitude ${longitude} out of range [-180,180]`);
|
|
2623
2613
|
}
|
|
2624
2614
|
|
|
2625
|
-
const dt =
|
|
2615
|
+
const dt = isDate(date) ? date : HDate.isHDate(date) ? date.greg() : throwTypeError$2(`invalid date: ${date}`);
|
|
2626
2616
|
this.date = dt;
|
|
2627
2617
|
this.solarCalc = new SolarCalc(this.date, latitude, longitude);
|
|
2628
2618
|
this.sun = this.solarCalc.sun;
|
|
@@ -3987,8 +3977,8 @@ function getTodayIsHe(omer) {
|
|
|
3987
3977
|
|
|
3988
3978
|
/* eslint-disable no-multi-spaces */
|
|
3989
3979
|
const osdate = new Date(1923, 8, 11);
|
|
3990
|
-
const osday =
|
|
3991
|
-
const nsday =
|
|
3980
|
+
const osday = greg2abs(osdate);
|
|
3981
|
+
const nsday = greg2abs(new Date(1975, 5, 24));
|
|
3992
3982
|
const shas = [['Berachot', 64], ['Shabbat', 157], ['Eruvin', 105], ['Pesachim', 121], ['Shekalim', 22], ['Yoma', 88], ['Sukkah', 56], ['Beitzah', 40], ['Rosh Hashana', 35], ['Taanit', 31], ['Megillah', 32], ['Moed Katan', 29], ['Chagigah', 27], ['Yevamot', 122], ['Ketubot', 112], ['Nedarim', 91], ['Nazir', 66], ['Sotah', 49], ['Gitin', 90], ['Kiddushin', 82], ['Baba Kamma', 119], ['Baba Metzia', 119], ['Baba Batra', 176], ['Sanhedrin', 113], ['Makkot', 24], ['Shevuot', 49], ['Avodah Zarah', 76], ['Horayot', 14], ['Zevachim', 120], ['Menachot', 110], ['Chullin', 142], ['Bechorot', 61], ['Arachin', 34], ['Temurah', 34], ['Keritot', 28], ['Meilah', 22], ['Kinnim', 4], ['Tamid', 9], ['Midot', 5], ['Niddah', 73]].map(m => {
|
|
3993
3983
|
return {
|
|
3994
3984
|
name: m[0],
|
|
@@ -4010,7 +4000,7 @@ class DafYomi {
|
|
|
4010
4000
|
* @param {Date|HDate|number} gregdate Gregorian date
|
|
4011
4001
|
*/
|
|
4012
4002
|
constructor(gregdate) {
|
|
4013
|
-
const cday = typeof gregdate === 'number' && !isNaN(gregdate) ? gregdate :
|
|
4003
|
+
const cday = typeof gregdate === 'number' && !isNaN(gregdate) ? gregdate : isDate(gregdate) ? greg2abs(gregdate) : HDate.isHDate(gregdate) ? gregdate.abs() : throwTypeError$1(`non-date given to dafyomi: ${gregdate}`);
|
|
4014
4004
|
|
|
4015
4005
|
if (cday < osday) {
|
|
4016
4006
|
throw new RangeError(`Date ${gregdate} too early; Daf Yomi cycle began on ${osdate}`);
|
|
@@ -5265,7 +5255,7 @@ function getHolidaysForYear_(year) {
|
|
|
5265
5255
|
var mishnayot = [{k:"Berakhot",v:[5,8,6,7,5,8,5,8,5]},{k:"Peah",v:[6,8,8,11,8,11,8,9]},{k:"Demai",v:[4,5,6,7,11,12,8]},{k:"Kilayim",v:[9,11,7,9,8,9,8,6,10]},{k:"Sheviit",v:[8,10,10,10,9,6,7,11,9,9]},{k:"Terumot",v:[10,6,9,13,9,6,7,12,7,12,10]},{k:"Maasrot",v:[8,8,10,6,8]},{k:"Maaser Sheni",v:[7,10,13,12,15]},{k:"Challah",v:[9,8,10,11]},{k:"Orlah",v:[9,17,9]},{k:"Bikkurim",v:[11,11,12,5]},{k:"Shabbat",v:[11,7,6,2,4,10,4,7,7,6,6,6,7,4,3,8,8,3,6,5,3,6,5,5]},{k:"Eruvin",v:[10,6,9,11,9,10,11,11,4,15]},{k:"Pesachim",v:[7,8,8,9,10,6,13,8,11,9]},{k:"Shekalim",v:[7,5,4,9,6,6,7,8]},{k:"Yoma",v:[8,7,11,6,7,8,5,9]},{k:"Sukkah",v:[11,9,15,10,8]},{k:"Beitzah",v:[10,10,8,7,7]},{k:"Rosh Hashanah",v:[9,9,8,9]},{k:"Taanit",v:[7,10,9,8]},{k:"Megillah",v:[11,6,6,10]},{k:"Moed Katan",v:[10,5,9]},{k:"Chagigah",v:[8,7,8]},{k:"Yevamot",v:[4,10,10,13,6,6,6,6,6,9,7,6,13,9,10,7]},{k:"Ketubot",v:[10,10,9,12,9,7,10,8,9,6,6,4,11]},{k:"Nedarim",v:[4,5,11,8,6,10,9,7,10,8,12]},{k:"Nazir",v:[7,10,7,7,7,11,4,2,5]},{k:"Sotah",v:[9,6,8,5,5,4,8,7,15]},{k:"Gittin",v:[6,7,8,9,9,7,9,10,10]},{k:"Kiddushin",v:[10,10,13,14]},{k:"Bava Kamma",v:[4,6,11,9,7,6,7,7,12,10]},{k:"Bava Metzia",v:[8,11,12,12,11,8,11,9,13,6]},{k:"Bava Batra",v:[6,14,8,9,11,8,4,8,10,8]},{k:"Sanhedrin",v:[6,5,8,5,5,6,11,7,6,6,6]},{k:"Makkot",v:[10,8,16]},{k:"Shevuot",v:[7,5,11,13,5,7,8,6]},{k:"Eduyot",v:[14,10,12,12,7,3,9,7]},{k:"Avodah Zarah",v:[9,7,10,12,12]},{k:"Avot",v:[18,16,18,22,23,11]},{k:"Horayot",v:[5,7,8]},{k:"Zevachim",v:[4,5,6,6,8,7,6,12,7,8,8,6,8,10]},{k:"Menachot",v:[4,5,7,5,9,7,6,7,9,9,9,5,11]},{k:"Chullin",v:[7,10,7,7,5,7,6,6,8,4,2,5]},{k:"Bekhorot",v:[7,9,4,10,6,12,7,10,8]},{k:"Arakhin",v:[4,6,5,4,6,5,5,7,8]},{k:"Temurah",v:[6,3,5,4,6,5,6]},{k:"Keritot",v:[7,6,10,3,8,9]},{k:"Meilah",v:[4,9,8,6,5,6]},{k:"Tamid",v:[4,5,9,3,6,3,4]},{k:"Middot",v:[9,6,8,7,4]},{k:"Kinnim",v:[4,5,6]},{k:"Kelim",v:[9,8,8,4,11,4,6,11,8,8,9,8,8,8,6,8,17,9,10,7,3,10,5,17,9,9,12,10,8,4]},{k:"Oholot",v:[8,7,7,3,7,7,6,6,16,7,9,8,6,7,10,5,5,10]},{k:"Negaim",v:[6,5,8,11,5,8,5,10,3,10,12,7,12,13]},{k:"Parah",v:[4,5,11,4,9,5,12,11,9,6,9,11]},{k:"Tahorot",v:[9,8,8,13,9,10,9,9,9,8]},{k:"Mikvaot",v:[8,10,4,5,6,11,7,5,7,8]},{k:"Niddah",v:[7,7,7,7,9,14,5,4,11,8]},{k:"Makhshirin",v:[6,11,8,10,11,8]},{k:"Zavim",v:[6,4,3,7,12]},{k:"Tevul Yom",v:[5,8,6,7]},{k:"Yadayim",v:[5,4,5,8]},{k:"Oktzin",v:[6,10,12]}];
|
|
5266
5256
|
|
|
5267
5257
|
const cycleStartDate = new Date(1947, 4, 20);
|
|
5268
|
-
const mishnaYomiStart =
|
|
5258
|
+
const mishnaYomiStart = greg2abs(cycleStartDate);
|
|
5269
5259
|
const numMishnayot = 4192;
|
|
5270
5260
|
const numDays = numMishnayot / 2;
|
|
5271
5261
|
/**
|
|
@@ -5327,7 +5317,7 @@ class MishnaYomiIndex {
|
|
|
5327
5317
|
|
|
5328
5318
|
|
|
5329
5319
|
lookup(date) {
|
|
5330
|
-
const abs = typeof date === 'number' && !isNaN(date) ? date :
|
|
5320
|
+
const abs = typeof date === 'number' && !isNaN(date) ? date : isDate(date) ? greg2abs(date) : HDate.isHDate(date) ? date.abs() : throwTypeError(`Invalid date: ${date}`);
|
|
5331
5321
|
|
|
5332
5322
|
if (abs < mishnaYomiStart) {
|
|
5333
5323
|
const s = date.toISOString().substring(0, 10);
|
|
@@ -5735,7 +5725,7 @@ function checkCandleOptions(options) {
|
|
|
5735
5725
|
|
|
5736
5726
|
function getAbs(d) {
|
|
5737
5727
|
if (typeof d == 'number') return d;
|
|
5738
|
-
if (
|
|
5728
|
+
if (isDate(d)) return greg2abs(d);
|
|
5739
5729
|
if (HDate.isHDate(d)) return d.abs();
|
|
5740
5730
|
throw new TypeError(`Invalid date type: ${d}`);
|
|
5741
5731
|
}
|
|
@@ -5797,11 +5787,11 @@ function getStartAndEnd(options) {
|
|
|
5797
5787
|
startGreg.setFullYear(theYear);
|
|
5798
5788
|
}
|
|
5799
5789
|
|
|
5800
|
-
const startAbs =
|
|
5790
|
+
const startAbs = greg2abs(startGreg);
|
|
5801
5791
|
let endAbs;
|
|
5802
5792
|
|
|
5803
5793
|
if (options.month) {
|
|
5804
|
-
endAbs = startAbs +
|
|
5794
|
+
endAbs = startAbs + daysInMonth$1(theMonth, theYear) - 1;
|
|
5805
5795
|
} else {
|
|
5806
5796
|
const endYear = theYear + numYears;
|
|
5807
5797
|
const endGreg = new Date(endYear, 0, 1);
|
|
@@ -5810,7 +5800,7 @@ function getStartAndEnd(options) {
|
|
|
5810
5800
|
endGreg.setFullYear(endYear);
|
|
5811
5801
|
}
|
|
5812
5802
|
|
|
5813
|
-
endAbs =
|
|
5803
|
+
endAbs = greg2abs(endGreg) - 1;
|
|
5814
5804
|
}
|
|
5815
5805
|
|
|
5816
5806
|
return [startAbs, endAbs];
|
|
@@ -6075,7 +6065,7 @@ class HebrewCalendar {
|
|
|
6075
6065
|
warnUnrecognizedOptions(options);
|
|
6076
6066
|
const startAbs = startAndEnd[0];
|
|
6077
6067
|
const endAbs = startAndEnd[1];
|
|
6078
|
-
const startGreg =
|
|
6068
|
+
const startGreg = abs2greg(startAbs);
|
|
6079
6069
|
|
|
6080
6070
|
if (startGreg.getFullYear() < 100) {
|
|
6081
6071
|
options.candlelighting = false;
|