@hebcal/core 3.32.1 → 3.33.3
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 +119 -6
- package/dist/bundle.js +446 -126
- package/dist/bundle.min.js +2 -2
- package/dist/hdate-bundle.js +2 -2
- package/dist/hdate-bundle.min.js +2 -2
- package/dist/hdate.js +2 -2
- package/dist/hdate.mjs +2 -2
- package/dist/index.js +351 -148
- package/dist/index.mjs +349 -148
- package/hebcal.d.ts +81 -0
- package/package.json +10 -18
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v3.
|
|
1
|
+
/*! @hebcal/core v3.33.3 */
|
|
2
2
|
/*
|
|
3
3
|
Hebcal - A Jewish Calendar Generator
|
|
4
4
|
Copyright (c) 1994-2020 Danny Sadinoff
|
|
@@ -617,7 +617,7 @@ const monthNames0 = ['', 'Nisan', 'Iyyar', 'Sivan', 'Tamuz', 'Av', 'Elul', 'Tish
|
|
|
617
617
|
|
|
618
618
|
const monthNames = [monthNames0.concat(['Adar', 'Nisan']), monthNames0.concat(['Adar I', 'Adar II', 'Nisan'])]; // eslint-disable-next-line require-jsdoc
|
|
619
619
|
|
|
620
|
-
function throwTypeError$
|
|
620
|
+
function throwTypeError$3(msg) {
|
|
621
621
|
throw new TypeError(msg);
|
|
622
622
|
}
|
|
623
623
|
|
|
@@ -652,7 +652,7 @@ const UNITS_VALID = {
|
|
|
652
652
|
|
|
653
653
|
/** Represents a Hebrew date */
|
|
654
654
|
|
|
655
|
-
class HDate
|
|
655
|
+
class HDate {
|
|
656
656
|
/**
|
|
657
657
|
* Create a Hebrew date. There are 3 basic forms for the `HDate()` constructor.
|
|
658
658
|
*
|
|
@@ -721,13 +721,13 @@ class HDate$1 {
|
|
|
721
721
|
} // 1 argument
|
|
722
722
|
|
|
723
723
|
|
|
724
|
-
const abs0 = typeof day === 'number' && !isNaN(day) ? day : greg.isDate(day) ? greg.greg2abs(day) : HDate
|
|
724
|
+
const abs0 = typeof day === 'number' && !isNaN(day) ? day : greg.isDate(day) ? greg.greg2abs(day) : HDate.isHDate(day) ? {
|
|
725
725
|
dd: day.day,
|
|
726
726
|
mm: day.month,
|
|
727
727
|
yy: day.year
|
|
728
|
-
} : throwTypeError$
|
|
728
|
+
} : throwTypeError$3(`HDate called with bad argument: ${day}`);
|
|
729
729
|
const isNumber = typeof abs0 === 'number';
|
|
730
|
-
const d = isNumber ? HDate
|
|
730
|
+
const d = isNumber ? HDate.abs2hebrew(abs0) : abs0;
|
|
731
731
|
/**
|
|
732
732
|
* @private
|
|
733
733
|
* @type {number}
|
|
@@ -772,7 +772,7 @@ class HDate$1 {
|
|
|
772
772
|
|
|
773
773
|
|
|
774
774
|
isLeapYear() {
|
|
775
|
-
return HDate
|
|
775
|
+
return HDate.isLeapYear(this.year);
|
|
776
776
|
}
|
|
777
777
|
/**
|
|
778
778
|
* Gets the Hebrew month (1=NISAN, 7=TISHREI) of this Hebrew date
|
|
@@ -790,7 +790,7 @@ class HDate$1 {
|
|
|
790
790
|
|
|
791
791
|
|
|
792
792
|
getTishreiMonth() {
|
|
793
|
-
const nummonths = HDate
|
|
793
|
+
const nummonths = HDate.monthsInYear(this.getFullYear());
|
|
794
794
|
return (this.getMonth() + nummonths - 6) % nummonths || nummonths;
|
|
795
795
|
}
|
|
796
796
|
/**
|
|
@@ -800,7 +800,7 @@ class HDate$1 {
|
|
|
800
800
|
|
|
801
801
|
|
|
802
802
|
daysInMonth() {
|
|
803
|
-
return HDate
|
|
803
|
+
return HDate.daysInMonth(this.getMonth(), this.getFullYear());
|
|
804
804
|
}
|
|
805
805
|
/**
|
|
806
806
|
* Gets the day within the month (1-30)
|
|
@@ -843,7 +843,7 @@ class HDate$1 {
|
|
|
843
843
|
|
|
844
844
|
|
|
845
845
|
setMonth(month) {
|
|
846
|
-
this.month = HDate
|
|
846
|
+
this.month = HDate.monthNum(month);
|
|
847
847
|
fix(this);
|
|
848
848
|
return this;
|
|
849
849
|
}
|
|
@@ -879,7 +879,7 @@ class HDate$1 {
|
|
|
879
879
|
|
|
880
880
|
abs() {
|
|
881
881
|
if (typeof this.abs0 !== 'number') {
|
|
882
|
-
this.abs0 = HDate
|
|
882
|
+
this.abs0 = HDate.hebrew2abs(this.year, this.month, this.day);
|
|
883
883
|
}
|
|
884
884
|
|
|
885
885
|
return this.abs0;
|
|
@@ -899,20 +899,20 @@ class HDate$1 {
|
|
|
899
899
|
let tempabs = day;
|
|
900
900
|
|
|
901
901
|
if (month < TISHREI$2) {
|
|
902
|
-
for (let m = TISHREI$2; m <= HDate
|
|
903
|
-
tempabs += HDate
|
|
902
|
+
for (let m = TISHREI$2; m <= HDate.monthsInYear(year); m++) {
|
|
903
|
+
tempabs += HDate.daysInMonth(m, year);
|
|
904
904
|
}
|
|
905
905
|
|
|
906
906
|
for (let m = NISAN$2; m < month; m++) {
|
|
907
|
-
tempabs += HDate
|
|
907
|
+
tempabs += HDate.daysInMonth(m, year);
|
|
908
908
|
}
|
|
909
909
|
} else {
|
|
910
910
|
for (let m = TISHREI$2; m < month; m++) {
|
|
911
|
-
tempabs += HDate
|
|
911
|
+
tempabs += HDate.daysInMonth(m, year);
|
|
912
912
|
}
|
|
913
913
|
}
|
|
914
914
|
|
|
915
|
-
return EPOCH + HDate
|
|
915
|
+
return EPOCH + HDate.elapsedDays(year) + tempabs - 1;
|
|
916
916
|
}
|
|
917
917
|
/**
|
|
918
918
|
* @private
|
|
@@ -922,7 +922,7 @@ class HDate$1 {
|
|
|
922
922
|
|
|
923
923
|
|
|
924
924
|
static newYear(year) {
|
|
925
|
-
return EPOCH + HDate
|
|
925
|
+
return EPOCH + HDate.elapsedDays(year) + HDate.newYearDelay(year);
|
|
926
926
|
}
|
|
927
927
|
/**
|
|
928
928
|
* @private
|
|
@@ -932,13 +932,13 @@ class HDate$1 {
|
|
|
932
932
|
|
|
933
933
|
|
|
934
934
|
static newYearDelay(year) {
|
|
935
|
-
const ny1 = HDate
|
|
936
|
-
const ny2 = HDate
|
|
935
|
+
const ny1 = HDate.elapsedDays(year);
|
|
936
|
+
const ny2 = HDate.elapsedDays(year + 1);
|
|
937
937
|
|
|
938
938
|
if (ny2 - ny1 === 356) {
|
|
939
939
|
return 2;
|
|
940
940
|
} else {
|
|
941
|
-
const ny0 = HDate
|
|
941
|
+
const ny0 = HDate.elapsedDays(year - 1);
|
|
942
942
|
return ny1 - ny0 === 382 ? 1 : 0;
|
|
943
943
|
}
|
|
944
944
|
}
|
|
@@ -959,18 +959,18 @@ class HDate$1 {
|
|
|
959
959
|
|
|
960
960
|
let year = Math.floor((abs - EPOCH) / AVG_HEBYEAR_DAYS);
|
|
961
961
|
|
|
962
|
-
while (HDate
|
|
962
|
+
while (HDate.newYear(year) <= abs) {
|
|
963
963
|
++year;
|
|
964
964
|
}
|
|
965
965
|
|
|
966
966
|
--year;
|
|
967
|
-
let month = abs < HDate
|
|
967
|
+
let month = abs < HDate.hebrew2abs(year, 1, 1) ? 7 : 1;
|
|
968
968
|
|
|
969
|
-
while (abs > HDate
|
|
969
|
+
while (abs > HDate.hebrew2abs(year, month, HDate.daysInMonth(month, year))) {
|
|
970
970
|
++month;
|
|
971
971
|
}
|
|
972
972
|
|
|
973
|
-
const day = 1 + abs - HDate
|
|
973
|
+
const day = 1 + abs - HDate.hebrew2abs(year, month, 1);
|
|
974
974
|
return {
|
|
975
975
|
yy: year,
|
|
976
976
|
mm: month,
|
|
@@ -984,7 +984,7 @@ class HDate$1 {
|
|
|
984
984
|
|
|
985
985
|
|
|
986
986
|
getMonthName() {
|
|
987
|
-
return HDate
|
|
987
|
+
return HDate.getMonthName(this.getMonth(), this.getFullYear());
|
|
988
988
|
}
|
|
989
989
|
/**
|
|
990
990
|
* Renders this Hebrew date as a translated or transliterated string,
|
|
@@ -1006,7 +1006,7 @@ class HDate$1 {
|
|
|
1006
1006
|
const day = this.getDate();
|
|
1007
1007
|
const monthName = Locale.gettext(this.getMonthName(), locale0);
|
|
1008
1008
|
const nth = Locale.ordinal(day, locale0);
|
|
1009
|
-
const dayOf = HDate
|
|
1009
|
+
const dayOf = HDate.getDayOfTranslation(locale0);
|
|
1010
1010
|
const dateStr = `${nth}${dayOf} ${monthName}`;
|
|
1011
1011
|
|
|
1012
1012
|
if (showYear) {
|
|
@@ -1139,7 +1139,7 @@ class HDate$1 {
|
|
|
1139
1139
|
|
|
1140
1140
|
|
|
1141
1141
|
next() {
|
|
1142
|
-
return new HDate
|
|
1142
|
+
return new HDate(this.abs() + 1);
|
|
1143
1143
|
}
|
|
1144
1144
|
/**
|
|
1145
1145
|
* Returns the previous Hebrew date
|
|
@@ -1148,7 +1148,7 @@ class HDate$1 {
|
|
|
1148
1148
|
|
|
1149
1149
|
|
|
1150
1150
|
prev() {
|
|
1151
|
-
return new HDate
|
|
1151
|
+
return new HDate(this.abs() - 1);
|
|
1152
1152
|
}
|
|
1153
1153
|
/**
|
|
1154
1154
|
* Returns a cloned `HDate` object with a specified amount of time added
|
|
@@ -1172,24 +1172,24 @@ class HDate$1 {
|
|
|
1172
1172
|
number = parseInt(number, 10);
|
|
1173
1173
|
|
|
1174
1174
|
if (!number) {
|
|
1175
|
-
return new HDate
|
|
1175
|
+
return new HDate(this);
|
|
1176
1176
|
}
|
|
1177
1177
|
|
|
1178
|
-
units = HDate
|
|
1178
|
+
units = HDate.standardizeUnits(units);
|
|
1179
1179
|
|
|
1180
1180
|
if (units === UNITS_DAY) {
|
|
1181
|
-
return new HDate
|
|
1181
|
+
return new HDate(this.abs() + number);
|
|
1182
1182
|
} else if (units === UNITS_WEEK) {
|
|
1183
|
-
return new HDate
|
|
1183
|
+
return new HDate(this.abs() + 7 * number);
|
|
1184
1184
|
} else if (units === UNITS_YEAR) {
|
|
1185
|
-
return new HDate
|
|
1185
|
+
return new HDate(this.getDate(), this.getMonth(), this.getFullYear() + number);
|
|
1186
1186
|
} else if (units === UNITS_MONTH) {
|
|
1187
|
-
let hd = new HDate
|
|
1187
|
+
let hd = new HDate(this);
|
|
1188
1188
|
const sign = number > 0 ? 1 : -1;
|
|
1189
1189
|
number = Math.abs(number);
|
|
1190
1190
|
|
|
1191
1191
|
for (let i = 0; i < number; i++) {
|
|
1192
|
-
hd = new HDate
|
|
1192
|
+
hd = new HDate(hd.abs() + sign * hd.daysInMonth());
|
|
1193
1193
|
}
|
|
1194
1194
|
|
|
1195
1195
|
return hd;
|
|
@@ -1204,7 +1204,7 @@ class HDate$1 {
|
|
|
1204
1204
|
|
|
1205
1205
|
static standardizeUnits(units) {
|
|
1206
1206
|
const full = UNITS_SINGLE[units] || String(units || '').toLowerCase().replace(/s$/, '');
|
|
1207
|
-
return UNITS_VALID[full] || throwTypeError$
|
|
1207
|
+
return UNITS_VALID[full] || throwTypeError$3(`Invalid units '${units}'`);
|
|
1208
1208
|
}
|
|
1209
1209
|
/**
|
|
1210
1210
|
* Returns a cloned `HDate` object with a specified amount of time subracted
|
|
@@ -1253,7 +1253,7 @@ class HDate$1 {
|
|
|
1253
1253
|
|
|
1254
1254
|
|
|
1255
1255
|
deltaDays(other) {
|
|
1256
|
-
if (!HDate
|
|
1256
|
+
if (!HDate.isHDate(other)) {
|
|
1257
1257
|
throw new TypeError(`Bad argument: ${other}`);
|
|
1258
1258
|
}
|
|
1259
1259
|
|
|
@@ -1267,7 +1267,7 @@ class HDate$1 {
|
|
|
1267
1267
|
|
|
1268
1268
|
|
|
1269
1269
|
isSameDate(other) {
|
|
1270
|
-
if (HDate
|
|
1270
|
+
if (HDate.isHDate(other)) {
|
|
1271
1271
|
return this.year == other.year && this.month == other.month && this.day == other.day;
|
|
1272
1272
|
}
|
|
1273
1273
|
|
|
@@ -1300,7 +1300,7 @@ class HDate$1 {
|
|
|
1300
1300
|
|
|
1301
1301
|
|
|
1302
1302
|
static monthsInYear(year) {
|
|
1303
|
-
return 12 + HDate
|
|
1303
|
+
return 12 + HDate.isLeapYear(year); // boolean is cast to 1 or 0
|
|
1304
1304
|
}
|
|
1305
1305
|
/**
|
|
1306
1306
|
* Number of days in Hebrew month in a given year (29 or 30)
|
|
@@ -1311,7 +1311,7 @@ class HDate$1 {
|
|
|
1311
1311
|
|
|
1312
1312
|
|
|
1313
1313
|
static daysInMonth(month, year) {
|
|
1314
|
-
if (month == IYYAR$1 || month == TAMUZ$1 || month == ELUL$2 || month == TEVET$2 || month == ADAR_II$2 || month == ADAR_I$2 && !HDate
|
|
1314
|
+
if (month == IYYAR$1 || month == TAMUZ$1 || month == ELUL$2 || month == TEVET$2 || month == ADAR_II$2 || month == ADAR_I$2 && !HDate.isLeapYear(year) || month == CHESHVAN$2 && !HDate.longCheshvan(year) || month == KISLEV$2 && HDate.shortKislev(year)) {
|
|
1315
1315
|
return 29;
|
|
1316
1316
|
} else {
|
|
1317
1317
|
return 30;
|
|
@@ -1331,7 +1331,7 @@ class HDate$1 {
|
|
|
1331
1331
|
throw new TypeError(`bad month argument ${month}`);
|
|
1332
1332
|
}
|
|
1333
1333
|
|
|
1334
|
-
return monthNames[+HDate
|
|
1334
|
+
return monthNames[+HDate.isLeapYear(year)][month];
|
|
1335
1335
|
}
|
|
1336
1336
|
/**
|
|
1337
1337
|
* Returns the Hebrew month number (NISAN=1, TISHREI=7)
|
|
@@ -1343,7 +1343,7 @@ class HDate$1 {
|
|
|
1343
1343
|
static monthNum(month) {
|
|
1344
1344
|
return typeof month === 'number' ? month : month.charCodeAt(0) >= 48 && month.charCodeAt(0) <= 57 ?
|
|
1345
1345
|
/* number */
|
|
1346
|
-
parseInt(month, 10) : HDate
|
|
1346
|
+
parseInt(month, 10) : HDate.monthFromName(month);
|
|
1347
1347
|
}
|
|
1348
1348
|
/**
|
|
1349
1349
|
* Days from sunday prior to start of Hebrew calendar to mean
|
|
@@ -1354,7 +1354,7 @@ class HDate$1 {
|
|
|
1354
1354
|
|
|
1355
1355
|
|
|
1356
1356
|
static elapsedDays(year) {
|
|
1357
|
-
const elapsed = edCache[year] = edCache[year] || HDate
|
|
1357
|
+
const elapsed = edCache[year] = edCache[year] || HDate.elapsedDays0(year);
|
|
1358
1358
|
return elapsed;
|
|
1359
1359
|
}
|
|
1360
1360
|
/**
|
|
@@ -1376,7 +1376,7 @@ class HDate$1 {
|
|
|
1376
1376
|
const hElapsed = 5 + 12 * mElapsed + 793 * Math.floor(mElapsed / 1080) + Math.floor(pElapsed / 1080);
|
|
1377
1377
|
const parts = pElapsed % 1080 + 1080 * (hElapsed % 24);
|
|
1378
1378
|
const day = 1 + 29 * mElapsed + Math.floor(hElapsed / 24);
|
|
1379
|
-
const altDay = day + (parts >= 19440 || 2 == day % 7 && parts >= 9924 && !HDate
|
|
1379
|
+
const altDay = day + (parts >= 19440 || 2 == day % 7 && parts >= 9924 && !HDate.isLeapYear(year) || 1 == day % 7 && parts >= 16789 && HDate.isLeapYear(prevYear));
|
|
1380
1380
|
return altDay + (altDay % 7 === 0 || altDay % 7 == 3 || altDay % 7 == 5);
|
|
1381
1381
|
}
|
|
1382
1382
|
/**
|
|
@@ -1387,7 +1387,7 @@ class HDate$1 {
|
|
|
1387
1387
|
|
|
1388
1388
|
|
|
1389
1389
|
static daysInYear(year) {
|
|
1390
|
-
return HDate
|
|
1390
|
+
return HDate.elapsedDays(year + 1) - HDate.elapsedDays(year);
|
|
1391
1391
|
}
|
|
1392
1392
|
/**
|
|
1393
1393
|
* true if Cheshvan is long in Hebrew year
|
|
@@ -1397,7 +1397,7 @@ class HDate$1 {
|
|
|
1397
1397
|
|
|
1398
1398
|
|
|
1399
1399
|
static longCheshvan(year) {
|
|
1400
|
-
return HDate
|
|
1400
|
+
return HDate.daysInYear(year) % 10 == 5;
|
|
1401
1401
|
}
|
|
1402
1402
|
/**
|
|
1403
1403
|
* true if Kislev is short in Hebrew year
|
|
@@ -1407,7 +1407,7 @@ class HDate$1 {
|
|
|
1407
1407
|
|
|
1408
1408
|
|
|
1409
1409
|
static shortKislev(year) {
|
|
1410
|
-
return HDate
|
|
1410
|
+
return HDate.daysInYear(year) % 10 == 3;
|
|
1411
1411
|
}
|
|
1412
1412
|
/**
|
|
1413
1413
|
* Converts Hebrew month string name to numeric
|
|
@@ -1596,17 +1596,17 @@ function fixDate(date) {
|
|
|
1596
1596
|
date.year -= 1;
|
|
1597
1597
|
}
|
|
1598
1598
|
|
|
1599
|
-
date.day += HDate
|
|
1599
|
+
date.day += HDate.daysInMonth(date.month, date.year);
|
|
1600
1600
|
date.month -= 1;
|
|
1601
1601
|
fix(date);
|
|
1602
1602
|
}
|
|
1603
1603
|
|
|
1604
|
-
if (date.day > HDate
|
|
1604
|
+
if (date.day > HDate.daysInMonth(date.month, date.year)) {
|
|
1605
1605
|
if (date.month == ELUL$2) {
|
|
1606
1606
|
date.year += 1;
|
|
1607
1607
|
}
|
|
1608
1608
|
|
|
1609
|
-
date.day -= HDate
|
|
1609
|
+
date.day -= HDate.daysInMonth(date.month, date.year);
|
|
1610
1610
|
date.month += 1;
|
|
1611
1611
|
fix(date);
|
|
1612
1612
|
}
|
|
@@ -1625,11 +1625,11 @@ function fixMonth(date) {
|
|
|
1625
1625
|
|
|
1626
1626
|
fix(date);
|
|
1627
1627
|
} else if (date.month < 1) {
|
|
1628
|
-
date.month += HDate
|
|
1628
|
+
date.month += HDate.monthsInYear(date.year);
|
|
1629
1629
|
date.year -= 1;
|
|
1630
1630
|
fix(date);
|
|
1631
|
-
} else if (date.month > HDate
|
|
1632
|
-
date.month -= HDate
|
|
1631
|
+
} else if (date.month > HDate.monthsInYear(date.year)) {
|
|
1632
|
+
date.month -= HDate.monthsInYear(date.year);
|
|
1633
1633
|
date.year += 1;
|
|
1634
1634
|
fix(date);
|
|
1635
1635
|
}
|
|
@@ -1646,7 +1646,7 @@ function fixMonth(date) {
|
|
|
1646
1646
|
|
|
1647
1647
|
|
|
1648
1648
|
function onOrBefore(day, t, offset) {
|
|
1649
|
-
return new HDate
|
|
1649
|
+
return new HDate(HDate.dayOnOrBefore(day, t.abs() + offset));
|
|
1650
1650
|
}
|
|
1651
1651
|
|
|
1652
1652
|
const CHAG$1 = 0x000001;
|
|
@@ -1673,6 +1673,7 @@ const HEBREW_DATE = 0x040000;
|
|
|
1673
1673
|
const MINOR_HOLIDAY$2 = 0x080000;
|
|
1674
1674
|
const EREV$2 = 0x100000;
|
|
1675
1675
|
const CHOL_HAMOED$2 = 0x200000;
|
|
1676
|
+
const MISHNA_YOMI = 0x400000;
|
|
1676
1677
|
/**
|
|
1677
1678
|
* Holiday flags for Event
|
|
1678
1679
|
* @readonly
|
|
@@ -1744,7 +1745,10 @@ const flags = {
|
|
|
1744
1745
|
EREV: EREV$2,
|
|
1745
1746
|
|
|
1746
1747
|
/** Chol haMoed, intermediate days of Pesach or Sukkot */
|
|
1747
|
-
CHOL_HAMOED: CHOL_HAMOED$2
|
|
1748
|
+
CHOL_HAMOED: CHOL_HAMOED$2,
|
|
1749
|
+
|
|
1750
|
+
/** Mishna Yomi */
|
|
1751
|
+
MISHNA_YOMI
|
|
1748
1752
|
};
|
|
1749
1753
|
/** Represents an Event with a title, date, and flags */
|
|
1750
1754
|
|
|
@@ -2296,7 +2300,7 @@ function pad4(number) {
|
|
|
2296
2300
|
return String(number);
|
|
2297
2301
|
}
|
|
2298
2302
|
|
|
2299
|
-
function throwTypeError$
|
|
2303
|
+
function throwTypeError$2(error) {
|
|
2300
2304
|
throw new TypeError(error);
|
|
2301
2305
|
}
|
|
2302
2306
|
/**
|
|
@@ -2357,7 +2361,7 @@ class Zmanim {
|
|
|
2357
2361
|
throw new RangeError(`Longitude ${longitude} out of range [-180,180]`);
|
|
2358
2362
|
}
|
|
2359
2363
|
|
|
2360
|
-
const dt = greg.isDate(date) ? date : HDate
|
|
2364
|
+
const dt = greg.isDate(date) ? date : HDate.isHDate(date) ? date.greg() : throwTypeError$2(`invalid date: ${date}`);
|
|
2361
2365
|
this.date = dt;
|
|
2362
2366
|
this.sun = new Sun_1(this.date, latitude, longitude);
|
|
2363
2367
|
this.latitude = latitude;
|
|
@@ -2819,9 +2823,20 @@ class Location {
|
|
|
2819
2823
|
|
|
2820
2824
|
|
|
2821
2825
|
getShortName() {
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2826
|
+
const name = this.name;
|
|
2827
|
+
if (!name) return name;
|
|
2828
|
+
const comma = name.indexOf(', ');
|
|
2829
|
+
if (comma === -1) return name;
|
|
2830
|
+
|
|
2831
|
+
if (this.cc === 'US' && name[comma + 2] === 'D') {
|
|
2832
|
+
if (name[comma + 3] === 'C') {
|
|
2833
|
+
return name.substring(0, comma + 4);
|
|
2834
|
+
} else if (name[comma + 3] === '.' && name[comma + 4] === 'C') {
|
|
2835
|
+
return name.substring(0, comma + 6);
|
|
2836
|
+
}
|
|
2837
|
+
}
|
|
2838
|
+
|
|
2839
|
+
return name.substring(0, comma);
|
|
2825
2840
|
}
|
|
2826
2841
|
/** @return {string} */
|
|
2827
2842
|
|
|
@@ -3022,6 +3037,7 @@ const days = {
|
|
|
3022
3037
|
};
|
|
3023
3038
|
/**
|
|
3024
3039
|
* @private
|
|
3040
|
+
* @constant
|
|
3025
3041
|
* This method returns the tzais (nightfall) based on the opinion of the
|
|
3026
3042
|
* Geonim calculated as 30 minutes after sunset during the equinox
|
|
3027
3043
|
* (on March 16, about 4 days before the astronomical equinox, the day that
|
|
@@ -3277,7 +3293,7 @@ class Molad {
|
|
|
3277
3293
|
let m_adj = month - 7;
|
|
3278
3294
|
|
|
3279
3295
|
if (m_adj < 0) {
|
|
3280
|
-
m_adj += HDate
|
|
3296
|
+
m_adj += HDate.monthsInYear(year);
|
|
3281
3297
|
}
|
|
3282
3298
|
|
|
3283
3299
|
const m_elapsed = 235 * Math.floor((year - 1) / 19) + // Months in complete 19 year lunar (Metonic) cycles so far
|
|
@@ -3320,7 +3336,7 @@ class Molad {
|
|
|
3320
3336
|
|
|
3321
3337
|
|
|
3322
3338
|
getMonthName() {
|
|
3323
|
-
return HDate
|
|
3339
|
+
return HDate.getMonthName(this.month, this.year);
|
|
3324
3340
|
}
|
|
3325
3341
|
/**
|
|
3326
3342
|
* @return {number} Day of Week (0=Sunday, 6=Saturday)
|
|
@@ -3501,18 +3517,23 @@ const shas = [['Berachot', 64], ['Shabbat', 157], ['Eruvin', 105], ['Pesachim',
|
|
|
3501
3517
|
name: m[0],
|
|
3502
3518
|
blatt: m[1]
|
|
3503
3519
|
};
|
|
3504
|
-
});
|
|
3520
|
+
}); // eslint-disable-next-line require-jsdoc
|
|
3521
|
+
|
|
3522
|
+
function throwTypeError$1(msg) {
|
|
3523
|
+
throw new TypeError(msg);
|
|
3524
|
+
}
|
|
3505
3525
|
/**
|
|
3506
3526
|
* Returns the Daf Yomi for given date
|
|
3507
3527
|
*/
|
|
3508
3528
|
|
|
3529
|
+
|
|
3509
3530
|
class DafYomi {
|
|
3510
3531
|
/**
|
|
3511
3532
|
* Initializes a daf yomi instance
|
|
3512
|
-
* @param {Date} gregdate Gregorian date
|
|
3533
|
+
* @param {Date|HDate|number} gregdate Gregorian date
|
|
3513
3534
|
*/
|
|
3514
3535
|
constructor(gregdate) {
|
|
3515
|
-
const cday = typeof gregdate === 'number' && !isNaN(gregdate) ? gregdate : greg.isDate(gregdate) ? greg.greg2abs(gregdate) : HDate.isHDate(gregdate) ? gregdate.abs() : throwTypeError(`non-date given to dafyomi: ${gregdate}`);
|
|
3536
|
+
const cday = typeof gregdate === 'number' && !isNaN(gregdate) ? gregdate : greg.isDate(gregdate) ? greg.greg2abs(gregdate) : HDate.isHDate(gregdate) ? gregdate.abs() : throwTypeError$1(`non-date given to dafyomi: ${gregdate}`);
|
|
3516
3537
|
|
|
3517
3538
|
if (cday < osday) {
|
|
3518
3539
|
throw new RangeError(`Date ${gregdate} too early; Daf Yomi cycle began on ${osdate}`);
|
|
@@ -3704,16 +3725,16 @@ class Sedra {
|
|
|
3704
3725
|
constructor(hebYr, il) {
|
|
3705
3726
|
// the Hebrew year
|
|
3706
3727
|
hebYr = +hebYr;
|
|
3707
|
-
const longC = HDate
|
|
3708
|
-
const shortK = HDate
|
|
3728
|
+
const longC = HDate.longCheshvan(hebYr);
|
|
3729
|
+
const shortK = HDate.shortKislev(hebYr);
|
|
3709
3730
|
const type = this.type = longC && !shortK ? COMPLETE : !longC && shortK ? INCOMPLETE : REGULAR;
|
|
3710
3731
|
this.year = hebYr;
|
|
3711
|
-
const rh0 = new HDate
|
|
3732
|
+
const rh0 = new HDate(1, months.TISHREI, hebYr);
|
|
3712
3733
|
const rh = rh0.abs();
|
|
3713
3734
|
const rhDay = this.roshHashanaDay = rh0.getDay() + 1; // find the first Saturday on or after Rosh Hashana
|
|
3714
3735
|
|
|
3715
|
-
this.firstSaturday = HDate
|
|
3716
|
-
const leap = this.leap = +HDate
|
|
3736
|
+
this.firstSaturday = HDate.dayOnOrBefore(6, rh + 6);
|
|
3737
|
+
const leap = this.leap = +HDate.isLeapYear(hebYr);
|
|
3717
3738
|
this.il = Boolean(il);
|
|
3718
3739
|
const key = `${leap}${rhDay}${type}`;
|
|
3719
3740
|
|
|
@@ -3790,7 +3811,7 @@ class Sedra {
|
|
|
3790
3811
|
return null; // doesn't occur this year
|
|
3791
3812
|
}
|
|
3792
3813
|
|
|
3793
|
-
return new HDate
|
|
3814
|
+
return new HDate(this.firstSaturday + idx * 7);
|
|
3794
3815
|
} else if (typeof parsha === 'string') {
|
|
3795
3816
|
const num = parsha2id[parsha];
|
|
3796
3817
|
|
|
@@ -3806,7 +3827,7 @@ class Sedra {
|
|
|
3806
3827
|
return null; // doesn't occur this year
|
|
3807
3828
|
}
|
|
3808
3829
|
|
|
3809
|
-
return new HDate
|
|
3830
|
+
return new HDate(this.firstSaturday + idx * 7);
|
|
3810
3831
|
}
|
|
3811
3832
|
} else if (Array.isArray(parsha) && parsha.length === 1 && typeof parsha[0] === 'string') {
|
|
3812
3833
|
return this.find(parsha[0]);
|
|
@@ -3857,9 +3878,9 @@ class Sedra {
|
|
|
3857
3878
|
|
|
3858
3879
|
|
|
3859
3880
|
lookup(hDate) {
|
|
3860
|
-
const absDate = typeof hDate === 'number' ? hDate : HDate
|
|
3881
|
+
const absDate = typeof hDate === 'number' ? hDate : HDate.isHDate(hDate) ? hDate.abs() : throwError(`Bad date argument: ${hDate}`); // find the first saturday on or after today's date
|
|
3861
3882
|
|
|
3862
|
-
const saturday = HDate
|
|
3883
|
+
const saturday = HDate.dayOnOrBefore(6, absDate + 6);
|
|
3863
3884
|
const weekNum = (saturday - this.firstSaturday) / 7;
|
|
3864
3885
|
const index = this.theSedraArray[weekNum];
|
|
3865
3886
|
|
|
@@ -4315,7 +4336,7 @@ class MevarchimChodeshEvent extends Event {
|
|
|
4315
4336
|
this.monthName = monthName;
|
|
4316
4337
|
const hyear = date.getFullYear();
|
|
4317
4338
|
const hmonth = date.getMonth();
|
|
4318
|
-
const monNext = hmonth == HDate
|
|
4339
|
+
const monNext = hmonth == HDate.monthsInYear(hyear) ? months.NISAN : hmonth + 1;
|
|
4319
4340
|
const molad = new MoladEvent(date, hyear, monNext);
|
|
4320
4341
|
this.memo = molad.render();
|
|
4321
4342
|
}
|
|
@@ -4331,9 +4352,7 @@ class MevarchimChodeshEvent extends Event {
|
|
|
4331
4352
|
}
|
|
4332
4353
|
|
|
4333
4354
|
}
|
|
4334
|
-
/**
|
|
4335
|
-
* @private
|
|
4336
|
-
*/
|
|
4355
|
+
/** Represents Rosh Hashana, the Jewish New Year */
|
|
4337
4356
|
|
|
4338
4357
|
class RoshHashanaEvent extends HolidayEvent {
|
|
4339
4358
|
/**
|
|
@@ -4394,7 +4413,10 @@ const MAJOR_FAST$1 = flags.MAJOR_FAST;
|
|
|
4394
4413
|
const MINOR_HOLIDAY$1 = flags.MINOR_HOLIDAY;
|
|
4395
4414
|
const EREV$1 = flags.EREV;
|
|
4396
4415
|
const CHOL_HAMOED$1 = flags.CHOL_HAMOED;
|
|
4397
|
-
/**
|
|
4416
|
+
/**
|
|
4417
|
+
* Avoid dependency on ES6 Map object
|
|
4418
|
+
* @private
|
|
4419
|
+
*/
|
|
4398
4420
|
|
|
4399
4421
|
class SimpleMap {
|
|
4400
4422
|
/**
|
|
@@ -4479,8 +4501,8 @@ function getHolidaysForYear(year) {
|
|
|
4479
4501
|
return cached;
|
|
4480
4502
|
}
|
|
4481
4503
|
|
|
4482
|
-
const RH = new HDate
|
|
4483
|
-
const pesach = new HDate
|
|
4504
|
+
const RH = new HDate(1, TISHREI$1, year);
|
|
4505
|
+
const pesach = new HDate(15, NISAN$1, year);
|
|
4484
4506
|
const h = new SimpleMap(); // eslint-disable-next-line require-jsdoc
|
|
4485
4507
|
|
|
4486
4508
|
function add(...events) {
|
|
@@ -4504,7 +4526,7 @@ function getHolidaysForYear(year) {
|
|
|
4504
4526
|
|
|
4505
4527
|
function addEvents(year, arr) {
|
|
4506
4528
|
arr.forEach(a => {
|
|
4507
|
-
add(new HolidayEvent(new HDate
|
|
4529
|
+
add(new HolidayEvent(new HDate(a[0], a[1], year), a[2], a[3], a[4]));
|
|
4508
4530
|
});
|
|
4509
4531
|
} // standard holidays that don't shift based on year
|
|
4510
4532
|
|
|
@@ -4516,7 +4538,7 @@ function getHolidaysForYear(year) {
|
|
|
4516
4538
|
emoji: '📖✍️'
|
|
4517
4539
|
}]]); // first SAT after RH
|
|
4518
4540
|
|
|
4519
|
-
add(new HolidayEvent(new HDate
|
|
4541
|
+
add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, 7 + RH.abs())), 'Shabbat Shuva', SPECIAL_SHABBAT$1));
|
|
4520
4542
|
addEvents(year, [[10, TISHREI$1, 'Yom Kippur', CHAG | YOM_TOV_ENDS$1 | MAJOR_FAST$1, {
|
|
4521
4543
|
emoji: '📖✍️'
|
|
4522
4544
|
}], [14, TISHREI$1, 'Erev Sukkot', EREV$1 | LIGHT_CANDLES$1], // Attributes for Israel and Diaspora are different
|
|
@@ -4542,37 +4564,37 @@ function getHolidaysForYear(year) {
|
|
|
4542
4564
|
cholHaMoedDay: -1
|
|
4543
4565
|
}], [22, TISHREI$1, 'Shmini Atzeret', CHAG | LIGHT_CANDLES_TZEIS$1 | CHUL_ONLY$1], // [22, TISHREI, "Shmini Atzeret / Simchat Torah", YOM_TOV_ENDS | IL_ONLY],
|
|
4544
4566
|
[22, TISHREI$1, 'Shmini Atzeret', CHAG | YOM_TOV_ENDS$1 | IL_ONLY$1], [23, TISHREI$1, 'Simchat Torah', CHAG | YOM_TOV_ENDS$1 | CHUL_ONLY$1]]);
|
|
4545
|
-
add(new HolidayEvent(new HDate
|
|
4567
|
+
add(new HolidayEvent(new HDate(24, KISLEV$1, year), 'Chanukah: 1 Candle', EREV$1 | MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
|
|
4546
4568
|
emoji: chanukahEmoji + KEYCAP_DIGITS[1]
|
|
4547
4569
|
})); // yes, we know Kislev 30-32 are wrong
|
|
4548
4570
|
// HDate() corrects the month automatically
|
|
4549
4571
|
|
|
4550
4572
|
for (let candles = 2; candles <= 8; candles++) {
|
|
4551
|
-
const hd = new HDate
|
|
4573
|
+
const hd = new HDate(23 + candles, KISLEV$1, year);
|
|
4552
4574
|
add(new HolidayEvent(hd, `Chanukah: ${candles} Candles`, MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
|
|
4553
4575
|
chanukahDay: candles - 1,
|
|
4554
4576
|
emoji: chanukahEmoji + KEYCAP_DIGITS[candles]
|
|
4555
4577
|
}));
|
|
4556
4578
|
}
|
|
4557
4579
|
|
|
4558
|
-
add(new HolidayEvent(new HDate
|
|
4580
|
+
add(new HolidayEvent(new HDate(32, KISLEV$1, year), 'Chanukah: 8th Day', MINOR_HOLIDAY$1, {
|
|
4559
4581
|
chanukahDay: 8,
|
|
4560
4582
|
emoji: chanukahEmoji
|
|
4561
4583
|
}));
|
|
4562
|
-
add(new AsaraBTevetEvent(new HDate
|
|
4584
|
+
add(new AsaraBTevetEvent(new HDate(10, TEVET$1, year), 'Asara B\'Tevet', MINOR_FAST$1), new HolidayEvent(new HDate(15, SHVAT$1, year), 'Tu BiShvat', MINOR_HOLIDAY$1, {
|
|
4563
4585
|
emoji: '🌳'
|
|
4564
4586
|
}));
|
|
4565
4587
|
const pesachAbs = pesach.abs();
|
|
4566
|
-
add(new HolidayEvent(new HDate
|
|
4588
|
+
add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 43)), 'Shabbat Shekalim', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 30)), 'Shabbat Zachor', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == TUE ? 33 : 31)), 'Ta\'anit Esther', MINOR_FAST$1));
|
|
4567
4589
|
addEvents(year, [[13, ADAR_II$1, 'Erev Purim', EREV$1 | MINOR_HOLIDAY$1, {
|
|
4568
4590
|
emoji: '🎭️📜'
|
|
4569
4591
|
}], [14, ADAR_II$1, 'Purim', MINOR_HOLIDAY$1, {
|
|
4570
4592
|
emoji: '🎭️📜'
|
|
4571
4593
|
}]]);
|
|
4572
|
-
add(new HolidayEvent(new HDate
|
|
4594
|
+
add(new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == SUN ? 28 : 29)), 'Shushan Purim', MINOR_HOLIDAY$1, {
|
|
4573
4595
|
emoji: '🎭️📜'
|
|
4574
|
-
}), new HolidayEvent(new HDate
|
|
4575
|
-
pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate
|
|
4596
|
+
}), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14) - 7), 'Shabbat Parah', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14)), 'Shabbat HaChodesh', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 1)), 'Shabbat HaGadol', SPECIAL_SHABBAT$1), new HolidayEvent( // if the fast falls on Shabbat, move to Thursday
|
|
4597
|
+
pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate(14, NISAN$1, year), 'Ta\'anit Bechorot', MINOR_FAST$1));
|
|
4576
4598
|
addEvents(year, [[14, NISAN$1, 'Erev Pesach', EREV$1 | LIGHT_CANDLES$1], // Attributes for Israel and Diaspora are different
|
|
4577
4599
|
[15, NISAN$1, 'Pesach I', CHAG | YOM_TOV_ENDS$1 | IL_ONLY$1], [16, NISAN$1, 'Pesach II (CH\'\'M)', IL_ONLY$1 | CHOL_HAMOED$1, {
|
|
4578
4600
|
cholHaMoedDay: 1
|
|
@@ -4607,22 +4629,22 @@ function getHolidaysForYear(year) {
|
|
|
4607
4629
|
}], [1, ELUL$1, 'Rosh Hashana LaBehemot', MINOR_HOLIDAY$1, {
|
|
4608
4630
|
emoji: '🐑'
|
|
4609
4631
|
}]]);
|
|
4610
|
-
add(new HolidayEvent(new HDate
|
|
4632
|
+
add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, new HDate(1, TISHREI$1, year + 1).abs() - 4)), 'Leil Selichot', MINOR_HOLIDAY$1, {
|
|
4611
4633
|
emoji: '🕍'
|
|
4612
4634
|
}));
|
|
4613
|
-
add(new HolidayEvent(new HDate
|
|
4635
|
+
add(new HolidayEvent(new HDate(29, ELUL$1, year), 'Erev Rosh Hashana', EREV$1 | LIGHT_CANDLES$1, {
|
|
4614
4636
|
emoji: '🍏🍯'
|
|
4615
4637
|
}));
|
|
4616
4638
|
|
|
4617
|
-
if (HDate
|
|
4618
|
-
add(new HolidayEvent(new HDate
|
|
4639
|
+
if (HDate.isLeapYear(year)) {
|
|
4640
|
+
add(new HolidayEvent(new HDate(14, ADAR_I$1, year), 'Purim Katan', MINOR_HOLIDAY$1, {
|
|
4619
4641
|
emoji: '🎭️'
|
|
4620
4642
|
}));
|
|
4621
4643
|
}
|
|
4622
4644
|
|
|
4623
4645
|
if (year >= 5711) {
|
|
4624
4646
|
// Yom HaShoah first observed in 1951
|
|
4625
|
-
let nisan27dt = new HDate
|
|
4647
|
+
let nisan27dt = new HDate(27, NISAN$1, year);
|
|
4626
4648
|
/* When the actual date of Yom Hashoah falls on a Friday, the
|
|
4627
4649
|
* state of Israel observes Yom Hashoah on the preceding
|
|
4628
4650
|
* Thursday. When it falls on a Sunday, Yom Hashoah is observed
|
|
@@ -4631,9 +4653,9 @@ function getHolidaysForYear(year) {
|
|
|
4631
4653
|
*/
|
|
4632
4654
|
|
|
4633
4655
|
if (nisan27dt.getDay() == FRI$1) {
|
|
4634
|
-
nisan27dt = new HDate
|
|
4656
|
+
nisan27dt = new HDate(26, NISAN$1, year);
|
|
4635
4657
|
} else if (nisan27dt.getDay() == SUN) {
|
|
4636
|
-
nisan27dt = new HDate
|
|
4658
|
+
nisan27dt = new HDate(28, NISAN$1, year);
|
|
4637
4659
|
}
|
|
4638
4660
|
|
|
4639
4661
|
add(new HolidayEvent(nisan27dt, 'Yom HaShoah', MODERN_HOLIDAY$1));
|
|
@@ -4655,34 +4677,34 @@ function getHolidaysForYear(year) {
|
|
|
4655
4677
|
day = 4;
|
|
4656
4678
|
}
|
|
4657
4679
|
|
|
4658
|
-
add(new HolidayEvent(new HDate
|
|
4680
|
+
add(new HolidayEvent(new HDate(day, IYYAR, year), 'Yom HaZikaron', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate(day + 1, IYYAR, year), 'Yom HaAtzma\'ut', MODERN_HOLIDAY$1, emojiIsraelFlag));
|
|
4659
4681
|
}
|
|
4660
4682
|
|
|
4661
4683
|
if (year >= 5727) {
|
|
4662
4684
|
// Yom Yerushalayim only celebrated after 1967
|
|
4663
|
-
add(new HolidayEvent(new HDate
|
|
4685
|
+
add(new HolidayEvent(new HDate(28, IYYAR, year), 'Yom Yerushalayim', MODERN_HOLIDAY$1, emojiIsraelFlag));
|
|
4664
4686
|
}
|
|
4665
4687
|
|
|
4666
4688
|
if (year >= 5769) {
|
|
4667
|
-
add(new HolidayEvent(new HDate
|
|
4689
|
+
add(new HolidayEvent(new HDate(29, CHESHVAN$1, year), 'Sigd', MODERN_HOLIDAY$1));
|
|
4668
4690
|
}
|
|
4669
4691
|
|
|
4670
4692
|
if (year >= 5777) {
|
|
4671
|
-
add(new HolidayEvent(new HDate
|
|
4693
|
+
add(new HolidayEvent(new HDate(7, CHESHVAN$1, year), 'Yom HaAliyah School Observance', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate(10, NISAN$1, year), 'Yom HaAliyah', MODERN_HOLIDAY$1, emojiIsraelFlag));
|
|
4672
4694
|
}
|
|
4673
4695
|
|
|
4674
|
-
let tamuz17 = new HDate
|
|
4696
|
+
let tamuz17 = new HDate(17, TAMUZ, year);
|
|
4675
4697
|
let tamuz17attrs;
|
|
4676
4698
|
|
|
4677
4699
|
if (tamuz17.getDay() == SAT$1) {
|
|
4678
|
-
tamuz17 = new HDate
|
|
4700
|
+
tamuz17 = new HDate(18, TAMUZ, year);
|
|
4679
4701
|
tamuz17attrs = {
|
|
4680
4702
|
observed: true
|
|
4681
4703
|
};
|
|
4682
4704
|
}
|
|
4683
4705
|
|
|
4684
4706
|
add(new HolidayEvent(tamuz17, 'Tzom Tammuz', MINOR_FAST$1, tamuz17attrs));
|
|
4685
|
-
let av9dt = new HDate
|
|
4707
|
+
let av9dt = new HDate(9, AV, year);
|
|
4686
4708
|
let av9title = 'Tish\'a B\'Av';
|
|
4687
4709
|
let av9attrs;
|
|
4688
4710
|
|
|
@@ -4695,17 +4717,17 @@ function getHolidaysForYear(year) {
|
|
|
4695
4717
|
}
|
|
4696
4718
|
|
|
4697
4719
|
const av9abs = av9dt.abs();
|
|
4698
|
-
add(new HolidayEvent(new HDate
|
|
4699
|
-
const monthsInYear = HDate
|
|
4720
|
+
add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs)), 'Shabbat Chazon', SPECIAL_SHABBAT$1), new HolidayEvent(av9dt.prev(), 'Erev Tish\'a B\'Av', EREV$1 | MAJOR_FAST$1, av9attrs), new HolidayEvent(av9dt, av9title, MAJOR_FAST$1, av9attrs), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs + 7)), 'Shabbat Nachamu', SPECIAL_SHABBAT$1));
|
|
4721
|
+
const monthsInYear = HDate.monthsInYear(year);
|
|
4700
4722
|
|
|
4701
4723
|
for (let month = 1; month <= monthsInYear; month++) {
|
|
4702
|
-
const monthName = HDate
|
|
4724
|
+
const monthName = HDate.getMonthName(month, year);
|
|
4703
4725
|
|
|
4704
|
-
if ((month == NISAN$1 ? HDate
|
|
4705
|
-
add(new RoshChodeshEvent(new HDate
|
|
4706
|
-
add(new RoshChodeshEvent(new HDate
|
|
4726
|
+
if ((month == NISAN$1 ? HDate.daysInMonth(HDate.monthsInYear(year - 1), year - 1) : HDate.daysInMonth(month - 1, year)) == 30) {
|
|
4727
|
+
add(new RoshChodeshEvent(new HDate(1, month, year), monthName));
|
|
4728
|
+
add(new RoshChodeshEvent(new HDate(30, month - 1, year), monthName));
|
|
4707
4729
|
} else if (month !== TISHREI$1) {
|
|
4708
|
-
add(new RoshChodeshEvent(new HDate
|
|
4730
|
+
add(new RoshChodeshEvent(new HDate(1, month, year), monthName));
|
|
4709
4731
|
}
|
|
4710
4732
|
|
|
4711
4733
|
if (month == ELUL$1) {
|
|
@@ -4713,8 +4735,8 @@ function getHolidaysForYear(year) {
|
|
|
4713
4735
|
} // Don't worry about month overrun; will get "Nisan" for month=14
|
|
4714
4736
|
|
|
4715
4737
|
|
|
4716
|
-
const nextMonthName = HDate
|
|
4717
|
-
add(new MevarchimChodeshEvent(new HDate
|
|
4738
|
+
const nextMonthName = HDate.getMonthName(month + 1, year);
|
|
4739
|
+
add(new MevarchimChodeshEvent(new HDate(29, month, year).onOrBefore(SAT$1), nextMonthName));
|
|
4718
4740
|
}
|
|
4719
4741
|
|
|
4720
4742
|
const sedra = getSedra(year, false);
|
|
@@ -4724,14 +4746,173 @@ function getHolidaysForYear(year) {
|
|
|
4724
4746
|
return h;
|
|
4725
4747
|
}
|
|
4726
4748
|
|
|
4727
|
-
var
|
|
4749
|
+
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]}];
|
|
4750
|
+
|
|
4751
|
+
const cycleStartDate = new Date(1947, 4, 20);
|
|
4752
|
+
const mishnaYomiStart = greg.greg2abs(cycleStartDate);
|
|
4753
|
+
const numMishnayot = 4192;
|
|
4754
|
+
const numDays = numMishnayot / 2;
|
|
4755
|
+
/**
|
|
4756
|
+
* Describes a mishna to be read
|
|
4757
|
+
* @typedef {Object} MishnaYomi
|
|
4758
|
+
* @property {string} k tractate name in Sephardic transliteration (e.g. "Berakhot", "Moed Katan")
|
|
4759
|
+
* @property {string} v verse (e.g. "2:1")
|
|
4760
|
+
*/
|
|
4761
|
+
// eslint-disable-next-line require-jsdoc
|
|
4762
|
+
|
|
4763
|
+
function throwTypeError(msg) {
|
|
4764
|
+
throw new TypeError(msg);
|
|
4765
|
+
}
|
|
4766
|
+
/**
|
|
4767
|
+
* A program of daily learning in which participants study two Mishnahs
|
|
4768
|
+
* each day in order to finish the entire Mishnah in ~6 years.
|
|
4769
|
+
*/
|
|
4770
|
+
|
|
4771
|
+
|
|
4772
|
+
class MishnaYomiIndex {
|
|
4773
|
+
/**
|
|
4774
|
+
* Initializes a Mishna Yomi instance
|
|
4775
|
+
*/
|
|
4776
|
+
constructor() {
|
|
4777
|
+
const tmp = Array(numMishnayot);
|
|
4778
|
+
let i = 0;
|
|
4779
|
+
|
|
4780
|
+
for (const tractate of mishnayot) {
|
|
4781
|
+
const v = tractate.v;
|
|
4782
|
+
|
|
4783
|
+
for (let chap = 1; chap <= v.length; chap++) {
|
|
4784
|
+
const numv = v[chap - 1];
|
|
4785
|
+
|
|
4786
|
+
for (let verse = 1; verse <= numv; verse++) {
|
|
4787
|
+
tmp[i++] = {
|
|
4788
|
+
k: tractate.k,
|
|
4789
|
+
v: `${chap}:${verse}`
|
|
4790
|
+
};
|
|
4791
|
+
}
|
|
4792
|
+
}
|
|
4793
|
+
}
|
|
4794
|
+
|
|
4795
|
+
const days = Array(numDays);
|
|
4796
|
+
|
|
4797
|
+
for (let j = 0; j < numDays; j++) {
|
|
4798
|
+
const k = j * 2;
|
|
4799
|
+
days[j] = [tmp[k], tmp[k + 1]];
|
|
4800
|
+
}
|
|
4801
|
+
/** @type {MishnaYomi[]} */
|
|
4802
|
+
|
|
4803
|
+
|
|
4804
|
+
this.days = days;
|
|
4805
|
+
}
|
|
4806
|
+
/**
|
|
4807
|
+
* Looks up a Mishna Yomi
|
|
4808
|
+
* @param {Date|HDate|number} date Gregorian date
|
|
4809
|
+
* @return {MishnaYomi[]}
|
|
4810
|
+
*/
|
|
4811
|
+
|
|
4812
|
+
|
|
4813
|
+
lookup(date) {
|
|
4814
|
+
const abs = typeof date === 'number' && !isNaN(date) ? date : greg.isDate(date) ? greg.greg2abs(date) : HDate.isHDate(date) ? date.abs() : throwTypeError(`Invalid date: ${date}`);
|
|
4815
|
+
|
|
4816
|
+
if (abs < mishnaYomiStart) {
|
|
4817
|
+
const s = date.toISOString().substring(0, 10);
|
|
4818
|
+
throw new RangeError(`Date ${s} too early; Mishna Yomi cycle began on 1947-05-20`);
|
|
4819
|
+
}
|
|
4820
|
+
|
|
4821
|
+
const dayNum = (abs - mishnaYomiStart) % numDays;
|
|
4822
|
+
return this.days[dayNum];
|
|
4823
|
+
}
|
|
4824
|
+
|
|
4825
|
+
}
|
|
4826
|
+
|
|
4827
|
+
/**
|
|
4828
|
+
* @private
|
|
4829
|
+
* @param {MishnaYomi[]} mishnaYomi
|
|
4830
|
+
* @param {string} locale
|
|
4831
|
+
* @return {string}
|
|
4832
|
+
*/
|
|
4833
|
+
|
|
4834
|
+
function formatMyomi(mishnaYomi, locale) {
|
|
4835
|
+
const k1 = mishnaYomi[0].k;
|
|
4836
|
+
const cv1 = mishnaYomi[0].v;
|
|
4837
|
+
const mishna1 = Locale.gettext(k1, locale) + ' ' + cv1;
|
|
4838
|
+
const k2 = mishnaYomi[1].k;
|
|
4839
|
+
const cv2 = mishnaYomi[1].v;
|
|
4840
|
+
|
|
4841
|
+
if (k1 !== k2) {
|
|
4842
|
+
return mishna1 + '-' + Locale.gettext(k2, locale) + ' ' + cv2;
|
|
4843
|
+
}
|
|
4844
|
+
|
|
4845
|
+
const p1 = cv1.split(':');
|
|
4846
|
+
const p2 = cv2.split(':');
|
|
4847
|
+
|
|
4848
|
+
if (p1[0] === p2[0]) {
|
|
4849
|
+
return mishna1 + '-' + p2[1];
|
|
4850
|
+
}
|
|
4851
|
+
|
|
4852
|
+
return mishna1 + '-' + cv2;
|
|
4853
|
+
}
|
|
4854
|
+
/**
|
|
4855
|
+
* Event wrapper around a Mishna Yomi instance
|
|
4856
|
+
*/
|
|
4857
|
+
|
|
4858
|
+
|
|
4859
|
+
class MishnaYomiEvent extends Event {
|
|
4860
|
+
/**
|
|
4861
|
+
* @param {HDate} date
|
|
4862
|
+
* @param {MishnaYomi[]} mishnaYomi
|
|
4863
|
+
*/
|
|
4864
|
+
constructor(date, mishnaYomi) {
|
|
4865
|
+
super(date, formatMyomi(mishnaYomi, null), flags.MISHNA_YOMI, {
|
|
4866
|
+
mishnaYomi
|
|
4867
|
+
});
|
|
4868
|
+
}
|
|
4869
|
+
/**
|
|
4870
|
+
* Returns Mishna Yomi name (e.g. "Bava Metzia 10:5-6" or "Berakhot 9:5-Peah 1:1").
|
|
4871
|
+
* @param {string} [locale] Optional locale name (defaults to active locale).
|
|
4872
|
+
* @return {string}
|
|
4873
|
+
*/
|
|
4874
|
+
|
|
4875
|
+
|
|
4876
|
+
render(locale) {
|
|
4877
|
+
return formatMyomi(this.mishnaYomi, locale);
|
|
4878
|
+
}
|
|
4879
|
+
/**
|
|
4880
|
+
* Returns a link to sefaria.org
|
|
4881
|
+
* @return {string}
|
|
4882
|
+
*/
|
|
4883
|
+
|
|
4884
|
+
|
|
4885
|
+
url() {
|
|
4886
|
+
const mishnaYomi = this.mishnaYomi;
|
|
4887
|
+
const k1 = mishnaYomi[0].k;
|
|
4888
|
+
const mishna = k1 === 'Avot' ? 'Pirkei' : 'Mishnah';
|
|
4889
|
+
const name = k1.replace(/ /g, '_');
|
|
4890
|
+
const prefix = `https://www.sefaria.org/${mishna}_${name}`;
|
|
4891
|
+
const cv1 = mishnaYomi[0].v;
|
|
4892
|
+
|
|
4893
|
+
if (k1 !== mishnaYomi[1].k) {
|
|
4894
|
+
const verse1 = cv1.replace(':', '.');
|
|
4895
|
+
return `${prefix}.${verse1}?lang=bi`;
|
|
4896
|
+
}
|
|
4897
|
+
|
|
4898
|
+
const cv2 = mishnaYomi[1].v;
|
|
4899
|
+
const p1 = cv1.split(':');
|
|
4900
|
+
const p2 = cv2.split(':');
|
|
4901
|
+
const verse1 = p1.join('.');
|
|
4902
|
+
const verse2 = p1[0] === p2[0] ? p2[1] : p2.join('.');
|
|
4903
|
+
return `${prefix}.${verse1}-${verse2}?lang=bi`;
|
|
4904
|
+
}
|
|
4905
|
+
|
|
4906
|
+
}
|
|
4907
|
+
|
|
4908
|
+
var version="3.33.3";
|
|
4728
4909
|
|
|
4729
|
-
var headers$1={"plural-forms":"nplurals=2; plural=(n > 1);",language:"en_CA@ashkenazi"};var contexts$1={"":{Berachot:["Berachos"],Shabbat:["Shabbos"],Taanit:["Taanis"],Yevamot:["Yevamos"],Ketubot:["Kesubos"],"Baba Batra":["Baba Basra"],Makkot:["Makkos"],Shevuot:["Shevuos"],Horayot:["Horayos"],Menachot:["Menachos"],Bechorot:["Bechoros"],Keritot:["Kerisos"],Midot:["Midos"],"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"],Tazria:["Sazria"],"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"]}};var poAshkenazi = {headers:headers$1,contexts:contexts$1};
|
|
4910
|
+
var headers$1={"plural-forms":"nplurals=2; plural=(n > 1);",language:"en_CA@ashkenazi"};var contexts$1={"":{Berachot:["Berachos"],Shabbat:["Shabbos"],Taanit:["Taanis"],Yevamot:["Yevamos"],Ketubot:["Kesubos"],"Baba Batra":["Baba Basra"],Makkot:["Makkos"],Shevuot:["Shevuos"],Horayot:["Horayos"],Menachot:["Menachos"],Bechorot:["Bechoros"],Keritot:["Kerisos"],Midot:["Midos"],"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"],Tazria:["Sazria"],"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"],Berakhot:["Berakhos"],Sheviit:["Sheviis"],Terumot:["Terumos"],Maasrot:["Maasros"],Eduyot:["Eduyos"],Avot:["Avos"],Bekhorot:["Bekhoros"],Middot:["Middos"],Oholot:["Oholos"],Tahorot:["Tahoros"],Mikvaot:["Mikvaos"]}};var poAshkenazi = {headers:headers$1,contexts:contexts$1};
|
|
4730
4911
|
|
|
4731
4912
|
Locale.addLocale('ashkenazi', poAshkenazi);
|
|
4732
4913
|
Locale.addLocale('a', poAshkenazi);
|
|
4733
4914
|
|
|
4734
|
-
var headers={"plural-forms":"nplurals=2; plural=(n > 1);",language:"he_IL"};var contexts={"":{Berachot:["ברכות"],Shabbat:["שַׁבָּת"],Eruvin:["עירובין"],Pesachim:["פסחים"],Shekalim:["שקלים"],Yoma:["יומא"],Sukkah:["סוכה"],Beitzah:["ביצה"],Taanit:["תענית"],Megillah:["מגילה"],"Moed Katan":["מועד קטן"],Chagigah:["חגיגה"],Yevamot:["יבמות"],Ketubot:["כתובות"],Nedarim:["נדרים"],Nazir:["נזיר"],Sotah:["סוטה"],Gitin:["גיטין"],Kiddushin:["קידושין"],"Baba Kamma":["בבא קמא"],"Baba Metzia":["בבא מציעא"],"Baba Batra":["בבא בתרא"],Sanhedrin:["סנהדרין"],Makkot:["מכות"],Shevuot:["שבועות"],"Avodah Zarah":["עבודה זרה"],Horayot:["הוריות"],Zevachim:["זבחים"],Menachot:["מנחות"],Chullin:["חולין"],Bechorot:["בכורות"],Arachin:["ערכין"],Temurah:["תמורה"],Keritot:["כריתות"],Meilah:["מעילה"],Kinnim:["קינים"],Tamid:["תמיד"],Midot:["מדות"],Niddah:["נדה"],"Daf Yomi: %s %d":["דף יומי: %s %d"],"Daf Yomi":["דף יומי"],Parashat:["פָּרָשַׁת"],"Achrei Mot":["אַחֲרֵי מוֹת"],Balak:["בָּלָק"],Bamidbar:["בְּמִדְבַּר"],Bechukotai:["בְּחֻקֹּתַי"],"Beha'alotcha":["בְּהַעֲלֹתְךָ"],Behar:["בְּהַר"],Bereshit:["בְּרֵאשִׁית"],Beshalach:["בְּשַׁלַּח"],Bo:["בֹּא"],"Chayei Sara":["חַיֵּי שָֹרָה"],Chukat:["חֻקַּת"],Devarim:["דְּבָרִים"],Eikev:["עֵקֶב"],Emor:["אֱמוֹר"],"Ha'Azinu":["הַאֲזִינוּ"],Kedoshim:["קְדשִׁים"],"Ki Tavo":["כִּי־תָבוֹא"],"Ki Teitzei":["כִּי־תֵצֵא"],"Ki Tisa":["כִּי תִשָּׂא"],Korach:["קוֹרַח"],"Lech-Lecha":["לֶךְ־לְךָ"],Masei:["מַסְעֵי"],Matot:["מַּטּוֹת"],Metzora:["מְּצֹרָע"],Miketz:["מִקֵּץ"],Mishpatim:["מִּשְׁפָּטִים"],Nasso:["נָשׂא"],Nitzavim:["נִצָּבִים"],Noach:["נֹחַ"],Pekudei:["פְקוּדֵי"],Pinchas:["פִּינְחָס"],"Re'eh":["רְאֵה"],"Sh'lach":["שְׁלַח־לְךָ"],Shemot:["שְׁמוֹת"],Shmini:["שְּׁמִינִי"],Shoftim:["שׁוֹפְטִים"],Tazria:["תַזְרִיעַ"],Terumah:["תְּרוּמָה"],Tetzaveh:["תְּצַוֶּה"],Toldot:["תּוֹלְדוֹת"],Tzav:["צַו"],Vaera:["וָאֵרָא"],Vaetchanan:["וָאֶתְחַנַּן"],Vayakhel:["וַיַּקְהֵל"],Vayechi:["וַיְחִי"],Vayeilech:["וַיֵּלֶךְ"],Vayera:["וַיֵּרָא"],Vayeshev:["וַיֵּשֶׁב"],Vayetzei:["וַיֵּצֵא"],Vayigash:["וַיִּגַּשׁ"],Vayikra:["וַיִּקְרָא"],Vayishlach:["וַיִּשְׁלַח"],"Vezot Haberakhah":["וְזֹאת הַבְּרָכָה"],Yitro:["יִתְרוֹ"],"Asara B'Tevet":["עֲשָׂרָה בְּטֵבֵת"],"Candle lighting":["הַדלָקָת נֵרוֹת"],Chanukah:["חֲנוּכָּה"],"Chanukah: 1 Candle":["חֲנוּכָּה: א׳ נֵר"],"Chanukah: 2 Candles":["חֲנוּכָּה: ב׳ נֵרוֹת"],"Chanukah: 3 Candles":["חֲנוּכָּה: ג׳ נֵרוֹת"],"Chanukah: 4 Candles":["חֲנוּכָּה: ד׳ נֵרוֹת"],"Chanukah: 5 Candles":["חֲנוּכָּה: ה׳ נֵרוֹת"],"Chanukah: 6 Candles":["חֲנוּכָּה: ו׳ נֵרוֹת"],"Chanukah: 7 Candles":["חֲנוּכָּה: ז׳ נֵרוֹת"],"Chanukah: 8 Candles":["חֲנוּכָּה: ח׳ נֵרוֹת"],"Chanukah: 8th Day":["חֲנוּכָּה: יוֹם ח׳"],"Days of the Omer":["עוֹמֶר"],Omer:["עוֹמֶר"],"day of the Omer":["בָּעוֹמֶר"],"Erev Pesach":["עֶרֶב פֶּסַח"],"Erev Purim":["עֶרֶב פּוּרִים"],"Erev Rosh Hashana":["עֶרֶב רֹאשׁ הַשָּׁנָה"],"Erev Shavuot":["עֶרֶב שָׁבוּעוֹת"],"Erev Simchat Torah":["עֶרֶב שִׂמְחַת תּוֹרָה"],"Erev Sukkot":["עֶרֶב סוּכּוֹת"],"Erev Tish'a B'Av":["עֶרֶב תִּשְׁעָה בְּאָב"],"Erev Yom Kippur":["עֶרֶב יוֹם כִּפּוּר"],Havdalah:["הַבדָלָה"],"Lag BaOmer":["ל״ג בָּעוֹמֶר"],"Leil Selichot":["סליחות"],Pesach:["פֶּסַח"],"Pesach I":["פֶּסַח א׳"],"Pesach II":["פֶּסַח ב׳"],"Pesach II (CH''M)":["פֶּסַח ב׳ (חוה״מ)"],"Pesach III (CH''M)":["פֶּסַח ג׳ (חוה״מ)"],"Pesach IV (CH''M)":["פֶּסַח ד׳ (חוה״מ)"],"Pesach Sheni":["פֶּסַח שני"],"Pesach V (CH''M)":["פֶּסַח ה׳ (חוה״מ)"],"Pesach VI (CH''M)":["פֶּסַח ו׳ (חוה״מ)"],"Pesach VII":["פֶּסַח ז׳"],"Pesach VIII":["פֶּסַח ח׳"],Purim:["פּוּרִים"],"Purim Katan":["פּוּרִים קָטָן"],"Rosh Chodesh %s":["רֹאשׁ חוֹדֶשׁ %s"],"Rosh Chodesh":["רֹאשׁ חוֹדֶשׁ"],Adar:["אַדָר"],"Adar I":["אַדָר א׳"],"Adar II":["אַדָר ב׳"],Av:["אָב"],Cheshvan:["חֶשְׁוָן"],Elul:["אֱלוּל"],Iyyar:["אִיָיר"],Kislev:["כִּסְלֵו"],Nisan:["נִיסָן"],"Sh'vat":["שְׁבָט"],Sivan:["סִיוָן"],Tamuz:["תַּמּוּז"],Tevet:["טֵבֵת"],Tishrei:["תִשְׁרֵי"],"Rosh Hashana":["רֹאשׁ הַשָּׁנָה"],"Rosh Hashana I":["רֹאשׁ הַשָּׁנָה א׳"],"Rosh Hashana II":["רֹאשׁ הַשָּׁנָה ב׳"],"Shabbat Chazon":["שַׁבָּת חֲזוֹן"],"Shabbat HaChodesh":["שַׁבָּת הַחֹדֶשׁ"],"Shabbat HaGadol":["שַׁבָּת הַגָּדוֹל"],"Shabbat Machar Chodesh":["שַׁבָּת מָחָר חוֹדֶשׁ"],"Shabbat Nachamu":["שַׁבָּת נַחֲמוּ"],"Shabbat Parah":["שַׁבָּת פּרה"],"Shabbat Rosh Chodesh":["שַׁבָּת רֹאשׁ חוֹדֶשׁ"],"Shabbat Shekalim":["שַׁבָּת שְׁקָלִים"],"Shabbat Shuva":["שַׁבָּת שׁוּבָה"],"Shabbat Zachor":["שַׁבָּת זָכוֹר"],Shavuot:["שָׁבוּעוֹת"],"Shavuot I":["שָׁבוּעוֹת א׳"],"Shavuot II":["שָׁבוּעוֹת ב׳"],"Shmini Atzeret":["שְׁמִינִי עֲצֶרֶת"],"Shushan Purim":["שׁוּשָׁן פּוּרִים"],Sigd:["סיגד"],"Simchat Torah":["שִׂמְחַת תּוֹרָה"],Sukkot:["סוּכּוֹת"],"Sukkot I":["סוּכּוֹת א׳"],"Sukkot II":["סוּכּוֹת ב׳"],"Sukkot II (CH''M)":["סוּכּוֹת ב׳ (חוה״מ)"],"Sukkot III (CH''M)":["סוּכּוֹת ג׳ (חוה״מ)"],"Sukkot IV (CH''M)":["סוּכּוֹת ד׳ (חוה״מ)"],"Sukkot V (CH''M)":["סוּכּוֹת ה׳ (חוה״מ)"],"Sukkot VI (CH''M)":["סוּכּוֹת ו׳ (חוה״מ)"],"Sukkot VII (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Ta'anit Bechorot":["תַּעֲנִית בְּכוֹרוֹת"],"Ta'anit Esther":["תַּעֲנִית אֶסְתֵּר"],"Tish'a B'Av":["תִּשְׁעָה בְּאָב"],"Tu B'Av":["טוּ בְּאָב"],"Tu BiShvat":["טוּ בִּשְׁבָט"],"Tu B'Shvat":["טוּ בִּשְׁבָט"],"Tzom Gedaliah":["צוֹם גְּדַלְיָה"],"Tzom Tammuz":["צוֹם תָּמוּז"],"Yom HaAtzma'ut":["יוֹם הָעַצְמָאוּת"],"Yom HaShoah":["יוֹם הַשּׁוֹאָה"],"Yom HaZikaron":["יוֹם הַזִּכָּרוֹן"],"Yom Kippur":["יוֹם כִּפּוּר"],"Yom Yerushalayim":["יוֹם יְרוּשָׁלַיִם"],"Yom HaAliyah":["יוֹם הַעֲלִיָּה"],"Yom HaAliyah School Observance":["שְׁמִירָת בֵּית הַסֵפֶר לְיוֹם הַעֲלִיָּה"],"Pesach I (on Shabbat)":["פֶּסַח יוֹם א׳ (בְּשַׁבָּת)"],"Pesach Chol ha-Moed Day 1":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם א׳"],"Pesach Chol ha-Moed Day 2":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳"],"Pesach Chol ha-Moed Day 3":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳"],"Pesach Chol ha-Moed Day 4":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ד׳"],"Pesach Chol ha-Moed Day 5":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ה׳"],"Pesach Shabbat Chol ha-Moed":["פֶּסַח שַׁבָּת חוֹל הַמּוֹעֵד"],"Shavuot II (on Shabbat)":["שָׁבוּעוֹת יוֹם ב׳ (בְּשַׁבָּת)"],"Rosh Hashana I (on Shabbat)":["רֹאשׁ הַשָּׁנָה יוֹם א׳ (בְּשַׁבָּת)"],"Yom Kippur (on Shabbat)":["יוֹם כִּפּוּר (בְּשַׁבָּת)"],"Yom Kippur (Mincha, Traditional)":["יוֹם כִּפּוּר מנחה"],"Yom Kippur (Mincha, Alternate)":["יוֹם כִּפּוּר מנחה"],"Sukkot I (on Shabbat)":["סוּכּוֹת יוֹם א׳ (בְּשַׁבָּת)"],"Sukkot Chol ha-Moed Day 1":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם א׳"],"Sukkot Chol ha-Moed Day 2":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ב׳"],"Sukkot Chol ha-Moed Day 3":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ג׳"],"Sukkot Chol ha-Moed Day 4":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ד׳"],"Sukkot Shabbat Chol ha-Moed":["סוּכּוֹת שַׁבָּת חוֹל הַמּוֹעֵד"],"Sukkot Final Day (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Rosh Chodesh Adar":["רֹאשׁ חוֹדֶשׁ אַדָר"],"Rosh Chodesh Adar I":["רֹאשׁ חוֹדֶשׁ אַדָר א׳"],"Rosh Chodesh Adar II":["רֹאשׁ חוֹדֶשׁ אַדָר ב׳"],"Rosh Chodesh Av":["רֹאשׁ חוֹדֶשׁ אָב"],"Rosh Chodesh Cheshvan":["רֹאשׁ חוֹדֶשׁ חֶשְׁוָן"],"Rosh Chodesh Elul":["רֹאשׁ חוֹדֶשׁ אֱלוּל"],"Rosh Chodesh Iyyar":["רֹאשׁ חוֹדֶשׁ אִיָיר"],"Rosh Chodesh Kislev":["רֹאשׁ חוֹדֶשׁ כִּסְלֵו"],"Rosh Chodesh Nisan":["רֹאשׁ חוֹדֶשׁ נִיסָן"],"Rosh Chodesh Sh'vat":["רֹאשׁ חוֹדֶשׁ שְׁבָט"],"Rosh Chodesh Sivan":["רֹאשׁ חוֹדֶשׁ סִיוָן"],"Rosh Chodesh Tamuz":["רֹאשׁ חוֹדֶשׁ תָּמוּז"],"Rosh Chodesh Tevet":["רֹאשׁ חוֹדֶשׁ טֵבֵת"],min:["דקות"],"Fast begins":["תחילת הַצוֹם"],"Fast ends":["סִיּוּם הַצוֹם"],"Rosh Hashana LaBehemot":["רֹאשׁ הַשָּׁנָה לְמַעְשַׂר בְּהֵמָה"],"Tish'a B'Av (observed)":["תִּשְׁעָה בְּאָב נִדחֶה"],"Shabbat Mevarchim Chodesh":["שַׁבָּת מברכים חוֹדֶשׁ"],"Shabbat Shirah":["שַׁבָּת שִׁירָה"],chatzotNight:["חֲצוֹת הַלַיְלָה"],alotHaShachar:["עֲלוֹת הַשַּׁחַר"],misheyakir:["משיכיר - זמן ציצית ותפילין"],misheyakirMachmir:["משיכיר - זמן ציצית ותפילין"],neitzHaChama:["הַנֵץ הַחַמָּה"],sofZmanShma:["סוֹף זְמַן קְרִיאַת שְׁמַע גר״א"],sofZmanTfilla:["סוֹף זְמַן תְּפִלָּה גר״א"],chatzot:["חֲצוֹת הַיּוֹם"],minchaGedola:["מִנְחָה גְּדוֹלָה"],minchaKetana:["מִנְחָה קְטַנָּה"],plagHaMincha:["פְּלַג הַמִּנְחָה"],shkiah:["שְׁקִיעָה"],tzeit:["צֵאת כוכבים"],Lovingkindness:["חֶֽסֶד"],Might:["גְבוּרָה"],Beauty:["תִּפאֶרֶת"],Eternity:["נֶּֽצַח"],Splendor:["הוֹד"],Foundation:["יְּסוֹד"],Majesty:["מַּלְכוּת"],day:["יוֹם"],"Chanukah Day 1":["חֲנוּכָּה יוֹם א׳"],"Chanukah Day 2":["חֲנוּכָּה יוֹם ב׳"],"Chanukah Day 3":["חֲנוּכָּה יוֹם ג׳"],"Chanukah Day 4":["חֲנוּכָּה יוֹם ד׳"],"Chanukah Day 5":["חֲנוּכָּה יוֹם ה׳"],"Chanukah Day 6":["חֲנוּכָּה יוֹם ו׳"],"Chanukah Day 7":["חֲנוּכָּה יוֹם ז׳"],"Chanukah Day 7 (on Rosh Chodesh)":["חֲנוּכָּה יוֹם ז׳ (רֹאשׁ חוֹדֶשׁ)"],"Chanukah Day 8":["חֲנוּכָּה יוֹם ח׳"]}};var poHe = {headers:headers,contexts:contexts};
|
|
4915
|
+
var headers={"plural-forms":"nplurals=2; plural=(n > 1);",language:"he_IL"};var contexts={"":{Berachot:["ברכות"],Shabbat:["שַׁבָּת"],Eruvin:["עירובין"],Pesachim:["פסחים"],Shekalim:["שקלים"],Yoma:["יומא"],Sukkah:["סוכה"],Beitzah:["ביצה"],Taanit:["תענית"],Megillah:["מגילה"],"Moed Katan":["מועד קטן"],Chagigah:["חגיגה"],Yevamot:["יבמות"],Ketubot:["כתובות"],Nedarim:["נדרים"],Nazir:["נזיר"],Sotah:["סוטה"],Gitin:["גיטין"],Kiddushin:["קידושין"],"Baba Kamma":["בבא קמא"],"Baba Metzia":["בבא מציעא"],"Baba Batra":["בבא בתרא"],Sanhedrin:["סנהדרין"],Makkot:["מכות"],Shevuot:["שבועות"],"Avodah Zarah":["עבודה זרה"],Horayot:["הוריות"],Zevachim:["זבחים"],Menachot:["מנחות"],Chullin:["חולין"],Bechorot:["בכורות"],Arachin:["ערכין"],Temurah:["תמורה"],Keritot:["כריתות"],Meilah:["מעילה"],Kinnim:["קינים"],Tamid:["תמיד"],Midot:["מדות"],Niddah:["נדה"],"Daf Yomi: %s %d":["דף יומי: %s %d"],"Daf Yomi":["דף יומי"],Parashat:["פָּרָשַׁת"],"Achrei Mot":["אַחֲרֵי מוֹת"],Balak:["בָּלָק"],Bamidbar:["בְּמִדְבַּר"],Bechukotai:["בְּחֻקֹּתַי"],"Beha'alotcha":["בְּהַעֲלֹתְךָ"],Behar:["בְּהַר"],Bereshit:["בְּרֵאשִׁית"],Beshalach:["בְּשַׁלַּח"],Bo:["בֹּא"],"Chayei Sara":["חַיֵּי שָֹרָה"],Chukat:["חֻקַּת"],Devarim:["דְּבָרִים"],Eikev:["עֵקֶב"],Emor:["אֱמוֹר"],"Ha'Azinu":["הַאֲזִינוּ"],Kedoshim:["קְדשִׁים"],"Ki Tavo":["כִּי־תָבוֹא"],"Ki Teitzei":["כִּי־תֵצֵא"],"Ki Tisa":["כִּי תִשָּׂא"],Korach:["קוֹרַח"],"Lech-Lecha":["לֶךְ־לְךָ"],Masei:["מַסְעֵי"],Matot:["מַּטּוֹת"],Metzora:["מְּצֹרָע"],Miketz:["מִקֵּץ"],Mishpatim:["מִּשְׁפָּטִים"],Nasso:["נָשׂא"],Nitzavim:["נִצָּבִים"],Noach:["נֹחַ"],Pekudei:["פְקוּדֵי"],Pinchas:["פִּינְחָס"],"Re'eh":["רְאֵה"],"Sh'lach":["שְׁלַח־לְךָ"],Shemot:["שְׁמוֹת"],Shmini:["שְּׁמִינִי"],Shoftim:["שׁוֹפְטִים"],Tazria:["תַזְרִיעַ"],Terumah:["תְּרוּמָה"],Tetzaveh:["תְּצַוֶּה"],Toldot:["תּוֹלְדוֹת"],Tzav:["צַו"],Vaera:["וָאֵרָא"],Vaetchanan:["וָאֶתְחַנַּן"],Vayakhel:["וַיַּקְהֵל"],Vayechi:["וַיְחִי"],Vayeilech:["וַיֵּלֶךְ"],Vayera:["וַיֵּרָא"],Vayeshev:["וַיֵּשֶׁב"],Vayetzei:["וַיֵּצֵא"],Vayigash:["וַיִּגַּשׁ"],Vayikra:["וַיִּקְרָא"],Vayishlach:["וַיִּשְׁלַח"],"Vezot Haberakhah":["וְזֹאת הַבְּרָכָה"],Yitro:["יִתְרוֹ"],"Asara B'Tevet":["עֲשָׂרָה בְּטֵבֵת"],"Candle lighting":["הַדלָקָת נֵרוֹת"],Chanukah:["חֲנוּכָּה"],"Chanukah: 1 Candle":["חֲנוּכָּה: א׳ נֵר"],"Chanukah: 2 Candles":["חֲנוּכָּה: ב׳ נֵרוֹת"],"Chanukah: 3 Candles":["חֲנוּכָּה: ג׳ נֵרוֹת"],"Chanukah: 4 Candles":["חֲנוּכָּה: ד׳ נֵרוֹת"],"Chanukah: 5 Candles":["חֲנוּכָּה: ה׳ נֵרוֹת"],"Chanukah: 6 Candles":["חֲנוּכָּה: ו׳ נֵרוֹת"],"Chanukah: 7 Candles":["חֲנוּכָּה: ז׳ נֵרוֹת"],"Chanukah: 8 Candles":["חֲנוּכָּה: ח׳ נֵרוֹת"],"Chanukah: 8th Day":["חֲנוּכָּה: יוֹם ח׳"],"Days of the Omer":["עוֹמֶר"],Omer:["עוֹמֶר"],"day of the Omer":["בָּעוֹמֶר"],"Erev Pesach":["עֶרֶב פֶּסַח"],"Erev Purim":["עֶרֶב פּוּרִים"],"Erev Rosh Hashana":["עֶרֶב רֹאשׁ הַשָּׁנָה"],"Erev Shavuot":["עֶרֶב שָׁבוּעוֹת"],"Erev Simchat Torah":["עֶרֶב שִׂמְחַת תּוֹרָה"],"Erev Sukkot":["עֶרֶב סוּכּוֹת"],"Erev Tish'a B'Av":["עֶרֶב תִּשְׁעָה בְּאָב"],"Erev Yom Kippur":["עֶרֶב יוֹם כִּפּוּר"],Havdalah:["הַבדָלָה"],"Lag BaOmer":["ל״ג בָּעוֹמֶר"],"Leil Selichot":["סליחות"],Pesach:["פֶּסַח"],"Pesach I":["פֶּסַח א׳"],"Pesach II":["פֶּסַח ב׳"],"Pesach II (CH''M)":["פֶּסַח ב׳ (חוה״מ)"],"Pesach III (CH''M)":["פֶּסַח ג׳ (חוה״מ)"],"Pesach IV (CH''M)":["פֶּסַח ד׳ (חוה״מ)"],"Pesach Sheni":["פֶּסַח שני"],"Pesach V (CH''M)":["פֶּסַח ה׳ (חוה״מ)"],"Pesach VI (CH''M)":["פֶּסַח ו׳ (חוה״מ)"],"Pesach VII":["פֶּסַח ז׳"],"Pesach VIII":["פֶּסַח ח׳"],Purim:["פּוּרִים"],"Purim Katan":["פּוּרִים קָטָן"],"Rosh Chodesh %s":["רֹאשׁ חוֹדֶשׁ %s"],"Rosh Chodesh":["רֹאשׁ חוֹדֶשׁ"],Adar:["אַדָר"],"Adar I":["אַדָר א׳"],"Adar II":["אַדָר ב׳"],Av:["אָב"],Cheshvan:["חֶשְׁוָן"],Elul:["אֱלוּל"],Iyyar:["אִיָיר"],Kislev:["כִּסְלֵו"],Nisan:["נִיסָן"],"Sh'vat":["שְׁבָט"],Sivan:["סִיוָן"],Tamuz:["תַּמּוּז"],Tevet:["טֵבֵת"],Tishrei:["תִשְׁרֵי"],"Rosh Hashana":["רֹאשׁ הַשָּׁנָה"],"Rosh Hashana I":["רֹאשׁ הַשָּׁנָה א׳"],"Rosh Hashana II":["רֹאשׁ הַשָּׁנָה ב׳"],"Shabbat Chazon":["שַׁבָּת חֲזוֹן"],"Shabbat HaChodesh":["שַׁבָּת הַחֹדֶשׁ"],"Shabbat HaGadol":["שַׁבָּת הַגָּדוֹל"],"Shabbat Machar Chodesh":["שַׁבָּת מָחָר חוֹדֶשׁ"],"Shabbat Nachamu":["שַׁבָּת נַחֲמוּ"],"Shabbat Parah":["שַׁבָּת פּרה"],"Shabbat Rosh Chodesh":["שַׁבָּת רֹאשׁ חוֹדֶשׁ"],"Shabbat Shekalim":["שַׁבָּת שְׁקָלִים"],"Shabbat Shuva":["שַׁבָּת שׁוּבָה"],"Shabbat Zachor":["שַׁבָּת זָכוֹר"],Shavuot:["שָׁבוּעוֹת"],"Shavuot I":["שָׁבוּעוֹת א׳"],"Shavuot II":["שָׁבוּעוֹת ב׳"],"Shmini Atzeret":["שְׁמִינִי עֲצֶרֶת"],"Shushan Purim":["שׁוּשָׁן פּוּרִים"],Sigd:["סיגד"],"Simchat Torah":["שִׂמְחַת תּוֹרָה"],Sukkot:["סוּכּוֹת"],"Sukkot I":["סוּכּוֹת א׳"],"Sukkot II":["סוּכּוֹת ב׳"],"Sukkot II (CH''M)":["סוּכּוֹת ב׳ (חוה״מ)"],"Sukkot III (CH''M)":["סוּכּוֹת ג׳ (חוה״מ)"],"Sukkot IV (CH''M)":["סוּכּוֹת ד׳ (חוה״מ)"],"Sukkot V (CH''M)":["סוּכּוֹת ה׳ (חוה״מ)"],"Sukkot VI (CH''M)":["סוּכּוֹת ו׳ (חוה״מ)"],"Sukkot VII (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Ta'anit Bechorot":["תַּעֲנִית בְּכוֹרוֹת"],"Ta'anit Esther":["תַּעֲנִית אֶסְתֵּר"],"Tish'a B'Av":["תִּשְׁעָה בְּאָב"],"Tu B'Av":["טוּ בְּאָב"],"Tu BiShvat":["טוּ בִּשְׁבָט"],"Tu B'Shvat":["טוּ בִּשְׁבָט"],"Tzom Gedaliah":["צוֹם גְּדַלְיָה"],"Tzom Tammuz":["צוֹם תָּמוּז"],"Yom HaAtzma'ut":["יוֹם הָעַצְמָאוּת"],"Yom HaShoah":["יוֹם הַשּׁוֹאָה"],"Yom HaZikaron":["יוֹם הַזִּכָּרוֹן"],"Yom Kippur":["יוֹם כִּפּוּר"],"Yom Yerushalayim":["יוֹם יְרוּשָׁלַיִם"],"Yom HaAliyah":["יוֹם הַעֲלִיָּה"],"Yom HaAliyah School Observance":["שְׁמִירָת בֵּית הַסֵפֶר לְיוֹם הַעֲלִיָּה"],"Pesach I (on Shabbat)":["פֶּסַח יוֹם א׳ (בְּשַׁבָּת)"],"Pesach Chol ha-Moed Day 1":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם א׳"],"Pesach Chol ha-Moed Day 2":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳"],"Pesach Chol ha-Moed Day 3":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳"],"Pesach Chol ha-Moed Day 4":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ד׳"],"Pesach Chol ha-Moed Day 5":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ה׳"],"Pesach Shabbat Chol ha-Moed":["פֶּסַח שַׁבָּת חוֹל הַמּוֹעֵד"],"Shavuot II (on Shabbat)":["שָׁבוּעוֹת יוֹם ב׳ (בְּשַׁבָּת)"],"Rosh Hashana I (on Shabbat)":["רֹאשׁ הַשָּׁנָה יוֹם א׳ (בְּשַׁבָּת)"],"Yom Kippur (on Shabbat)":["יוֹם כִּפּוּר (בְּשַׁבָּת)"],"Yom Kippur (Mincha, Traditional)":["יוֹם כִּפּוּר מנחה"],"Yom Kippur (Mincha, Alternate)":["יוֹם כִּפּוּר מנחה"],"Sukkot I (on Shabbat)":["סוּכּוֹת יוֹם א׳ (בְּשַׁבָּת)"],"Sukkot Chol ha-Moed Day 1":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם א׳"],"Sukkot Chol ha-Moed Day 2":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ב׳"],"Sukkot Chol ha-Moed Day 3":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ג׳"],"Sukkot Chol ha-Moed Day 4":["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ד׳"],"Sukkot Shabbat Chol ha-Moed":["סוּכּוֹת שַׁבָּת חוֹל הַמּוֹעֵד"],"Sukkot Final Day (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Rosh Chodesh Adar":["רֹאשׁ חוֹדֶשׁ אַדָר"],"Rosh Chodesh Adar I":["רֹאשׁ חוֹדֶשׁ אַדָר א׳"],"Rosh Chodesh Adar II":["רֹאשׁ חוֹדֶשׁ אַדָר ב׳"],"Rosh Chodesh Av":["רֹאשׁ חוֹדֶשׁ אָב"],"Rosh Chodesh Cheshvan":["רֹאשׁ חוֹדֶשׁ חֶשְׁוָן"],"Rosh Chodesh Elul":["רֹאשׁ חוֹדֶשׁ אֱלוּל"],"Rosh Chodesh Iyyar":["רֹאשׁ חוֹדֶשׁ אִיָיר"],"Rosh Chodesh Kislev":["רֹאשׁ חוֹדֶשׁ כִּסְלֵו"],"Rosh Chodesh Nisan":["רֹאשׁ חוֹדֶשׁ נִיסָן"],"Rosh Chodesh Sh'vat":["רֹאשׁ חוֹדֶשׁ שְׁבָט"],"Rosh Chodesh Sivan":["רֹאשׁ חוֹדֶשׁ סִיוָן"],"Rosh Chodesh Tamuz":["רֹאשׁ חוֹדֶשׁ תָּמוּז"],"Rosh Chodesh Tevet":["רֹאשׁ חוֹדֶשׁ טֵבֵת"],min:["דקות"],"Fast begins":["תחילת הַצוֹם"],"Fast ends":["סִיּוּם הַצוֹם"],"Rosh Hashana LaBehemot":["רֹאשׁ הַשָּׁנָה לְמַעְשַׂר בְּהֵמָה"],"Tish'a B'Av (observed)":["תִּשְׁעָה בְּאָב נִדחֶה"],"Shabbat Mevarchim Chodesh":["שַׁבָּת מברכים חוֹדֶשׁ"],"Shabbat Shirah":["שַׁבָּת שִׁירָה"],chatzotNight:["חֲצוֹת הַלַיְלָה"],alotHaShachar:["עֲלוֹת הַשַּׁחַר"],misheyakir:["משיכיר - זמן ציצית ותפילין"],misheyakirMachmir:["משיכיר - זמן ציצית ותפילין"],neitzHaChama:["הַנֵץ הַחַמָּה"],sofZmanShma:["סוֹף זְמַן קְרִיאַת שְׁמַע גר״א"],sofZmanTfilla:["סוֹף זְמַן תְּפִלָּה גר״א"],chatzot:["חֲצוֹת הַיּוֹם"],minchaGedola:["מִנְחָה גְּדוֹלָה"],minchaKetana:["מִנְחָה קְטַנָּה"],plagHaMincha:["פְּלַג הַמִּנְחָה"],shkiah:["שְׁקִיעָה"],"Nightfall - End of ordained fasts":["לַיְלָה - גמר תעניות דרבנן"],tzeit:["צֵאת כוכבים"],Lovingkindness:["חֶֽסֶד"],Might:["גְבוּרָה"],Beauty:["תִּפאֶרֶת"],Eternity:["נֶּֽצַח"],Splendor:["הוֹד"],Foundation:["יְּסוֹד"],Majesty:["מַּלְכוּת"],day:["יוֹם"],"Chanukah Day 1":["חֲנוּכָּה יוֹם א׳"],"Chanukah Day 2":["חֲנוּכָּה יוֹם ב׳"],"Chanukah Day 3":["חֲנוּכָּה יוֹם ג׳"],"Chanukah Day 4":["חֲנוּכָּה יוֹם ד׳"],"Chanukah Day 5":["חֲנוּכָּה יוֹם ה׳"],"Chanukah Day 6":["חֲנוּכָּה יוֹם ו׳"],"Chanukah Day 7":["חֲנוּכָּה יוֹם ז׳"],"Chanukah Day 7 (on Rosh Chodesh)":["חֲנוּכָּה יוֹם ז׳ (רֹאשׁ חוֹדֶשׁ)"],"Chanukah Day 8":["חֲנוּכָּה יוֹם ח׳"],Berakhot:["ברכות"],Peah:["פאה"],Demai:["דמאי"],Kilayim:["כלאים"],Sheviit:["שביעית"],Terumot:["תרומות"],Maasrot:["מעשרות"],"Maaser Sheni":["מעשר שני"],Challah:["חלה"],Orlah:["ערלה"],Bikkurim:["ביכורים"],"Rosh Hashanah":["ראש השנה"],Gittin:["גיטין"],"Bava Kamma":["בבא קמא"],"Bava Metzia":["בבא מציעא"],"Bava Batra":["בבא בתרא"],Eduyot:["עדיות"],Avot:["אבות"],Bekhorot:["בכורות"],Arakhin:["ערכין"],Middot:["מדות"],Kelim:["כלים"],Oholot:["אהלות"],Negaim:["נגעים"],Parah:["פרה"],Tahorot:["טהרות"],Mikvaot:["מקואות"],Makhshirin:["מכשירין"],Zavim:["זבים"],"Tevul Yom":["טבול יום"],Yadayim:["ידים"],Oktzin:["עוקצים"]}};var poHe = {headers:headers,contexts:contexts};
|
|
4735
4916
|
|
|
4736
4917
|
Locale.addLocale('he', poHe);
|
|
4737
4918
|
Locale.addLocale('h', poHe);
|
|
@@ -4827,6 +5008,7 @@ const RECOGNIZED_OPTIONS = {
|
|
|
4827
5008
|
noSpecialShabbat: 1,
|
|
4828
5009
|
noHolidays: 1,
|
|
4829
5010
|
dafyomi: 1,
|
|
5011
|
+
mishnaYomi: 1,
|
|
4830
5012
|
omer: 1,
|
|
4831
5013
|
molad: 1,
|
|
4832
5014
|
ashkenazi: 1,
|
|
@@ -4927,6 +5109,7 @@ function checkCandleOptions(options) {
|
|
|
4927
5109
|
* @property {boolean} noSpecialShabbat - suppress Special Shabbat
|
|
4928
5110
|
* @property {boolean} noHolidays - suppress regular holidays
|
|
4929
5111
|
* @property {boolean} dafyomi - include Daf Yomi
|
|
5112
|
+
* @property {boolean} mishnaYomi - include Mishna Yomi
|
|
4930
5113
|
* @property {boolean} omer - include Days of the Omer
|
|
4931
5114
|
* @property {boolean} molad - include event announcing the molad
|
|
4932
5115
|
* @property {boolean} ashkenazi - use Ashkenazi transliterations for event titles (default Sephardi transliterations)
|
|
@@ -4950,7 +5133,7 @@ function checkCandleOptions(options) {
|
|
|
4950
5133
|
function getAbs(d) {
|
|
4951
5134
|
if (typeof d == 'number') return d;
|
|
4952
5135
|
if (greg.isDate(d)) return greg.greg2abs(d);
|
|
4953
|
-
if (HDate
|
|
5136
|
+
if (HDate.isHDate(d)) return d.abs();
|
|
4954
5137
|
throw new TypeError(`Invalid date type: ${d}`);
|
|
4955
5138
|
}
|
|
4956
5139
|
/**
|
|
@@ -4969,7 +5152,7 @@ function getStartAndEnd(options) {
|
|
|
4969
5152
|
}
|
|
4970
5153
|
|
|
4971
5154
|
const isHebrewYear = Boolean(options.isHebrewYear);
|
|
4972
|
-
const theYear = typeof options.year !== 'undefined' ? parseInt(options.year, 10) : isHebrewYear ? new HDate
|
|
5155
|
+
const theYear = typeof options.year !== 'undefined' ? parseInt(options.year, 10) : isHebrewYear ? new HDate().getFullYear() : new Date().getFullYear();
|
|
4973
5156
|
|
|
4974
5157
|
if (isNaN(theYear)) {
|
|
4975
5158
|
throw new RangeError(`Invalid year ${options.year}`);
|
|
@@ -4983,7 +5166,7 @@ function getStartAndEnd(options) {
|
|
|
4983
5166
|
|
|
4984
5167
|
if (options.month) {
|
|
4985
5168
|
if (isHebrewYear) {
|
|
4986
|
-
theMonth = HDate
|
|
5169
|
+
theMonth = HDate.monthNum(options.month);
|
|
4987
5170
|
} else {
|
|
4988
5171
|
theMonth = options.month;
|
|
4989
5172
|
}
|
|
@@ -4992,9 +5175,9 @@ function getStartAndEnd(options) {
|
|
|
4992
5175
|
const numYears = parseInt(options.numYears, 10) || 1;
|
|
4993
5176
|
|
|
4994
5177
|
if (isHebrewYear) {
|
|
4995
|
-
const startDate = new HDate
|
|
5178
|
+
const startDate = new HDate(1, theMonth || TISHREI, theYear);
|
|
4996
5179
|
let startAbs = startDate.abs();
|
|
4997
|
-
const endAbs = options.month ? startAbs + startDate.daysInMonth() : new HDate
|
|
5180
|
+
const endAbs = options.month ? startAbs + startDate.daysInMonth() : new HDate(1, TISHREI, theYear + numYears).abs() - 1; // for full Hebrew year, start on Erev Rosh Hashana which
|
|
4998
5181
|
// is technically in the previous Hebrew year
|
|
4999
5182
|
// (but conveniently lets us get candle-lighting time for Erev)
|
|
5000
5183
|
|
|
@@ -5048,6 +5231,7 @@ function getMaskFromOptions(options) {
|
|
|
5048
5231
|
if (m & DAF_YOMI) options.dafyomi = true;
|
|
5049
5232
|
if (m & OMER_COUNT) options.omer = true;
|
|
5050
5233
|
if (m & SHABBAT_MEVARCHIM) options.shabbatMevarchim = true;
|
|
5234
|
+
if (m & flags.MISHNA_YOMI) options.mishnaYomi = true;
|
|
5051
5235
|
options.userMask = true;
|
|
5052
5236
|
return m;
|
|
5053
5237
|
}
|
|
@@ -5096,6 +5280,10 @@ function getMaskFromOptions(options) {
|
|
|
5096
5280
|
mask |= DAF_YOMI;
|
|
5097
5281
|
}
|
|
5098
5282
|
|
|
5283
|
+
if (options.mishnaYomi) {
|
|
5284
|
+
mask |= flags.MISHNA_YOMI;
|
|
5285
|
+
}
|
|
5286
|
+
|
|
5099
5287
|
if (options.omer) {
|
|
5100
5288
|
mask |= OMER_COUNT;
|
|
5101
5289
|
}
|
|
@@ -5109,6 +5297,7 @@ function getMaskFromOptions(options) {
|
|
|
5109
5297
|
|
|
5110
5298
|
const MASK_LIGHT_CANDLES = LIGHT_CANDLES | LIGHT_CANDLES_TZEIS | CHANUKAH_CANDLES | YOM_TOV_ENDS;
|
|
5111
5299
|
/**
|
|
5300
|
+
* @namespace
|
|
5112
5301
|
* HebrewCalendar is the main interface to the `@hebcal/core` library.
|
|
5113
5302
|
* This namespace is used to calculate holidays, rosh chodesh, candle lighting & havdalah times,
|
|
5114
5303
|
* Parashat HaShavua, Daf Yomi, days of the omer, and the molad.
|
|
@@ -5151,6 +5340,7 @@ const HebrewCalendar = {
|
|
|
5151
5340
|
* * Parashat HaShavua - weekly Torah Reading on Saturdays (`options.sedrot`)
|
|
5152
5341
|
* * Counting of the Omer (`options.omer`)
|
|
5153
5342
|
* * Daf Yomi (`options.dafyomi`)
|
|
5343
|
+
* * Mishna Yomi (`options.mishnaYomi`)
|
|
5154
5344
|
* * Shabbat Mevarchim HaChodesh on Saturday before Rosh Chodesh (`options.shabbatMevarchim`)
|
|
5155
5345
|
* * Molad announcement on Saturday before Rosh Chodesh (`options.molad`)
|
|
5156
5346
|
*
|
|
@@ -5257,8 +5447,14 @@ const HebrewCalendar = {
|
|
|
5257
5447
|
options.candlelighting = false;
|
|
5258
5448
|
}
|
|
5259
5449
|
|
|
5450
|
+
let mishnaYomiIndex;
|
|
5451
|
+
|
|
5452
|
+
if (options.mishnaYomi) {
|
|
5453
|
+
mishnaYomiIndex = new MishnaYomiIndex();
|
|
5454
|
+
}
|
|
5455
|
+
|
|
5260
5456
|
for (let abs = startAbs; abs <= endAbs; abs++) {
|
|
5261
|
-
const hd = new HDate
|
|
5457
|
+
const hd = new HDate(abs);
|
|
5262
5458
|
const hyear = hd.getFullYear();
|
|
5263
5459
|
|
|
5264
5460
|
if (hyear != currentYear) {
|
|
@@ -5270,8 +5466,8 @@ const HebrewCalendar = {
|
|
|
5270
5466
|
}
|
|
5271
5467
|
|
|
5272
5468
|
if (options.omer) {
|
|
5273
|
-
beginOmer = HDate
|
|
5274
|
-
endOmer = HDate
|
|
5469
|
+
beginOmer = HDate.hebrew2abs(currentYear, NISAN, 16);
|
|
5470
|
+
endOmer = HDate.hebrew2abs(currentYear, SIVAN, 5);
|
|
5275
5471
|
}
|
|
5276
5472
|
}
|
|
5277
5473
|
|
|
@@ -5295,6 +5491,11 @@ const HebrewCalendar = {
|
|
|
5295
5491
|
evts.push(new DafYomiEvent(hd));
|
|
5296
5492
|
}
|
|
5297
5493
|
|
|
5494
|
+
if (options.mishnaYomi && abs >= mishnaYomiStart) {
|
|
5495
|
+
const mishnaYomi = mishnaYomiIndex.lookup(abs);
|
|
5496
|
+
evts.push(new MishnaYomiEvent(hd, mishnaYomi));
|
|
5497
|
+
}
|
|
5498
|
+
|
|
5298
5499
|
if (options.omer && abs >= beginOmer && abs <= endOmer) {
|
|
5299
5500
|
const omer = abs - beginOmer + 1;
|
|
5300
5501
|
evts.push(new OmerEvent(hd, omer));
|
|
@@ -5303,7 +5504,7 @@ const HebrewCalendar = {
|
|
|
5303
5504
|
const hmonth = hd.getMonth();
|
|
5304
5505
|
|
|
5305
5506
|
if (options.molad && dow == SAT && hmonth != ELUL && hd.getDate() >= 23 && hd.getDate() <= 29) {
|
|
5306
|
-
const monNext = hmonth == HDate
|
|
5507
|
+
const monNext = hmonth == HDate.monthsInYear(hyear) ? NISAN : hmonth + 1;
|
|
5307
5508
|
evts.push(new MoladEvent(hd, hyear, monNext));
|
|
5308
5509
|
}
|
|
5309
5510
|
|
|
@@ -5365,7 +5566,7 @@ const HebrewCalendar = {
|
|
|
5365
5566
|
* @return {HDate} anniversary occurring in `hyear`
|
|
5366
5567
|
*/
|
|
5367
5568
|
getBirthdayOrAnniversary: function (hyear, gdate) {
|
|
5368
|
-
const orig = HDate
|
|
5569
|
+
const orig = HDate.isHDate(gdate) ? gdate : new HDate(gdate);
|
|
5369
5570
|
const origYear = orig.getFullYear();
|
|
5370
5571
|
|
|
5371
5572
|
if (hyear <= origYear) {
|
|
@@ -5373,24 +5574,24 @@ const HebrewCalendar = {
|
|
|
5373
5574
|
return undefined;
|
|
5374
5575
|
}
|
|
5375
5576
|
|
|
5376
|
-
const isOrigLeap = HDate
|
|
5577
|
+
const isOrigLeap = HDate.isLeapYear(origYear);
|
|
5377
5578
|
let month = orig.getMonth();
|
|
5378
5579
|
let day = orig.getDate();
|
|
5379
5580
|
|
|
5380
5581
|
if (month == ADAR_I && !isOrigLeap || month == ADAR_II && isOrigLeap) {
|
|
5381
|
-
month = HDate
|
|
5382
|
-
} else if (month == CHESHVAN && day == 30 && !HDate
|
|
5582
|
+
month = HDate.monthsInYear(hyear);
|
|
5583
|
+
} else if (month == CHESHVAN && day == 30 && !HDate.longCheshvan(hyear)) {
|
|
5383
5584
|
month = KISLEV;
|
|
5384
5585
|
day = 1;
|
|
5385
|
-
} else if (month == KISLEV && day == 30 && HDate
|
|
5586
|
+
} else if (month == KISLEV && day == 30 && HDate.shortKislev(hyear)) {
|
|
5386
5587
|
month = TEVET;
|
|
5387
5588
|
day = 1;
|
|
5388
|
-
} else if (month == ADAR_I && day == 30 && isOrigLeap && !HDate
|
|
5589
|
+
} else if (month == ADAR_I && day == 30 && isOrigLeap && !HDate.isLeapYear(hyear)) {
|
|
5389
5590
|
month = NISAN;
|
|
5390
5591
|
day = 1;
|
|
5391
5592
|
}
|
|
5392
5593
|
|
|
5393
|
-
return new HDate
|
|
5594
|
+
return new HDate(day, month, hyear);
|
|
5394
5595
|
},
|
|
5395
5596
|
|
|
5396
5597
|
/**
|
|
@@ -5428,7 +5629,7 @@ const HebrewCalendar = {
|
|
|
5428
5629
|
* @return {HDate} anniversary occurring in hyear
|
|
5429
5630
|
*/
|
|
5430
5631
|
getYahrzeit: function (hyear, gdate) {
|
|
5431
|
-
const orig = HDate
|
|
5632
|
+
const orig = HDate.isHDate(gdate) ? gdate : new HDate(gdate);
|
|
5432
5633
|
let hDeath = {
|
|
5433
5634
|
yy: orig.getFullYear(),
|
|
5434
5635
|
mm: orig.getMonth(),
|
|
@@ -5440,18 +5641,18 @@ const HebrewCalendar = {
|
|
|
5440
5641
|
return undefined;
|
|
5441
5642
|
}
|
|
5442
5643
|
|
|
5443
|
-
if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate
|
|
5644
|
+
if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate.longCheshvan(hDeath.yy + 1)) {
|
|
5444
5645
|
// If it's Heshvan 30 it depends on the first anniversary;
|
|
5445
5646
|
// if that was not Heshvan 30, use the day before Kislev 1.
|
|
5446
|
-
hDeath = HDate
|
|
5447
|
-
} else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate
|
|
5647
|
+
hDeath = HDate.abs2hebrew(HDate.hebrew2abs(hyear, KISLEV, 1) - 1);
|
|
5648
|
+
} else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate.shortKislev(hDeath.yy + 1)) {
|
|
5448
5649
|
// If it's Kislev 30 it depends on the first anniversary;
|
|
5449
5650
|
// if that was not Kislev 30, use the day before Teveth 1.
|
|
5450
|
-
hDeath = HDate
|
|
5651
|
+
hDeath = HDate.abs2hebrew(HDate.hebrew2abs(hyear, TEVET, 1) - 1);
|
|
5451
5652
|
} else if (hDeath.mm == ADAR_II) {
|
|
5452
5653
|
// If it's Adar II, use the same day in last month of year (Adar or Adar II).
|
|
5453
|
-
hDeath.mm = HDate
|
|
5454
|
-
} else if (hDeath.mm == ADAR_I && hDeath.dd == 30 && !HDate
|
|
5654
|
+
hDeath.mm = HDate.monthsInYear(hyear);
|
|
5655
|
+
} else if (hDeath.mm == ADAR_I && hDeath.dd == 30 && !HDate.isLeapYear(hyear)) {
|
|
5455
5656
|
// If it's the 30th in Adar I and year is not a leap year
|
|
5456
5657
|
// (so Adar has only 29 days), use the last day in Shevat.
|
|
5457
5658
|
hDeath.dd = 30;
|
|
@@ -5460,15 +5661,15 @@ const HebrewCalendar = {
|
|
|
5460
5661
|
// advance day to rosh chodesh if needed
|
|
5461
5662
|
|
|
5462
5663
|
|
|
5463
|
-
if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate
|
|
5664
|
+
if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate.longCheshvan(hyear)) {
|
|
5464
5665
|
hDeath.mm = KISLEV;
|
|
5465
5666
|
hDeath.dd = 1;
|
|
5466
|
-
} else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate
|
|
5667
|
+
} else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate.shortKislev(hyear)) {
|
|
5467
5668
|
hDeath.mm = TEVET;
|
|
5468
5669
|
hDeath.dd = 1;
|
|
5469
5670
|
}
|
|
5470
5671
|
|
|
5471
|
-
return new HDate
|
|
5672
|
+
return new HDate(hDeath.dd, hDeath.mm, hyear);
|
|
5472
5673
|
},
|
|
5473
5674
|
|
|
5474
5675
|
/**
|
|
@@ -5489,12 +5690,12 @@ const HebrewCalendar = {
|
|
|
5489
5690
|
*/
|
|
5490
5691
|
getHolidaysForYearArray: function (year, il) {
|
|
5491
5692
|
const yearMap = HebrewCalendar.getHolidaysForYear(year);
|
|
5492
|
-
const startAbs = HDate
|
|
5493
|
-
const endAbs = HDate
|
|
5693
|
+
const startAbs = HDate.hebrew2abs(year, TISHREI, 1);
|
|
5694
|
+
const endAbs = HDate.hebrew2abs(year + 1, TISHREI, 1) - 1;
|
|
5494
5695
|
const events = [];
|
|
5495
5696
|
|
|
5496
5697
|
for (let absDt = startAbs; absDt <= endAbs; absDt++) {
|
|
5497
|
-
const hd = new HDate
|
|
5698
|
+
const hd = new HDate(absDt);
|
|
5498
5699
|
const holidays = yearMap.get(hd.toString());
|
|
5499
5700
|
|
|
5500
5701
|
if (holidays) {
|
|
@@ -5513,7 +5714,7 @@ const HebrewCalendar = {
|
|
|
5513
5714
|
* @return {Event[]}
|
|
5514
5715
|
*/
|
|
5515
5716
|
getHolidaysOnDate: function (date, il) {
|
|
5516
|
-
const hd = HDate
|
|
5717
|
+
const hd = HDate.isHDate(date) ? date : new HDate(date);
|
|
5517
5718
|
const yearMap = HebrewCalendar.getHolidaysForYear(hd.getFullYear());
|
|
5518
5719
|
const events = yearMap.get(hd.toString());
|
|
5519
5720
|
|
|
@@ -5643,4 +5844,4 @@ function appendHolidayAndRelated(events, ev, options, candlesEv, dow) {
|
|
|
5643
5844
|
return candlesEv;
|
|
5644
5845
|
}
|
|
5645
5846
|
|
|
5646
|
-
export { AsaraBTevetEvent, CandleLightingEvent, DafYomi, DafYomiEvent, Event, HDate
|
|
5847
|
+
export { AsaraBTevetEvent, CandleLightingEvent, DafYomi, DafYomiEvent, Event, HDate, HavdalahEvent, HebrewCalendar, HebrewDateEvent, HolidayEvent, Locale, Location, MevarchimChodeshEvent, MishnaYomiEvent, MishnaYomiIndex, Molad, MoladEvent, OmerEvent, ParshaEvent, RoshChodeshEvent, RoshHashanaEvent, Sedra, TimedEvent, Zmanim, flags, gematriya, greg, months, parshiot, version };
|