@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.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v3.
|
|
1
|
+
/*! @hebcal/core v3.33.3 */
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
@@ -621,7 +621,7 @@ const monthNames0 = ['', 'Nisan', 'Iyyar', 'Sivan', 'Tamuz', 'Av', 'Elul', 'Tish
|
|
|
621
621
|
|
|
622
622
|
const monthNames = [monthNames0.concat(['Adar', 'Nisan']), monthNames0.concat(['Adar I', 'Adar II', 'Nisan'])]; // eslint-disable-next-line require-jsdoc
|
|
623
623
|
|
|
624
|
-
function throwTypeError$
|
|
624
|
+
function throwTypeError$3(msg) {
|
|
625
625
|
throw new TypeError(msg);
|
|
626
626
|
}
|
|
627
627
|
|
|
@@ -656,7 +656,7 @@ const UNITS_VALID = {
|
|
|
656
656
|
|
|
657
657
|
/** Represents a Hebrew date */
|
|
658
658
|
|
|
659
|
-
class HDate
|
|
659
|
+
class HDate {
|
|
660
660
|
/**
|
|
661
661
|
* Create a Hebrew date. There are 3 basic forms for the `HDate()` constructor.
|
|
662
662
|
*
|
|
@@ -725,13 +725,13 @@ class HDate$1 {
|
|
|
725
725
|
} // 1 argument
|
|
726
726
|
|
|
727
727
|
|
|
728
|
-
const abs0 = typeof day === 'number' && !isNaN(day) ? day : greg.isDate(day) ? greg.greg2abs(day) : HDate
|
|
728
|
+
const abs0 = typeof day === 'number' && !isNaN(day) ? day : greg.isDate(day) ? greg.greg2abs(day) : HDate.isHDate(day) ? {
|
|
729
729
|
dd: day.day,
|
|
730
730
|
mm: day.month,
|
|
731
731
|
yy: day.year
|
|
732
|
-
} : throwTypeError$
|
|
732
|
+
} : throwTypeError$3(`HDate called with bad argument: ${day}`);
|
|
733
733
|
const isNumber = typeof abs0 === 'number';
|
|
734
|
-
const d = isNumber ? HDate
|
|
734
|
+
const d = isNumber ? HDate.abs2hebrew(abs0) : abs0;
|
|
735
735
|
/**
|
|
736
736
|
* @private
|
|
737
737
|
* @type {number}
|
|
@@ -776,7 +776,7 @@ class HDate$1 {
|
|
|
776
776
|
|
|
777
777
|
|
|
778
778
|
isLeapYear() {
|
|
779
|
-
return HDate
|
|
779
|
+
return HDate.isLeapYear(this.year);
|
|
780
780
|
}
|
|
781
781
|
/**
|
|
782
782
|
* Gets the Hebrew month (1=NISAN, 7=TISHREI) of this Hebrew date
|
|
@@ -794,7 +794,7 @@ class HDate$1 {
|
|
|
794
794
|
|
|
795
795
|
|
|
796
796
|
getTishreiMonth() {
|
|
797
|
-
const nummonths = HDate
|
|
797
|
+
const nummonths = HDate.monthsInYear(this.getFullYear());
|
|
798
798
|
return (this.getMonth() + nummonths - 6) % nummonths || nummonths;
|
|
799
799
|
}
|
|
800
800
|
/**
|
|
@@ -804,7 +804,7 @@ class HDate$1 {
|
|
|
804
804
|
|
|
805
805
|
|
|
806
806
|
daysInMonth() {
|
|
807
|
-
return HDate
|
|
807
|
+
return HDate.daysInMonth(this.getMonth(), this.getFullYear());
|
|
808
808
|
}
|
|
809
809
|
/**
|
|
810
810
|
* Gets the day within the month (1-30)
|
|
@@ -847,7 +847,7 @@ class HDate$1 {
|
|
|
847
847
|
|
|
848
848
|
|
|
849
849
|
setMonth(month) {
|
|
850
|
-
this.month = HDate
|
|
850
|
+
this.month = HDate.monthNum(month);
|
|
851
851
|
fix(this);
|
|
852
852
|
return this;
|
|
853
853
|
}
|
|
@@ -883,7 +883,7 @@ class HDate$1 {
|
|
|
883
883
|
|
|
884
884
|
abs() {
|
|
885
885
|
if (typeof this.abs0 !== 'number') {
|
|
886
|
-
this.abs0 = HDate
|
|
886
|
+
this.abs0 = HDate.hebrew2abs(this.year, this.month, this.day);
|
|
887
887
|
}
|
|
888
888
|
|
|
889
889
|
return this.abs0;
|
|
@@ -903,20 +903,20 @@ class HDate$1 {
|
|
|
903
903
|
let tempabs = day;
|
|
904
904
|
|
|
905
905
|
if (month < TISHREI$2) {
|
|
906
|
-
for (let m = TISHREI$2; m <= HDate
|
|
907
|
-
tempabs += HDate
|
|
906
|
+
for (let m = TISHREI$2; m <= HDate.monthsInYear(year); m++) {
|
|
907
|
+
tempabs += HDate.daysInMonth(m, year);
|
|
908
908
|
}
|
|
909
909
|
|
|
910
910
|
for (let m = NISAN$2; m < month; m++) {
|
|
911
|
-
tempabs += HDate
|
|
911
|
+
tempabs += HDate.daysInMonth(m, year);
|
|
912
912
|
}
|
|
913
913
|
} else {
|
|
914
914
|
for (let m = TISHREI$2; m < month; m++) {
|
|
915
|
-
tempabs += HDate
|
|
915
|
+
tempabs += HDate.daysInMonth(m, year);
|
|
916
916
|
}
|
|
917
917
|
}
|
|
918
918
|
|
|
919
|
-
return EPOCH + HDate
|
|
919
|
+
return EPOCH + HDate.elapsedDays(year) + tempabs - 1;
|
|
920
920
|
}
|
|
921
921
|
/**
|
|
922
922
|
* @private
|
|
@@ -926,7 +926,7 @@ class HDate$1 {
|
|
|
926
926
|
|
|
927
927
|
|
|
928
928
|
static newYear(year) {
|
|
929
|
-
return EPOCH + HDate
|
|
929
|
+
return EPOCH + HDate.elapsedDays(year) + HDate.newYearDelay(year);
|
|
930
930
|
}
|
|
931
931
|
/**
|
|
932
932
|
* @private
|
|
@@ -936,13 +936,13 @@ class HDate$1 {
|
|
|
936
936
|
|
|
937
937
|
|
|
938
938
|
static newYearDelay(year) {
|
|
939
|
-
const ny1 = HDate
|
|
940
|
-
const ny2 = HDate
|
|
939
|
+
const ny1 = HDate.elapsedDays(year);
|
|
940
|
+
const ny2 = HDate.elapsedDays(year + 1);
|
|
941
941
|
|
|
942
942
|
if (ny2 - ny1 === 356) {
|
|
943
943
|
return 2;
|
|
944
944
|
} else {
|
|
945
|
-
const ny0 = HDate
|
|
945
|
+
const ny0 = HDate.elapsedDays(year - 1);
|
|
946
946
|
return ny1 - ny0 === 382 ? 1 : 0;
|
|
947
947
|
}
|
|
948
948
|
}
|
|
@@ -963,18 +963,18 @@ class HDate$1 {
|
|
|
963
963
|
|
|
964
964
|
let year = Math.floor((abs - EPOCH) / AVG_HEBYEAR_DAYS);
|
|
965
965
|
|
|
966
|
-
while (HDate
|
|
966
|
+
while (HDate.newYear(year) <= abs) {
|
|
967
967
|
++year;
|
|
968
968
|
}
|
|
969
969
|
|
|
970
970
|
--year;
|
|
971
|
-
let month = abs < HDate
|
|
971
|
+
let month = abs < HDate.hebrew2abs(year, 1, 1) ? 7 : 1;
|
|
972
972
|
|
|
973
|
-
while (abs > HDate
|
|
973
|
+
while (abs > HDate.hebrew2abs(year, month, HDate.daysInMonth(month, year))) {
|
|
974
974
|
++month;
|
|
975
975
|
}
|
|
976
976
|
|
|
977
|
-
const day = 1 + abs - HDate
|
|
977
|
+
const day = 1 + abs - HDate.hebrew2abs(year, month, 1);
|
|
978
978
|
return {
|
|
979
979
|
yy: year,
|
|
980
980
|
mm: month,
|
|
@@ -988,7 +988,7 @@ class HDate$1 {
|
|
|
988
988
|
|
|
989
989
|
|
|
990
990
|
getMonthName() {
|
|
991
|
-
return HDate
|
|
991
|
+
return HDate.getMonthName(this.getMonth(), this.getFullYear());
|
|
992
992
|
}
|
|
993
993
|
/**
|
|
994
994
|
* Renders this Hebrew date as a translated or transliterated string,
|
|
@@ -1010,7 +1010,7 @@ class HDate$1 {
|
|
|
1010
1010
|
const day = this.getDate();
|
|
1011
1011
|
const monthName = Locale.gettext(this.getMonthName(), locale0);
|
|
1012
1012
|
const nth = Locale.ordinal(day, locale0);
|
|
1013
|
-
const dayOf = HDate
|
|
1013
|
+
const dayOf = HDate.getDayOfTranslation(locale0);
|
|
1014
1014
|
const dateStr = `${nth}${dayOf} ${monthName}`;
|
|
1015
1015
|
|
|
1016
1016
|
if (showYear) {
|
|
@@ -1143,7 +1143,7 @@ class HDate$1 {
|
|
|
1143
1143
|
|
|
1144
1144
|
|
|
1145
1145
|
next() {
|
|
1146
|
-
return new HDate
|
|
1146
|
+
return new HDate(this.abs() + 1);
|
|
1147
1147
|
}
|
|
1148
1148
|
/**
|
|
1149
1149
|
* Returns the previous Hebrew date
|
|
@@ -1152,7 +1152,7 @@ class HDate$1 {
|
|
|
1152
1152
|
|
|
1153
1153
|
|
|
1154
1154
|
prev() {
|
|
1155
|
-
return new HDate
|
|
1155
|
+
return new HDate(this.abs() - 1);
|
|
1156
1156
|
}
|
|
1157
1157
|
/**
|
|
1158
1158
|
* Returns a cloned `HDate` object with a specified amount of time added
|
|
@@ -1176,24 +1176,24 @@ class HDate$1 {
|
|
|
1176
1176
|
number = parseInt(number, 10);
|
|
1177
1177
|
|
|
1178
1178
|
if (!number) {
|
|
1179
|
-
return new HDate
|
|
1179
|
+
return new HDate(this);
|
|
1180
1180
|
}
|
|
1181
1181
|
|
|
1182
|
-
units = HDate
|
|
1182
|
+
units = HDate.standardizeUnits(units);
|
|
1183
1183
|
|
|
1184
1184
|
if (units === UNITS_DAY) {
|
|
1185
|
-
return new HDate
|
|
1185
|
+
return new HDate(this.abs() + number);
|
|
1186
1186
|
} else if (units === UNITS_WEEK) {
|
|
1187
|
-
return new HDate
|
|
1187
|
+
return new HDate(this.abs() + 7 * number);
|
|
1188
1188
|
} else if (units === UNITS_YEAR) {
|
|
1189
|
-
return new HDate
|
|
1189
|
+
return new HDate(this.getDate(), this.getMonth(), this.getFullYear() + number);
|
|
1190
1190
|
} else if (units === UNITS_MONTH) {
|
|
1191
|
-
let hd = new HDate
|
|
1191
|
+
let hd = new HDate(this);
|
|
1192
1192
|
const sign = number > 0 ? 1 : -1;
|
|
1193
1193
|
number = Math.abs(number);
|
|
1194
1194
|
|
|
1195
1195
|
for (let i = 0; i < number; i++) {
|
|
1196
|
-
hd = new HDate
|
|
1196
|
+
hd = new HDate(hd.abs() + sign * hd.daysInMonth());
|
|
1197
1197
|
}
|
|
1198
1198
|
|
|
1199
1199
|
return hd;
|
|
@@ -1208,7 +1208,7 @@ class HDate$1 {
|
|
|
1208
1208
|
|
|
1209
1209
|
static standardizeUnits(units) {
|
|
1210
1210
|
const full = UNITS_SINGLE[units] || String(units || '').toLowerCase().replace(/s$/, '');
|
|
1211
|
-
return UNITS_VALID[full] || throwTypeError$
|
|
1211
|
+
return UNITS_VALID[full] || throwTypeError$3(`Invalid units '${units}'`);
|
|
1212
1212
|
}
|
|
1213
1213
|
/**
|
|
1214
1214
|
* Returns a cloned `HDate` object with a specified amount of time subracted
|
|
@@ -1257,7 +1257,7 @@ class HDate$1 {
|
|
|
1257
1257
|
|
|
1258
1258
|
|
|
1259
1259
|
deltaDays(other) {
|
|
1260
|
-
if (!HDate
|
|
1260
|
+
if (!HDate.isHDate(other)) {
|
|
1261
1261
|
throw new TypeError(`Bad argument: ${other}`);
|
|
1262
1262
|
}
|
|
1263
1263
|
|
|
@@ -1271,7 +1271,7 @@ class HDate$1 {
|
|
|
1271
1271
|
|
|
1272
1272
|
|
|
1273
1273
|
isSameDate(other) {
|
|
1274
|
-
if (HDate
|
|
1274
|
+
if (HDate.isHDate(other)) {
|
|
1275
1275
|
return this.year == other.year && this.month == other.month && this.day == other.day;
|
|
1276
1276
|
}
|
|
1277
1277
|
|
|
@@ -1304,7 +1304,7 @@ class HDate$1 {
|
|
|
1304
1304
|
|
|
1305
1305
|
|
|
1306
1306
|
static monthsInYear(year) {
|
|
1307
|
-
return 12 + HDate
|
|
1307
|
+
return 12 + HDate.isLeapYear(year); // boolean is cast to 1 or 0
|
|
1308
1308
|
}
|
|
1309
1309
|
/**
|
|
1310
1310
|
* Number of days in Hebrew month in a given year (29 or 30)
|
|
@@ -1315,7 +1315,7 @@ class HDate$1 {
|
|
|
1315
1315
|
|
|
1316
1316
|
|
|
1317
1317
|
static daysInMonth(month, year) {
|
|
1318
|
-
if (month == IYYAR$1 || month == TAMUZ$1 || month == ELUL$2 || month == TEVET$2 || month == ADAR_II$2 || month == ADAR_I$2 && !HDate
|
|
1318
|
+
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)) {
|
|
1319
1319
|
return 29;
|
|
1320
1320
|
} else {
|
|
1321
1321
|
return 30;
|
|
@@ -1335,7 +1335,7 @@ class HDate$1 {
|
|
|
1335
1335
|
throw new TypeError(`bad month argument ${month}`);
|
|
1336
1336
|
}
|
|
1337
1337
|
|
|
1338
|
-
return monthNames[+HDate
|
|
1338
|
+
return monthNames[+HDate.isLeapYear(year)][month];
|
|
1339
1339
|
}
|
|
1340
1340
|
/**
|
|
1341
1341
|
* Returns the Hebrew month number (NISAN=1, TISHREI=7)
|
|
@@ -1347,7 +1347,7 @@ class HDate$1 {
|
|
|
1347
1347
|
static monthNum(month) {
|
|
1348
1348
|
return typeof month === 'number' ? month : month.charCodeAt(0) >= 48 && month.charCodeAt(0) <= 57 ?
|
|
1349
1349
|
/* number */
|
|
1350
|
-
parseInt(month, 10) : HDate
|
|
1350
|
+
parseInt(month, 10) : HDate.monthFromName(month);
|
|
1351
1351
|
}
|
|
1352
1352
|
/**
|
|
1353
1353
|
* Days from sunday prior to start of Hebrew calendar to mean
|
|
@@ -1358,7 +1358,7 @@ class HDate$1 {
|
|
|
1358
1358
|
|
|
1359
1359
|
|
|
1360
1360
|
static elapsedDays(year) {
|
|
1361
|
-
const elapsed = edCache[year] = edCache[year] || HDate
|
|
1361
|
+
const elapsed = edCache[year] = edCache[year] || HDate.elapsedDays0(year);
|
|
1362
1362
|
return elapsed;
|
|
1363
1363
|
}
|
|
1364
1364
|
/**
|
|
@@ -1380,7 +1380,7 @@ class HDate$1 {
|
|
|
1380
1380
|
const hElapsed = 5 + 12 * mElapsed + 793 * Math.floor(mElapsed / 1080) + Math.floor(pElapsed / 1080);
|
|
1381
1381
|
const parts = pElapsed % 1080 + 1080 * (hElapsed % 24);
|
|
1382
1382
|
const day = 1 + 29 * mElapsed + Math.floor(hElapsed / 24);
|
|
1383
|
-
const altDay = day + (parts >= 19440 || 2 == day % 7 && parts >= 9924 && !HDate
|
|
1383
|
+
const altDay = day + (parts >= 19440 || 2 == day % 7 && parts >= 9924 && !HDate.isLeapYear(year) || 1 == day % 7 && parts >= 16789 && HDate.isLeapYear(prevYear));
|
|
1384
1384
|
return altDay + (altDay % 7 === 0 || altDay % 7 == 3 || altDay % 7 == 5);
|
|
1385
1385
|
}
|
|
1386
1386
|
/**
|
|
@@ -1391,7 +1391,7 @@ class HDate$1 {
|
|
|
1391
1391
|
|
|
1392
1392
|
|
|
1393
1393
|
static daysInYear(year) {
|
|
1394
|
-
return HDate
|
|
1394
|
+
return HDate.elapsedDays(year + 1) - HDate.elapsedDays(year);
|
|
1395
1395
|
}
|
|
1396
1396
|
/**
|
|
1397
1397
|
* true if Cheshvan is long in Hebrew year
|
|
@@ -1401,7 +1401,7 @@ class HDate$1 {
|
|
|
1401
1401
|
|
|
1402
1402
|
|
|
1403
1403
|
static longCheshvan(year) {
|
|
1404
|
-
return HDate
|
|
1404
|
+
return HDate.daysInYear(year) % 10 == 5;
|
|
1405
1405
|
}
|
|
1406
1406
|
/**
|
|
1407
1407
|
* true if Kislev is short in Hebrew year
|
|
@@ -1411,7 +1411,7 @@ class HDate$1 {
|
|
|
1411
1411
|
|
|
1412
1412
|
|
|
1413
1413
|
static shortKislev(year) {
|
|
1414
|
-
return HDate
|
|
1414
|
+
return HDate.daysInYear(year) % 10 == 3;
|
|
1415
1415
|
}
|
|
1416
1416
|
/**
|
|
1417
1417
|
* Converts Hebrew month string name to numeric
|
|
@@ -1600,17 +1600,17 @@ function fixDate(date) {
|
|
|
1600
1600
|
date.year -= 1;
|
|
1601
1601
|
}
|
|
1602
1602
|
|
|
1603
|
-
date.day += HDate
|
|
1603
|
+
date.day += HDate.daysInMonth(date.month, date.year);
|
|
1604
1604
|
date.month -= 1;
|
|
1605
1605
|
fix(date);
|
|
1606
1606
|
}
|
|
1607
1607
|
|
|
1608
|
-
if (date.day > HDate
|
|
1608
|
+
if (date.day > HDate.daysInMonth(date.month, date.year)) {
|
|
1609
1609
|
if (date.month == ELUL$2) {
|
|
1610
1610
|
date.year += 1;
|
|
1611
1611
|
}
|
|
1612
1612
|
|
|
1613
|
-
date.day -= HDate
|
|
1613
|
+
date.day -= HDate.daysInMonth(date.month, date.year);
|
|
1614
1614
|
date.month += 1;
|
|
1615
1615
|
fix(date);
|
|
1616
1616
|
}
|
|
@@ -1629,11 +1629,11 @@ function fixMonth(date) {
|
|
|
1629
1629
|
|
|
1630
1630
|
fix(date);
|
|
1631
1631
|
} else if (date.month < 1) {
|
|
1632
|
-
date.month += HDate
|
|
1632
|
+
date.month += HDate.monthsInYear(date.year);
|
|
1633
1633
|
date.year -= 1;
|
|
1634
1634
|
fix(date);
|
|
1635
|
-
} else if (date.month > HDate
|
|
1636
|
-
date.month -= HDate
|
|
1635
|
+
} else if (date.month > HDate.monthsInYear(date.year)) {
|
|
1636
|
+
date.month -= HDate.monthsInYear(date.year);
|
|
1637
1637
|
date.year += 1;
|
|
1638
1638
|
fix(date);
|
|
1639
1639
|
}
|
|
@@ -1650,7 +1650,7 @@ function fixMonth(date) {
|
|
|
1650
1650
|
|
|
1651
1651
|
|
|
1652
1652
|
function onOrBefore(day, t, offset) {
|
|
1653
|
-
return new HDate
|
|
1653
|
+
return new HDate(HDate.dayOnOrBefore(day, t.abs() + offset));
|
|
1654
1654
|
}
|
|
1655
1655
|
|
|
1656
1656
|
const CHAG$1 = 0x000001;
|
|
@@ -1677,6 +1677,7 @@ const HEBREW_DATE = 0x040000;
|
|
|
1677
1677
|
const MINOR_HOLIDAY$2 = 0x080000;
|
|
1678
1678
|
const EREV$2 = 0x100000;
|
|
1679
1679
|
const CHOL_HAMOED$2 = 0x200000;
|
|
1680
|
+
const MISHNA_YOMI = 0x400000;
|
|
1680
1681
|
/**
|
|
1681
1682
|
* Holiday flags for Event
|
|
1682
1683
|
* @readonly
|
|
@@ -1748,7 +1749,10 @@ const flags = {
|
|
|
1748
1749
|
EREV: EREV$2,
|
|
1749
1750
|
|
|
1750
1751
|
/** Chol haMoed, intermediate days of Pesach or Sukkot */
|
|
1751
|
-
CHOL_HAMOED: CHOL_HAMOED$2
|
|
1752
|
+
CHOL_HAMOED: CHOL_HAMOED$2,
|
|
1753
|
+
|
|
1754
|
+
/** Mishna Yomi */
|
|
1755
|
+
MISHNA_YOMI
|
|
1752
1756
|
};
|
|
1753
1757
|
/** Represents an Event with a title, date, and flags */
|
|
1754
1758
|
|
|
@@ -2300,7 +2304,7 @@ function pad4(number) {
|
|
|
2300
2304
|
return String(number);
|
|
2301
2305
|
}
|
|
2302
2306
|
|
|
2303
|
-
function throwTypeError$
|
|
2307
|
+
function throwTypeError$2(error) {
|
|
2304
2308
|
throw new TypeError(error);
|
|
2305
2309
|
}
|
|
2306
2310
|
/**
|
|
@@ -2361,7 +2365,7 @@ class Zmanim {
|
|
|
2361
2365
|
throw new RangeError(`Longitude ${longitude} out of range [-180,180]`);
|
|
2362
2366
|
}
|
|
2363
2367
|
|
|
2364
|
-
const dt = greg.isDate(date) ? date : HDate
|
|
2368
|
+
const dt = greg.isDate(date) ? date : HDate.isHDate(date) ? date.greg() : throwTypeError$2(`invalid date: ${date}`);
|
|
2365
2369
|
this.date = dt;
|
|
2366
2370
|
this.sun = new Sun_1(this.date, latitude, longitude);
|
|
2367
2371
|
this.latitude = latitude;
|
|
@@ -2823,9 +2827,20 @@ class Location {
|
|
|
2823
2827
|
|
|
2824
2828
|
|
|
2825
2829
|
getShortName() {
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2830
|
+
const name = this.name;
|
|
2831
|
+
if (!name) return name;
|
|
2832
|
+
const comma = name.indexOf(', ');
|
|
2833
|
+
if (comma === -1) return name;
|
|
2834
|
+
|
|
2835
|
+
if (this.cc === 'US' && name[comma + 2] === 'D') {
|
|
2836
|
+
if (name[comma + 3] === 'C') {
|
|
2837
|
+
return name.substring(0, comma + 4);
|
|
2838
|
+
} else if (name[comma + 3] === '.' && name[comma + 4] === 'C') {
|
|
2839
|
+
return name.substring(0, comma + 6);
|
|
2840
|
+
}
|
|
2841
|
+
}
|
|
2842
|
+
|
|
2843
|
+
return name.substring(0, comma);
|
|
2829
2844
|
}
|
|
2830
2845
|
/** @return {string} */
|
|
2831
2846
|
|
|
@@ -3026,6 +3041,7 @@ const days = {
|
|
|
3026
3041
|
};
|
|
3027
3042
|
/**
|
|
3028
3043
|
* @private
|
|
3044
|
+
* @constant
|
|
3029
3045
|
* This method returns the tzais (nightfall) based on the opinion of the
|
|
3030
3046
|
* Geonim calculated as 30 minutes after sunset during the equinox
|
|
3031
3047
|
* (on March 16, about 4 days before the astronomical equinox, the day that
|
|
@@ -3281,7 +3297,7 @@ class Molad {
|
|
|
3281
3297
|
let m_adj = month - 7;
|
|
3282
3298
|
|
|
3283
3299
|
if (m_adj < 0) {
|
|
3284
|
-
m_adj += HDate
|
|
3300
|
+
m_adj += HDate.monthsInYear(year);
|
|
3285
3301
|
}
|
|
3286
3302
|
|
|
3287
3303
|
const m_elapsed = 235 * Math.floor((year - 1) / 19) + // Months in complete 19 year lunar (Metonic) cycles so far
|
|
@@ -3324,7 +3340,7 @@ class Molad {
|
|
|
3324
3340
|
|
|
3325
3341
|
|
|
3326
3342
|
getMonthName() {
|
|
3327
|
-
return HDate
|
|
3343
|
+
return HDate.getMonthName(this.month, this.year);
|
|
3328
3344
|
}
|
|
3329
3345
|
/**
|
|
3330
3346
|
* @return {number} Day of Week (0=Sunday, 6=Saturday)
|
|
@@ -3505,18 +3521,23 @@ const shas = [['Berachot', 64], ['Shabbat', 157], ['Eruvin', 105], ['Pesachim',
|
|
|
3505
3521
|
name: m[0],
|
|
3506
3522
|
blatt: m[1]
|
|
3507
3523
|
};
|
|
3508
|
-
});
|
|
3524
|
+
}); // eslint-disable-next-line require-jsdoc
|
|
3525
|
+
|
|
3526
|
+
function throwTypeError$1(msg) {
|
|
3527
|
+
throw new TypeError(msg);
|
|
3528
|
+
}
|
|
3509
3529
|
/**
|
|
3510
3530
|
* Returns the Daf Yomi for given date
|
|
3511
3531
|
*/
|
|
3512
3532
|
|
|
3533
|
+
|
|
3513
3534
|
class DafYomi {
|
|
3514
3535
|
/**
|
|
3515
3536
|
* Initializes a daf yomi instance
|
|
3516
|
-
* @param {Date} gregdate Gregorian date
|
|
3537
|
+
* @param {Date|HDate|number} gregdate Gregorian date
|
|
3517
3538
|
*/
|
|
3518
3539
|
constructor(gregdate) {
|
|
3519
|
-
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}`);
|
|
3540
|
+
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}`);
|
|
3520
3541
|
|
|
3521
3542
|
if (cday < osday) {
|
|
3522
3543
|
throw new RangeError(`Date ${gregdate} too early; Daf Yomi cycle began on ${osdate}`);
|
|
@@ -3708,16 +3729,16 @@ class Sedra {
|
|
|
3708
3729
|
constructor(hebYr, il) {
|
|
3709
3730
|
// the Hebrew year
|
|
3710
3731
|
hebYr = +hebYr;
|
|
3711
|
-
const longC = HDate
|
|
3712
|
-
const shortK = HDate
|
|
3732
|
+
const longC = HDate.longCheshvan(hebYr);
|
|
3733
|
+
const shortK = HDate.shortKislev(hebYr);
|
|
3713
3734
|
const type = this.type = longC && !shortK ? COMPLETE : !longC && shortK ? INCOMPLETE : REGULAR;
|
|
3714
3735
|
this.year = hebYr;
|
|
3715
|
-
const rh0 = new HDate
|
|
3736
|
+
const rh0 = new HDate(1, months.TISHREI, hebYr);
|
|
3716
3737
|
const rh = rh0.abs();
|
|
3717
3738
|
const rhDay = this.roshHashanaDay = rh0.getDay() + 1; // find the first Saturday on or after Rosh Hashana
|
|
3718
3739
|
|
|
3719
|
-
this.firstSaturday = HDate
|
|
3720
|
-
const leap = this.leap = +HDate
|
|
3740
|
+
this.firstSaturday = HDate.dayOnOrBefore(6, rh + 6);
|
|
3741
|
+
const leap = this.leap = +HDate.isLeapYear(hebYr);
|
|
3721
3742
|
this.il = Boolean(il);
|
|
3722
3743
|
const key = `${leap}${rhDay}${type}`;
|
|
3723
3744
|
|
|
@@ -3794,7 +3815,7 @@ class Sedra {
|
|
|
3794
3815
|
return null; // doesn't occur this year
|
|
3795
3816
|
}
|
|
3796
3817
|
|
|
3797
|
-
return new HDate
|
|
3818
|
+
return new HDate(this.firstSaturday + idx * 7);
|
|
3798
3819
|
} else if (typeof parsha === 'string') {
|
|
3799
3820
|
const num = parsha2id[parsha];
|
|
3800
3821
|
|
|
@@ -3810,7 +3831,7 @@ class Sedra {
|
|
|
3810
3831
|
return null; // doesn't occur this year
|
|
3811
3832
|
}
|
|
3812
3833
|
|
|
3813
|
-
return new HDate
|
|
3834
|
+
return new HDate(this.firstSaturday + idx * 7);
|
|
3814
3835
|
}
|
|
3815
3836
|
} else if (Array.isArray(parsha) && parsha.length === 1 && typeof parsha[0] === 'string') {
|
|
3816
3837
|
return this.find(parsha[0]);
|
|
@@ -3861,9 +3882,9 @@ class Sedra {
|
|
|
3861
3882
|
|
|
3862
3883
|
|
|
3863
3884
|
lookup(hDate) {
|
|
3864
|
-
const absDate = typeof hDate === 'number' ? hDate : HDate
|
|
3885
|
+
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
|
|
3865
3886
|
|
|
3866
|
-
const saturday = HDate
|
|
3887
|
+
const saturday = HDate.dayOnOrBefore(6, absDate + 6);
|
|
3867
3888
|
const weekNum = (saturday - this.firstSaturday) / 7;
|
|
3868
3889
|
const index = this.theSedraArray[weekNum];
|
|
3869
3890
|
|
|
@@ -4319,7 +4340,7 @@ class MevarchimChodeshEvent extends Event {
|
|
|
4319
4340
|
this.monthName = monthName;
|
|
4320
4341
|
const hyear = date.getFullYear();
|
|
4321
4342
|
const hmonth = date.getMonth();
|
|
4322
|
-
const monNext = hmonth == HDate
|
|
4343
|
+
const monNext = hmonth == HDate.monthsInYear(hyear) ? months.NISAN : hmonth + 1;
|
|
4323
4344
|
const molad = new MoladEvent(date, hyear, monNext);
|
|
4324
4345
|
this.memo = molad.render();
|
|
4325
4346
|
}
|
|
@@ -4335,9 +4356,7 @@ class MevarchimChodeshEvent extends Event {
|
|
|
4335
4356
|
}
|
|
4336
4357
|
|
|
4337
4358
|
}
|
|
4338
|
-
/**
|
|
4339
|
-
* @private
|
|
4340
|
-
*/
|
|
4359
|
+
/** Represents Rosh Hashana, the Jewish New Year */
|
|
4341
4360
|
|
|
4342
4361
|
class RoshHashanaEvent extends HolidayEvent {
|
|
4343
4362
|
/**
|
|
@@ -4398,7 +4417,10 @@ const MAJOR_FAST$1 = flags.MAJOR_FAST;
|
|
|
4398
4417
|
const MINOR_HOLIDAY$1 = flags.MINOR_HOLIDAY;
|
|
4399
4418
|
const EREV$1 = flags.EREV;
|
|
4400
4419
|
const CHOL_HAMOED$1 = flags.CHOL_HAMOED;
|
|
4401
|
-
/**
|
|
4420
|
+
/**
|
|
4421
|
+
* Avoid dependency on ES6 Map object
|
|
4422
|
+
* @private
|
|
4423
|
+
*/
|
|
4402
4424
|
|
|
4403
4425
|
class SimpleMap {
|
|
4404
4426
|
/**
|
|
@@ -4483,8 +4505,8 @@ function getHolidaysForYear(year) {
|
|
|
4483
4505
|
return cached;
|
|
4484
4506
|
}
|
|
4485
4507
|
|
|
4486
|
-
const RH = new HDate
|
|
4487
|
-
const pesach = new HDate
|
|
4508
|
+
const RH = new HDate(1, TISHREI$1, year);
|
|
4509
|
+
const pesach = new HDate(15, NISAN$1, year);
|
|
4488
4510
|
const h = new SimpleMap(); // eslint-disable-next-line require-jsdoc
|
|
4489
4511
|
|
|
4490
4512
|
function add(...events) {
|
|
@@ -4508,7 +4530,7 @@ function getHolidaysForYear(year) {
|
|
|
4508
4530
|
|
|
4509
4531
|
function addEvents(year, arr) {
|
|
4510
4532
|
arr.forEach(a => {
|
|
4511
|
-
add(new HolidayEvent(new HDate
|
|
4533
|
+
add(new HolidayEvent(new HDate(a[0], a[1], year), a[2], a[3], a[4]));
|
|
4512
4534
|
});
|
|
4513
4535
|
} // standard holidays that don't shift based on year
|
|
4514
4536
|
|
|
@@ -4520,7 +4542,7 @@ function getHolidaysForYear(year) {
|
|
|
4520
4542
|
emoji: '📖✍️'
|
|
4521
4543
|
}]]); // first SAT after RH
|
|
4522
4544
|
|
|
4523
|
-
add(new HolidayEvent(new HDate
|
|
4545
|
+
add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, 7 + RH.abs())), 'Shabbat Shuva', SPECIAL_SHABBAT$1));
|
|
4524
4546
|
addEvents(year, [[10, TISHREI$1, 'Yom Kippur', CHAG | YOM_TOV_ENDS$1 | MAJOR_FAST$1, {
|
|
4525
4547
|
emoji: '📖✍️'
|
|
4526
4548
|
}], [14, TISHREI$1, 'Erev Sukkot', EREV$1 | LIGHT_CANDLES$1], // Attributes for Israel and Diaspora are different
|
|
@@ -4546,37 +4568,37 @@ function getHolidaysForYear(year) {
|
|
|
4546
4568
|
cholHaMoedDay: -1
|
|
4547
4569
|
}], [22, TISHREI$1, 'Shmini Atzeret', CHAG | LIGHT_CANDLES_TZEIS$1 | CHUL_ONLY$1], // [22, TISHREI, "Shmini Atzeret / Simchat Torah", YOM_TOV_ENDS | IL_ONLY],
|
|
4548
4570
|
[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]]);
|
|
4549
|
-
add(new HolidayEvent(new HDate
|
|
4571
|
+
add(new HolidayEvent(new HDate(24, KISLEV$1, year), 'Chanukah: 1 Candle', EREV$1 | MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
|
|
4550
4572
|
emoji: chanukahEmoji + KEYCAP_DIGITS[1]
|
|
4551
4573
|
})); // yes, we know Kislev 30-32 are wrong
|
|
4552
4574
|
// HDate() corrects the month automatically
|
|
4553
4575
|
|
|
4554
4576
|
for (let candles = 2; candles <= 8; candles++) {
|
|
4555
|
-
const hd = new HDate
|
|
4577
|
+
const hd = new HDate(23 + candles, KISLEV$1, year);
|
|
4556
4578
|
add(new HolidayEvent(hd, `Chanukah: ${candles} Candles`, MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
|
|
4557
4579
|
chanukahDay: candles - 1,
|
|
4558
4580
|
emoji: chanukahEmoji + KEYCAP_DIGITS[candles]
|
|
4559
4581
|
}));
|
|
4560
4582
|
}
|
|
4561
4583
|
|
|
4562
|
-
add(new HolidayEvent(new HDate
|
|
4584
|
+
add(new HolidayEvent(new HDate(32, KISLEV$1, year), 'Chanukah: 8th Day', MINOR_HOLIDAY$1, {
|
|
4563
4585
|
chanukahDay: 8,
|
|
4564
4586
|
emoji: chanukahEmoji
|
|
4565
4587
|
}));
|
|
4566
|
-
add(new AsaraBTevetEvent(new HDate
|
|
4588
|
+
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, {
|
|
4567
4589
|
emoji: '🌳'
|
|
4568
4590
|
}));
|
|
4569
4591
|
const pesachAbs = pesach.abs();
|
|
4570
|
-
add(new HolidayEvent(new HDate
|
|
4592
|
+
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));
|
|
4571
4593
|
addEvents(year, [[13, ADAR_II$1, 'Erev Purim', EREV$1 | MINOR_HOLIDAY$1, {
|
|
4572
4594
|
emoji: '🎭️📜'
|
|
4573
4595
|
}], [14, ADAR_II$1, 'Purim', MINOR_HOLIDAY$1, {
|
|
4574
4596
|
emoji: '🎭️📜'
|
|
4575
4597
|
}]]);
|
|
4576
|
-
add(new HolidayEvent(new HDate
|
|
4598
|
+
add(new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == SUN ? 28 : 29)), 'Shushan Purim', MINOR_HOLIDAY$1, {
|
|
4577
4599
|
emoji: '🎭️📜'
|
|
4578
|
-
}), new HolidayEvent(new HDate
|
|
4579
|
-
pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate
|
|
4600
|
+
}), 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
|
|
4601
|
+
pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate(14, NISAN$1, year), 'Ta\'anit Bechorot', MINOR_FAST$1));
|
|
4580
4602
|
addEvents(year, [[14, NISAN$1, 'Erev Pesach', EREV$1 | LIGHT_CANDLES$1], // Attributes for Israel and Diaspora are different
|
|
4581
4603
|
[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, {
|
|
4582
4604
|
cholHaMoedDay: 1
|
|
@@ -4611,22 +4633,22 @@ function getHolidaysForYear(year) {
|
|
|
4611
4633
|
}], [1, ELUL$1, 'Rosh Hashana LaBehemot', MINOR_HOLIDAY$1, {
|
|
4612
4634
|
emoji: '🐑'
|
|
4613
4635
|
}]]);
|
|
4614
|
-
add(new HolidayEvent(new HDate
|
|
4636
|
+
add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, new HDate(1, TISHREI$1, year + 1).abs() - 4)), 'Leil Selichot', MINOR_HOLIDAY$1, {
|
|
4615
4637
|
emoji: '🕍'
|
|
4616
4638
|
}));
|
|
4617
|
-
add(new HolidayEvent(new HDate
|
|
4639
|
+
add(new HolidayEvent(new HDate(29, ELUL$1, year), 'Erev Rosh Hashana', EREV$1 | LIGHT_CANDLES$1, {
|
|
4618
4640
|
emoji: '🍏🍯'
|
|
4619
4641
|
}));
|
|
4620
4642
|
|
|
4621
|
-
if (HDate
|
|
4622
|
-
add(new HolidayEvent(new HDate
|
|
4643
|
+
if (HDate.isLeapYear(year)) {
|
|
4644
|
+
add(new HolidayEvent(new HDate(14, ADAR_I$1, year), 'Purim Katan', MINOR_HOLIDAY$1, {
|
|
4623
4645
|
emoji: '🎭️'
|
|
4624
4646
|
}));
|
|
4625
4647
|
}
|
|
4626
4648
|
|
|
4627
4649
|
if (year >= 5711) {
|
|
4628
4650
|
// Yom HaShoah first observed in 1951
|
|
4629
|
-
let nisan27dt = new HDate
|
|
4651
|
+
let nisan27dt = new HDate(27, NISAN$1, year);
|
|
4630
4652
|
/* When the actual date of Yom Hashoah falls on a Friday, the
|
|
4631
4653
|
* state of Israel observes Yom Hashoah on the preceding
|
|
4632
4654
|
* Thursday. When it falls on a Sunday, Yom Hashoah is observed
|
|
@@ -4635,9 +4657,9 @@ function getHolidaysForYear(year) {
|
|
|
4635
4657
|
*/
|
|
4636
4658
|
|
|
4637
4659
|
if (nisan27dt.getDay() == FRI$1) {
|
|
4638
|
-
nisan27dt = new HDate
|
|
4660
|
+
nisan27dt = new HDate(26, NISAN$1, year);
|
|
4639
4661
|
} else if (nisan27dt.getDay() == SUN) {
|
|
4640
|
-
nisan27dt = new HDate
|
|
4662
|
+
nisan27dt = new HDate(28, NISAN$1, year);
|
|
4641
4663
|
}
|
|
4642
4664
|
|
|
4643
4665
|
add(new HolidayEvent(nisan27dt, 'Yom HaShoah', MODERN_HOLIDAY$1));
|
|
@@ -4659,34 +4681,34 @@ function getHolidaysForYear(year) {
|
|
|
4659
4681
|
day = 4;
|
|
4660
4682
|
}
|
|
4661
4683
|
|
|
4662
|
-
add(new HolidayEvent(new HDate
|
|
4684
|
+
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));
|
|
4663
4685
|
}
|
|
4664
4686
|
|
|
4665
4687
|
if (year >= 5727) {
|
|
4666
4688
|
// Yom Yerushalayim only celebrated after 1967
|
|
4667
|
-
add(new HolidayEvent(new HDate
|
|
4689
|
+
add(new HolidayEvent(new HDate(28, IYYAR, year), 'Yom Yerushalayim', MODERN_HOLIDAY$1, emojiIsraelFlag));
|
|
4668
4690
|
}
|
|
4669
4691
|
|
|
4670
4692
|
if (year >= 5769) {
|
|
4671
|
-
add(new HolidayEvent(new HDate
|
|
4693
|
+
add(new HolidayEvent(new HDate(29, CHESHVAN$1, year), 'Sigd', MODERN_HOLIDAY$1));
|
|
4672
4694
|
}
|
|
4673
4695
|
|
|
4674
4696
|
if (year >= 5777) {
|
|
4675
|
-
add(new HolidayEvent(new HDate
|
|
4697
|
+
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));
|
|
4676
4698
|
}
|
|
4677
4699
|
|
|
4678
|
-
let tamuz17 = new HDate
|
|
4700
|
+
let tamuz17 = new HDate(17, TAMUZ, year);
|
|
4679
4701
|
let tamuz17attrs;
|
|
4680
4702
|
|
|
4681
4703
|
if (tamuz17.getDay() == SAT$1) {
|
|
4682
|
-
tamuz17 = new HDate
|
|
4704
|
+
tamuz17 = new HDate(18, TAMUZ, year);
|
|
4683
4705
|
tamuz17attrs = {
|
|
4684
4706
|
observed: true
|
|
4685
4707
|
};
|
|
4686
4708
|
}
|
|
4687
4709
|
|
|
4688
4710
|
add(new HolidayEvent(tamuz17, 'Tzom Tammuz', MINOR_FAST$1, tamuz17attrs));
|
|
4689
|
-
let av9dt = new HDate
|
|
4711
|
+
let av9dt = new HDate(9, AV, year);
|
|
4690
4712
|
let av9title = 'Tish\'a B\'Av';
|
|
4691
4713
|
let av9attrs;
|
|
4692
4714
|
|
|
@@ -4699,17 +4721,17 @@ function getHolidaysForYear(year) {
|
|
|
4699
4721
|
}
|
|
4700
4722
|
|
|
4701
4723
|
const av9abs = av9dt.abs();
|
|
4702
|
-
add(new HolidayEvent(new HDate
|
|
4703
|
-
const monthsInYear = HDate
|
|
4724
|
+
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));
|
|
4725
|
+
const monthsInYear = HDate.monthsInYear(year);
|
|
4704
4726
|
|
|
4705
4727
|
for (let month = 1; month <= monthsInYear; month++) {
|
|
4706
|
-
const monthName = HDate
|
|
4728
|
+
const monthName = HDate.getMonthName(month, year);
|
|
4707
4729
|
|
|
4708
|
-
if ((month == NISAN$1 ? HDate
|
|
4709
|
-
add(new RoshChodeshEvent(new HDate
|
|
4710
|
-
add(new RoshChodeshEvent(new HDate
|
|
4730
|
+
if ((month == NISAN$1 ? HDate.daysInMonth(HDate.monthsInYear(year - 1), year - 1) : HDate.daysInMonth(month - 1, year)) == 30) {
|
|
4731
|
+
add(new RoshChodeshEvent(new HDate(1, month, year), monthName));
|
|
4732
|
+
add(new RoshChodeshEvent(new HDate(30, month - 1, year), monthName));
|
|
4711
4733
|
} else if (month !== TISHREI$1) {
|
|
4712
|
-
add(new RoshChodeshEvent(new HDate
|
|
4734
|
+
add(new RoshChodeshEvent(new HDate(1, month, year), monthName));
|
|
4713
4735
|
}
|
|
4714
4736
|
|
|
4715
4737
|
if (month == ELUL$1) {
|
|
@@ -4717,8 +4739,8 @@ function getHolidaysForYear(year) {
|
|
|
4717
4739
|
} // Don't worry about month overrun; will get "Nisan" for month=14
|
|
4718
4740
|
|
|
4719
4741
|
|
|
4720
|
-
const nextMonthName = HDate
|
|
4721
|
-
add(new MevarchimChodeshEvent(new HDate
|
|
4742
|
+
const nextMonthName = HDate.getMonthName(month + 1, year);
|
|
4743
|
+
add(new MevarchimChodeshEvent(new HDate(29, month, year).onOrBefore(SAT$1), nextMonthName));
|
|
4722
4744
|
}
|
|
4723
4745
|
|
|
4724
4746
|
const sedra = getSedra(year, false);
|
|
@@ -4728,14 +4750,173 @@ function getHolidaysForYear(year) {
|
|
|
4728
4750
|
return h;
|
|
4729
4751
|
}
|
|
4730
4752
|
|
|
4731
|
-
var
|
|
4753
|
+
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]}];
|
|
4754
|
+
|
|
4755
|
+
const cycleStartDate = new Date(1947, 4, 20);
|
|
4756
|
+
const mishnaYomiStart = greg.greg2abs(cycleStartDate);
|
|
4757
|
+
const numMishnayot = 4192;
|
|
4758
|
+
const numDays = numMishnayot / 2;
|
|
4759
|
+
/**
|
|
4760
|
+
* Describes a mishna to be read
|
|
4761
|
+
* @typedef {Object} MishnaYomi
|
|
4762
|
+
* @property {string} k tractate name in Sephardic transliteration (e.g. "Berakhot", "Moed Katan")
|
|
4763
|
+
* @property {string} v verse (e.g. "2:1")
|
|
4764
|
+
*/
|
|
4765
|
+
// eslint-disable-next-line require-jsdoc
|
|
4766
|
+
|
|
4767
|
+
function throwTypeError(msg) {
|
|
4768
|
+
throw new TypeError(msg);
|
|
4769
|
+
}
|
|
4770
|
+
/**
|
|
4771
|
+
* A program of daily learning in which participants study two Mishnahs
|
|
4772
|
+
* each day in order to finish the entire Mishnah in ~6 years.
|
|
4773
|
+
*/
|
|
4774
|
+
|
|
4775
|
+
|
|
4776
|
+
class MishnaYomiIndex {
|
|
4777
|
+
/**
|
|
4778
|
+
* Initializes a Mishna Yomi instance
|
|
4779
|
+
*/
|
|
4780
|
+
constructor() {
|
|
4781
|
+
const tmp = Array(numMishnayot);
|
|
4782
|
+
let i = 0;
|
|
4783
|
+
|
|
4784
|
+
for (const tractate of mishnayot) {
|
|
4785
|
+
const v = tractate.v;
|
|
4786
|
+
|
|
4787
|
+
for (let chap = 1; chap <= v.length; chap++) {
|
|
4788
|
+
const numv = v[chap - 1];
|
|
4789
|
+
|
|
4790
|
+
for (let verse = 1; verse <= numv; verse++) {
|
|
4791
|
+
tmp[i++] = {
|
|
4792
|
+
k: tractate.k,
|
|
4793
|
+
v: `${chap}:${verse}`
|
|
4794
|
+
};
|
|
4795
|
+
}
|
|
4796
|
+
}
|
|
4797
|
+
}
|
|
4798
|
+
|
|
4799
|
+
const days = Array(numDays);
|
|
4800
|
+
|
|
4801
|
+
for (let j = 0; j < numDays; j++) {
|
|
4802
|
+
const k = j * 2;
|
|
4803
|
+
days[j] = [tmp[k], tmp[k + 1]];
|
|
4804
|
+
}
|
|
4805
|
+
/** @type {MishnaYomi[]} */
|
|
4806
|
+
|
|
4807
|
+
|
|
4808
|
+
this.days = days;
|
|
4809
|
+
}
|
|
4810
|
+
/**
|
|
4811
|
+
* Looks up a Mishna Yomi
|
|
4812
|
+
* @param {Date|HDate|number} date Gregorian date
|
|
4813
|
+
* @return {MishnaYomi[]}
|
|
4814
|
+
*/
|
|
4815
|
+
|
|
4816
|
+
|
|
4817
|
+
lookup(date) {
|
|
4818
|
+
const abs = typeof date === 'number' && !isNaN(date) ? date : greg.isDate(date) ? greg.greg2abs(date) : HDate.isHDate(date) ? date.abs() : throwTypeError(`Invalid date: ${date}`);
|
|
4819
|
+
|
|
4820
|
+
if (abs < mishnaYomiStart) {
|
|
4821
|
+
const s = date.toISOString().substring(0, 10);
|
|
4822
|
+
throw new RangeError(`Date ${s} too early; Mishna Yomi cycle began on 1947-05-20`);
|
|
4823
|
+
}
|
|
4824
|
+
|
|
4825
|
+
const dayNum = (abs - mishnaYomiStart) % numDays;
|
|
4826
|
+
return this.days[dayNum];
|
|
4827
|
+
}
|
|
4828
|
+
|
|
4829
|
+
}
|
|
4830
|
+
|
|
4831
|
+
/**
|
|
4832
|
+
* @private
|
|
4833
|
+
* @param {MishnaYomi[]} mishnaYomi
|
|
4834
|
+
* @param {string} locale
|
|
4835
|
+
* @return {string}
|
|
4836
|
+
*/
|
|
4837
|
+
|
|
4838
|
+
function formatMyomi(mishnaYomi, locale) {
|
|
4839
|
+
const k1 = mishnaYomi[0].k;
|
|
4840
|
+
const cv1 = mishnaYomi[0].v;
|
|
4841
|
+
const mishna1 = Locale.gettext(k1, locale) + ' ' + cv1;
|
|
4842
|
+
const k2 = mishnaYomi[1].k;
|
|
4843
|
+
const cv2 = mishnaYomi[1].v;
|
|
4844
|
+
|
|
4845
|
+
if (k1 !== k2) {
|
|
4846
|
+
return mishna1 + '-' + Locale.gettext(k2, locale) + ' ' + cv2;
|
|
4847
|
+
}
|
|
4848
|
+
|
|
4849
|
+
const p1 = cv1.split(':');
|
|
4850
|
+
const p2 = cv2.split(':');
|
|
4851
|
+
|
|
4852
|
+
if (p1[0] === p2[0]) {
|
|
4853
|
+
return mishna1 + '-' + p2[1];
|
|
4854
|
+
}
|
|
4855
|
+
|
|
4856
|
+
return mishna1 + '-' + cv2;
|
|
4857
|
+
}
|
|
4858
|
+
/**
|
|
4859
|
+
* Event wrapper around a Mishna Yomi instance
|
|
4860
|
+
*/
|
|
4861
|
+
|
|
4862
|
+
|
|
4863
|
+
class MishnaYomiEvent extends Event {
|
|
4864
|
+
/**
|
|
4865
|
+
* @param {HDate} date
|
|
4866
|
+
* @param {MishnaYomi[]} mishnaYomi
|
|
4867
|
+
*/
|
|
4868
|
+
constructor(date, mishnaYomi) {
|
|
4869
|
+
super(date, formatMyomi(mishnaYomi, null), flags.MISHNA_YOMI, {
|
|
4870
|
+
mishnaYomi
|
|
4871
|
+
});
|
|
4872
|
+
}
|
|
4873
|
+
/**
|
|
4874
|
+
* Returns Mishna Yomi name (e.g. "Bava Metzia 10:5-6" or "Berakhot 9:5-Peah 1:1").
|
|
4875
|
+
* @param {string} [locale] Optional locale name (defaults to active locale).
|
|
4876
|
+
* @return {string}
|
|
4877
|
+
*/
|
|
4878
|
+
|
|
4879
|
+
|
|
4880
|
+
render(locale) {
|
|
4881
|
+
return formatMyomi(this.mishnaYomi, locale);
|
|
4882
|
+
}
|
|
4883
|
+
/**
|
|
4884
|
+
* Returns a link to sefaria.org
|
|
4885
|
+
* @return {string}
|
|
4886
|
+
*/
|
|
4887
|
+
|
|
4888
|
+
|
|
4889
|
+
url() {
|
|
4890
|
+
const mishnaYomi = this.mishnaYomi;
|
|
4891
|
+
const k1 = mishnaYomi[0].k;
|
|
4892
|
+
const mishna = k1 === 'Avot' ? 'Pirkei' : 'Mishnah';
|
|
4893
|
+
const name = k1.replace(/ /g, '_');
|
|
4894
|
+
const prefix = `https://www.sefaria.org/${mishna}_${name}`;
|
|
4895
|
+
const cv1 = mishnaYomi[0].v;
|
|
4896
|
+
|
|
4897
|
+
if (k1 !== mishnaYomi[1].k) {
|
|
4898
|
+
const verse1 = cv1.replace(':', '.');
|
|
4899
|
+
return `${prefix}.${verse1}?lang=bi`;
|
|
4900
|
+
}
|
|
4901
|
+
|
|
4902
|
+
const cv2 = mishnaYomi[1].v;
|
|
4903
|
+
const p1 = cv1.split(':');
|
|
4904
|
+
const p2 = cv2.split(':');
|
|
4905
|
+
const verse1 = p1.join('.');
|
|
4906
|
+
const verse2 = p1[0] === p2[0] ? p2[1] : p2.join('.');
|
|
4907
|
+
return `${prefix}.${verse1}-${verse2}?lang=bi`;
|
|
4908
|
+
}
|
|
4909
|
+
|
|
4910
|
+
}
|
|
4911
|
+
|
|
4912
|
+
var version="3.33.3";
|
|
4732
4913
|
|
|
4733
|
-
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};
|
|
4914
|
+
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};
|
|
4734
4915
|
|
|
4735
4916
|
Locale.addLocale('ashkenazi', poAshkenazi);
|
|
4736
4917
|
Locale.addLocale('a', poAshkenazi);
|
|
4737
4918
|
|
|
4738
|
-
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};
|
|
4919
|
+
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};
|
|
4739
4920
|
|
|
4740
4921
|
Locale.addLocale('he', poHe);
|
|
4741
4922
|
Locale.addLocale('h', poHe);
|
|
@@ -4831,6 +5012,7 @@ const RECOGNIZED_OPTIONS = {
|
|
|
4831
5012
|
noSpecialShabbat: 1,
|
|
4832
5013
|
noHolidays: 1,
|
|
4833
5014
|
dafyomi: 1,
|
|
5015
|
+
mishnaYomi: 1,
|
|
4834
5016
|
omer: 1,
|
|
4835
5017
|
molad: 1,
|
|
4836
5018
|
ashkenazi: 1,
|
|
@@ -4931,6 +5113,7 @@ function checkCandleOptions(options) {
|
|
|
4931
5113
|
* @property {boolean} noSpecialShabbat - suppress Special Shabbat
|
|
4932
5114
|
* @property {boolean} noHolidays - suppress regular holidays
|
|
4933
5115
|
* @property {boolean} dafyomi - include Daf Yomi
|
|
5116
|
+
* @property {boolean} mishnaYomi - include Mishna Yomi
|
|
4934
5117
|
* @property {boolean} omer - include Days of the Omer
|
|
4935
5118
|
* @property {boolean} molad - include event announcing the molad
|
|
4936
5119
|
* @property {boolean} ashkenazi - use Ashkenazi transliterations for event titles (default Sephardi transliterations)
|
|
@@ -4954,7 +5137,7 @@ function checkCandleOptions(options) {
|
|
|
4954
5137
|
function getAbs(d) {
|
|
4955
5138
|
if (typeof d == 'number') return d;
|
|
4956
5139
|
if (greg.isDate(d)) return greg.greg2abs(d);
|
|
4957
|
-
if (HDate
|
|
5140
|
+
if (HDate.isHDate(d)) return d.abs();
|
|
4958
5141
|
throw new TypeError(`Invalid date type: ${d}`);
|
|
4959
5142
|
}
|
|
4960
5143
|
/**
|
|
@@ -4973,7 +5156,7 @@ function getStartAndEnd(options) {
|
|
|
4973
5156
|
}
|
|
4974
5157
|
|
|
4975
5158
|
const isHebrewYear = Boolean(options.isHebrewYear);
|
|
4976
|
-
const theYear = typeof options.year !== 'undefined' ? parseInt(options.year, 10) : isHebrewYear ? new HDate
|
|
5159
|
+
const theYear = typeof options.year !== 'undefined' ? parseInt(options.year, 10) : isHebrewYear ? new HDate().getFullYear() : new Date().getFullYear();
|
|
4977
5160
|
|
|
4978
5161
|
if (isNaN(theYear)) {
|
|
4979
5162
|
throw new RangeError(`Invalid year ${options.year}`);
|
|
@@ -4987,7 +5170,7 @@ function getStartAndEnd(options) {
|
|
|
4987
5170
|
|
|
4988
5171
|
if (options.month) {
|
|
4989
5172
|
if (isHebrewYear) {
|
|
4990
|
-
theMonth = HDate
|
|
5173
|
+
theMonth = HDate.monthNum(options.month);
|
|
4991
5174
|
} else {
|
|
4992
5175
|
theMonth = options.month;
|
|
4993
5176
|
}
|
|
@@ -4996,9 +5179,9 @@ function getStartAndEnd(options) {
|
|
|
4996
5179
|
const numYears = parseInt(options.numYears, 10) || 1;
|
|
4997
5180
|
|
|
4998
5181
|
if (isHebrewYear) {
|
|
4999
|
-
const startDate = new HDate
|
|
5182
|
+
const startDate = new HDate(1, theMonth || TISHREI, theYear);
|
|
5000
5183
|
let startAbs = startDate.abs();
|
|
5001
|
-
const endAbs = options.month ? startAbs + startDate.daysInMonth() : new HDate
|
|
5184
|
+
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
|
|
5002
5185
|
// is technically in the previous Hebrew year
|
|
5003
5186
|
// (but conveniently lets us get candle-lighting time for Erev)
|
|
5004
5187
|
|
|
@@ -5052,6 +5235,7 @@ function getMaskFromOptions(options) {
|
|
|
5052
5235
|
if (m & DAF_YOMI) options.dafyomi = true;
|
|
5053
5236
|
if (m & OMER_COUNT) options.omer = true;
|
|
5054
5237
|
if (m & SHABBAT_MEVARCHIM) options.shabbatMevarchim = true;
|
|
5238
|
+
if (m & flags.MISHNA_YOMI) options.mishnaYomi = true;
|
|
5055
5239
|
options.userMask = true;
|
|
5056
5240
|
return m;
|
|
5057
5241
|
}
|
|
@@ -5100,6 +5284,10 @@ function getMaskFromOptions(options) {
|
|
|
5100
5284
|
mask |= DAF_YOMI;
|
|
5101
5285
|
}
|
|
5102
5286
|
|
|
5287
|
+
if (options.mishnaYomi) {
|
|
5288
|
+
mask |= flags.MISHNA_YOMI;
|
|
5289
|
+
}
|
|
5290
|
+
|
|
5103
5291
|
if (options.omer) {
|
|
5104
5292
|
mask |= OMER_COUNT;
|
|
5105
5293
|
}
|
|
@@ -5113,6 +5301,7 @@ function getMaskFromOptions(options) {
|
|
|
5113
5301
|
|
|
5114
5302
|
const MASK_LIGHT_CANDLES = LIGHT_CANDLES | LIGHT_CANDLES_TZEIS | CHANUKAH_CANDLES | YOM_TOV_ENDS;
|
|
5115
5303
|
/**
|
|
5304
|
+
* @namespace
|
|
5116
5305
|
* HebrewCalendar is the main interface to the `@hebcal/core` library.
|
|
5117
5306
|
* This namespace is used to calculate holidays, rosh chodesh, candle lighting & havdalah times,
|
|
5118
5307
|
* Parashat HaShavua, Daf Yomi, days of the omer, and the molad.
|
|
@@ -5155,6 +5344,7 @@ const HebrewCalendar = {
|
|
|
5155
5344
|
* * Parashat HaShavua - weekly Torah Reading on Saturdays (`options.sedrot`)
|
|
5156
5345
|
* * Counting of the Omer (`options.omer`)
|
|
5157
5346
|
* * Daf Yomi (`options.dafyomi`)
|
|
5347
|
+
* * Mishna Yomi (`options.mishnaYomi`)
|
|
5158
5348
|
* * Shabbat Mevarchim HaChodesh on Saturday before Rosh Chodesh (`options.shabbatMevarchim`)
|
|
5159
5349
|
* * Molad announcement on Saturday before Rosh Chodesh (`options.molad`)
|
|
5160
5350
|
*
|
|
@@ -5261,8 +5451,14 @@ const HebrewCalendar = {
|
|
|
5261
5451
|
options.candlelighting = false;
|
|
5262
5452
|
}
|
|
5263
5453
|
|
|
5454
|
+
let mishnaYomiIndex;
|
|
5455
|
+
|
|
5456
|
+
if (options.mishnaYomi) {
|
|
5457
|
+
mishnaYomiIndex = new MishnaYomiIndex();
|
|
5458
|
+
}
|
|
5459
|
+
|
|
5264
5460
|
for (let abs = startAbs; abs <= endAbs; abs++) {
|
|
5265
|
-
const hd = new HDate
|
|
5461
|
+
const hd = new HDate(abs);
|
|
5266
5462
|
const hyear = hd.getFullYear();
|
|
5267
5463
|
|
|
5268
5464
|
if (hyear != currentYear) {
|
|
@@ -5274,8 +5470,8 @@ const HebrewCalendar = {
|
|
|
5274
5470
|
}
|
|
5275
5471
|
|
|
5276
5472
|
if (options.omer) {
|
|
5277
|
-
beginOmer = HDate
|
|
5278
|
-
endOmer = HDate
|
|
5473
|
+
beginOmer = HDate.hebrew2abs(currentYear, NISAN, 16);
|
|
5474
|
+
endOmer = HDate.hebrew2abs(currentYear, SIVAN, 5);
|
|
5279
5475
|
}
|
|
5280
5476
|
}
|
|
5281
5477
|
|
|
@@ -5299,6 +5495,11 @@ const HebrewCalendar = {
|
|
|
5299
5495
|
evts.push(new DafYomiEvent(hd));
|
|
5300
5496
|
}
|
|
5301
5497
|
|
|
5498
|
+
if (options.mishnaYomi && abs >= mishnaYomiStart) {
|
|
5499
|
+
const mishnaYomi = mishnaYomiIndex.lookup(abs);
|
|
5500
|
+
evts.push(new MishnaYomiEvent(hd, mishnaYomi));
|
|
5501
|
+
}
|
|
5502
|
+
|
|
5302
5503
|
if (options.omer && abs >= beginOmer && abs <= endOmer) {
|
|
5303
5504
|
const omer = abs - beginOmer + 1;
|
|
5304
5505
|
evts.push(new OmerEvent(hd, omer));
|
|
@@ -5307,7 +5508,7 @@ const HebrewCalendar = {
|
|
|
5307
5508
|
const hmonth = hd.getMonth();
|
|
5308
5509
|
|
|
5309
5510
|
if (options.molad && dow == SAT && hmonth != ELUL && hd.getDate() >= 23 && hd.getDate() <= 29) {
|
|
5310
|
-
const monNext = hmonth == HDate
|
|
5511
|
+
const monNext = hmonth == HDate.monthsInYear(hyear) ? NISAN : hmonth + 1;
|
|
5311
5512
|
evts.push(new MoladEvent(hd, hyear, monNext));
|
|
5312
5513
|
}
|
|
5313
5514
|
|
|
@@ -5369,7 +5570,7 @@ const HebrewCalendar = {
|
|
|
5369
5570
|
* @return {HDate} anniversary occurring in `hyear`
|
|
5370
5571
|
*/
|
|
5371
5572
|
getBirthdayOrAnniversary: function (hyear, gdate) {
|
|
5372
|
-
const orig = HDate
|
|
5573
|
+
const orig = HDate.isHDate(gdate) ? gdate : new HDate(gdate);
|
|
5373
5574
|
const origYear = orig.getFullYear();
|
|
5374
5575
|
|
|
5375
5576
|
if (hyear <= origYear) {
|
|
@@ -5377,24 +5578,24 @@ const HebrewCalendar = {
|
|
|
5377
5578
|
return undefined;
|
|
5378
5579
|
}
|
|
5379
5580
|
|
|
5380
|
-
const isOrigLeap = HDate
|
|
5581
|
+
const isOrigLeap = HDate.isLeapYear(origYear);
|
|
5381
5582
|
let month = orig.getMonth();
|
|
5382
5583
|
let day = orig.getDate();
|
|
5383
5584
|
|
|
5384
5585
|
if (month == ADAR_I && !isOrigLeap || month == ADAR_II && isOrigLeap) {
|
|
5385
|
-
month = HDate
|
|
5386
|
-
} else if (month == CHESHVAN && day == 30 && !HDate
|
|
5586
|
+
month = HDate.monthsInYear(hyear);
|
|
5587
|
+
} else if (month == CHESHVAN && day == 30 && !HDate.longCheshvan(hyear)) {
|
|
5387
5588
|
month = KISLEV;
|
|
5388
5589
|
day = 1;
|
|
5389
|
-
} else if (month == KISLEV && day == 30 && HDate
|
|
5590
|
+
} else if (month == KISLEV && day == 30 && HDate.shortKislev(hyear)) {
|
|
5390
5591
|
month = TEVET;
|
|
5391
5592
|
day = 1;
|
|
5392
|
-
} else if (month == ADAR_I && day == 30 && isOrigLeap && !HDate
|
|
5593
|
+
} else if (month == ADAR_I && day == 30 && isOrigLeap && !HDate.isLeapYear(hyear)) {
|
|
5393
5594
|
month = NISAN;
|
|
5394
5595
|
day = 1;
|
|
5395
5596
|
}
|
|
5396
5597
|
|
|
5397
|
-
return new HDate
|
|
5598
|
+
return new HDate(day, month, hyear);
|
|
5398
5599
|
},
|
|
5399
5600
|
|
|
5400
5601
|
/**
|
|
@@ -5432,7 +5633,7 @@ const HebrewCalendar = {
|
|
|
5432
5633
|
* @return {HDate} anniversary occurring in hyear
|
|
5433
5634
|
*/
|
|
5434
5635
|
getYahrzeit: function (hyear, gdate) {
|
|
5435
|
-
const orig = HDate
|
|
5636
|
+
const orig = HDate.isHDate(gdate) ? gdate : new HDate(gdate);
|
|
5436
5637
|
let hDeath = {
|
|
5437
5638
|
yy: orig.getFullYear(),
|
|
5438
5639
|
mm: orig.getMonth(),
|
|
@@ -5444,18 +5645,18 @@ const HebrewCalendar = {
|
|
|
5444
5645
|
return undefined;
|
|
5445
5646
|
}
|
|
5446
5647
|
|
|
5447
|
-
if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate
|
|
5648
|
+
if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate.longCheshvan(hDeath.yy + 1)) {
|
|
5448
5649
|
// If it's Heshvan 30 it depends on the first anniversary;
|
|
5449
5650
|
// if that was not Heshvan 30, use the day before Kislev 1.
|
|
5450
|
-
hDeath = HDate
|
|
5451
|
-
} else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate
|
|
5651
|
+
hDeath = HDate.abs2hebrew(HDate.hebrew2abs(hyear, KISLEV, 1) - 1);
|
|
5652
|
+
} else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate.shortKislev(hDeath.yy + 1)) {
|
|
5452
5653
|
// If it's Kislev 30 it depends on the first anniversary;
|
|
5453
5654
|
// if that was not Kislev 30, use the day before Teveth 1.
|
|
5454
|
-
hDeath = HDate
|
|
5655
|
+
hDeath = HDate.abs2hebrew(HDate.hebrew2abs(hyear, TEVET, 1) - 1);
|
|
5455
5656
|
} else if (hDeath.mm == ADAR_II) {
|
|
5456
5657
|
// If it's Adar II, use the same day in last month of year (Adar or Adar II).
|
|
5457
|
-
hDeath.mm = HDate
|
|
5458
|
-
} else if (hDeath.mm == ADAR_I && hDeath.dd == 30 && !HDate
|
|
5658
|
+
hDeath.mm = HDate.monthsInYear(hyear);
|
|
5659
|
+
} else if (hDeath.mm == ADAR_I && hDeath.dd == 30 && !HDate.isLeapYear(hyear)) {
|
|
5459
5660
|
// If it's the 30th in Adar I and year is not a leap year
|
|
5460
5661
|
// (so Adar has only 29 days), use the last day in Shevat.
|
|
5461
5662
|
hDeath.dd = 30;
|
|
@@ -5464,15 +5665,15 @@ const HebrewCalendar = {
|
|
|
5464
5665
|
// advance day to rosh chodesh if needed
|
|
5465
5666
|
|
|
5466
5667
|
|
|
5467
|
-
if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate
|
|
5668
|
+
if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate.longCheshvan(hyear)) {
|
|
5468
5669
|
hDeath.mm = KISLEV;
|
|
5469
5670
|
hDeath.dd = 1;
|
|
5470
|
-
} else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate
|
|
5671
|
+
} else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate.shortKislev(hyear)) {
|
|
5471
5672
|
hDeath.mm = TEVET;
|
|
5472
5673
|
hDeath.dd = 1;
|
|
5473
5674
|
}
|
|
5474
5675
|
|
|
5475
|
-
return new HDate
|
|
5676
|
+
return new HDate(hDeath.dd, hDeath.mm, hyear);
|
|
5476
5677
|
},
|
|
5477
5678
|
|
|
5478
5679
|
/**
|
|
@@ -5493,12 +5694,12 @@ const HebrewCalendar = {
|
|
|
5493
5694
|
*/
|
|
5494
5695
|
getHolidaysForYearArray: function (year, il) {
|
|
5495
5696
|
const yearMap = HebrewCalendar.getHolidaysForYear(year);
|
|
5496
|
-
const startAbs = HDate
|
|
5497
|
-
const endAbs = HDate
|
|
5697
|
+
const startAbs = HDate.hebrew2abs(year, TISHREI, 1);
|
|
5698
|
+
const endAbs = HDate.hebrew2abs(year + 1, TISHREI, 1) - 1;
|
|
5498
5699
|
const events = [];
|
|
5499
5700
|
|
|
5500
5701
|
for (let absDt = startAbs; absDt <= endAbs; absDt++) {
|
|
5501
|
-
const hd = new HDate
|
|
5702
|
+
const hd = new HDate(absDt);
|
|
5502
5703
|
const holidays = yearMap.get(hd.toString());
|
|
5503
5704
|
|
|
5504
5705
|
if (holidays) {
|
|
@@ -5517,7 +5718,7 @@ const HebrewCalendar = {
|
|
|
5517
5718
|
* @return {Event[]}
|
|
5518
5719
|
*/
|
|
5519
5720
|
getHolidaysOnDate: function (date, il) {
|
|
5520
|
-
const hd = HDate
|
|
5721
|
+
const hd = HDate.isHDate(date) ? date : new HDate(date);
|
|
5521
5722
|
const yearMap = HebrewCalendar.getHolidaysForYear(hd.getFullYear());
|
|
5522
5723
|
const events = yearMap.get(hd.toString());
|
|
5523
5724
|
|
|
@@ -5652,7 +5853,7 @@ exports.CandleLightingEvent = CandleLightingEvent;
|
|
|
5652
5853
|
exports.DafYomi = DafYomi;
|
|
5653
5854
|
exports.DafYomiEvent = DafYomiEvent;
|
|
5654
5855
|
exports.Event = Event;
|
|
5655
|
-
exports.HDate = HDate
|
|
5856
|
+
exports.HDate = HDate;
|
|
5656
5857
|
exports.HavdalahEvent = HavdalahEvent;
|
|
5657
5858
|
exports.HebrewCalendar = HebrewCalendar;
|
|
5658
5859
|
exports.HebrewDateEvent = HebrewDateEvent;
|
|
@@ -5660,6 +5861,8 @@ exports.HolidayEvent = HolidayEvent;
|
|
|
5660
5861
|
exports.Locale = Locale;
|
|
5661
5862
|
exports.Location = Location;
|
|
5662
5863
|
exports.MevarchimChodeshEvent = MevarchimChodeshEvent;
|
|
5864
|
+
exports.MishnaYomiEvent = MishnaYomiEvent;
|
|
5865
|
+
exports.MishnaYomiIndex = MishnaYomiIndex;
|
|
5663
5866
|
exports.Molad = Molad;
|
|
5664
5867
|
exports.MoladEvent = MoladEvent;
|
|
5665
5868
|
exports.OmerEvent = OmerEvent;
|