@hebcal/core 3.39.2 → 3.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v3.39.2 */
1
+ /*! @hebcal/core v3.40.0 */
2
2
  var hebcal = (function (exports) {
3
3
  'use strict';
4
4
 
@@ -75,11 +75,12 @@ function dayOfYear(date) {
75
75
  throw new TypeError("Argument not a Date: ".concat(date));
76
76
  }
77
77
 
78
- var doy = date.getDate() + 31 * date.getMonth();
78
+ var month = date.getMonth();
79
+ var doy = date.getDate() + 31 * month;
79
80
 
80
- if (date.getMonth() > 1) {
81
+ if (month > 1) {
81
82
  // FEB
82
- doy -= Math.floor((4 * (date.getMonth() + 1) + 23) / 10);
83
+ doy -= Math.floor((4 * (month + 1) + 23) / 10);
83
84
 
84
85
  if (isLeapYear$1(date.getFullYear())) {
85
86
  doy++;
@@ -136,7 +137,7 @@ function yearFromFixed(abs) {
136
137
 
137
138
  function toFixed(year, month, day) {
138
139
  var py = year - 1;
139
- return 0 + 365 * py + quotient(py, 4) - quotient(py, 100) + quotient(py, 400) + quotient(367 * month - 362, 12) + Math.floor(month <= 2 ? 0 : isLeapYear$1(year) ? -1 : -2) + day;
140
+ return 365 * py + quotient(py, 4) - quotient(py, 100) + quotient(py, 400) + quotient(367 * month - 362, 12) + (month <= 2 ? 0 : isLeapYear$1(year) ? -1 : -2) + day;
140
141
  }
141
142
  /**
142
143
  * Converts from Rata Die (R.D. number) to Gregorian date.
@@ -1,2 +1,2 @@
1
- /*! @hebcal/core v3.39.2 */
2
- var hebcal=function(r){"use strict";function t(r){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},t(r)}var n=[0,31,28,31,30,31,30,31,31,30,31,30,31];function e(r,t){return r-t*Math.floor(r/t)}function o(r,t){return Math.floor(r/t)}function a(r){return!(r%4||!(r%100)&&r%400)}function u(r){return"object"===t(r)&&Date.prototype===r.__proto__}function f(r,t,n){var e=r-1;return 0+365*e+o(e,4)-o(e,100)+o(e,400)+o(367*t-362,12)+Math.floor(t<=2?0:a(r)?-1:-2)+n}[n,n.slice()][1][2]=29;var c=["","Nisan","Iyyar","Sivan","Tamuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Sh'vat"],i=[c.concat(["Adar","Nisan"]),c.concat(["Adar I","Adar II","Nisan"])],h=Object.create(null),l=-1373428;function s(r,t,n){var e=n;if(t<7){for(var o=7;o<=b(r);o++)e+=m(o,r);for(var a=1;a<t;a++)e+=m(a,r)}else for(var u=7;u<t;u++)e+=m(u,r);return l+M(r)+e-1}function y(r){return l+M(r)}function v(r){return(1+7*r)%19<7}function b(r){return 12+v(r)}function m(r,t){switch(r){case 2:case 4:case 6:case 10:case 13:return 29}return 12===r&&!v(t)||8===r&&!A(t)||9===r&&g(t)?29:30}function M(r){var t=h[r]=h[r]||function(r){var t=r-1,n=235*Math.floor(t/19)+t%19*12+Math.floor((t%19*7+1)/19),e=204+n%1080*793,o=5+12*n+793*Math.floor(n/1080)+Math.floor(e/1080),a=e%1080+o%24*1080,u=1+29*n+Math.floor(o/24),f=u+(a>=19440||2==u%7&&a>=9924&&!v(r)||1==u%7&&a>=16789&&v(t));return f+(f%7==0||f%7==3||f%7==5)}(r);return t}function p(r){return M(r+1)-M(r)}function A(r){return p(r)%10==5}function g(r){return p(r)%10==3}var I={abs2hebrew:function(r){if("number"!=typeof r||isNaN(r))throw new TypeError("invalid parameter to abs2hebrew ".concat(r));r=Math.trunc(r);for(var t=Math.floor((r-l)/365.24682220597794);y(t)<=r;)++t;for(var n=r<s(--t,1,1)?7:1;r>s(t,n,m(n,t));)++n;return{yy:t,mm:n,dd:1+r-s(t,n,1)}},daysInMonth:m,daysInYear:p,getMonthName:function(r,t){if("number"!=typeof r||isNaN(r)||r<1||r>14)throw new TypeError("bad month argument ".concat(r));return i[+v(t)][r]},hebrew2abs:s,isLeapYear:v,longCheshvan:A,months:{NISAN:1,IYYAR:2,SIVAN:3,TAMUZ:4,AV:5,ELUL:6,TISHREI:7,CHESHVAN:8,KISLEV:9,TEVET:10,SHVAT:11,ADAR_I:12,ADAR_II:13},monthsInYear:b,shortKislev:g};return r.abs2greg=function(r){if("number"!=typeof r)throw new TypeError("Argument not a Number: ".concat(r));var t=function(r){var t=r-1,n=o(t,146097),a=e(t,146097),u=o(a,36524),f=e(a,36524),c=o(f,1461),i=o(e(f,1461),365),h=400*n+100*u+4*c+i;return 4!=u&&4!=i?h+1:h}(r=Math.trunc(r)),n=o(12*(r-f(t,1,1)+(r<f(t,3,1)?0:a(t)?1:2))+373,367),u=r-f(t,n,1)+1,c=new Date(t,n-1,u);return t<100&&t>=0&&c.setFullYear(t),c},r.greg2abs=function(r){if(!u(r))throw new TypeError("Argument not a Date: ".concat(r));var t=r.getFullYear()-1;return function(r){if(!u(r))throw new TypeError("Argument not a Date: ".concat(r));var t=r.getDate()+31*r.getMonth();return r.getMonth()>1&&(t-=Math.floor((4*(r.getMonth()+1)+23)/10),a(r.getFullYear())&&t++),t}(r)+365*t+(Math.floor(t/4)-Math.floor(t/100)+Math.floor(t/400))},r.hdate=I,Object.defineProperty(r,"__esModule",{value:!0}),r}({});
1
+ /*! @hebcal/core v3.40.0 */
2
+ var hebcal=function(r){"use strict";function t(r){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},t(r)}var n=[0,31,28,31,30,31,30,31,31,30,31,30,31];function e(r,t){return r-t*Math.floor(r/t)}function o(r,t){return Math.floor(r/t)}function a(r){return!(r%4||!(r%100)&&r%400)}function u(r){return"object"===t(r)&&Date.prototype===r.__proto__}function f(r,t,n){var e=r-1;return 365*e+o(e,4)-o(e,100)+o(e,400)+o(367*t-362,12)+(t<=2?0:a(r)?-1:-2)+n}[n,n.slice()][1][2]=29;var c=["","Nisan","Iyyar","Sivan","Tamuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Sh'vat"],i=[c.concat(["Adar","Nisan"]),c.concat(["Adar I","Adar II","Nisan"])],h=Object.create(null),l=-1373428;function s(r,t,n){var e=n;if(t<7){for(var o=7;o<=b(r);o++)e+=m(o,r);for(var a=1;a<t;a++)e+=m(a,r)}else for(var u=7;u<t;u++)e+=m(u,r);return l+p(r)+e-1}function y(r){return l+p(r)}function v(r){return(1+7*r)%19<7}function b(r){return 12+v(r)}function m(r,t){switch(r){case 2:case 4:case 6:case 10:case 13:return 29}return 12===r&&!v(t)||8===r&&!A(t)||9===r&&I(t)?29:30}function p(r){var t=h[r]=h[r]||function(r){var t=r-1,n=235*Math.floor(t/19)+t%19*12+Math.floor((t%19*7+1)/19),e=204+n%1080*793,o=5+12*n+793*Math.floor(n/1080)+Math.floor(e/1080),a=e%1080+o%24*1080,u=1+29*n+Math.floor(o/24),f=u+(a>=19440||2==u%7&&a>=9924&&!v(r)||1==u%7&&a>=16789&&v(t));return f+(f%7==0||f%7==3||f%7==5)}(r);return t}function M(r){return p(r+1)-p(r)}function A(r){return M(r)%10==5}function I(r){return M(r)%10==3}var w={abs2hebrew:function(r){if("number"!=typeof r||isNaN(r))throw new TypeError("invalid parameter to abs2hebrew ".concat(r));r=Math.trunc(r);for(var t=Math.floor((r-l)/365.24682220597794);y(t)<=r;)++t;for(var n=r<s(--t,1,1)?7:1;r>s(t,n,m(n,t));)++n;return{yy:t,mm:n,dd:1+r-s(t,n,1)}},daysInMonth:m,daysInYear:M,getMonthName:function(r,t){if("number"!=typeof r||isNaN(r)||r<1||r>14)throw new TypeError("bad month argument ".concat(r));return i[+v(t)][r]},hebrew2abs:s,isLeapYear:v,longCheshvan:A,months:{NISAN:1,IYYAR:2,SIVAN:3,TAMUZ:4,AV:5,ELUL:6,TISHREI:7,CHESHVAN:8,KISLEV:9,TEVET:10,SHVAT:11,ADAR_I:12,ADAR_II:13},monthsInYear:b,shortKislev:I};return r.abs2greg=function(r){if("number"!=typeof r)throw new TypeError("Argument not a Number: ".concat(r));var t=function(r){var t=r-1,n=o(t,146097),a=e(t,146097),u=o(a,36524),f=e(a,36524),c=o(f,1461),i=o(e(f,1461),365),h=400*n+100*u+4*c+i;return 4!=u&&4!=i?h+1:h}(r=Math.trunc(r)),n=o(12*(r-f(t,1,1)+(r<f(t,3,1)?0:a(t)?1:2))+373,367),u=r-f(t,n,1)+1,c=new Date(t,n-1,u);return t<100&&t>=0&&c.setFullYear(t),c},r.greg2abs=function(r){if(!u(r))throw new TypeError("Argument not a Date: ".concat(r));var t=r.getFullYear()-1;return function(r){if(!u(r))throw new TypeError("Argument not a Date: ".concat(r));var t=r.getMonth(),n=r.getDate()+31*t;return t>1&&(n-=Math.floor((4*(t+1)+23)/10),a(r.getFullYear())&&n++),n}(r)+365*t+(Math.floor(t/4)-Math.floor(t/100)+Math.floor(t/400))},r.hdate=w,Object.defineProperty(r,"__esModule",{value:!0}),r}({});
package/dist/hdate0.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v3.39.2 */
1
+ /*! @hebcal/core v3.40.0 */
2
2
  /*
3
3
  * More minimal greg routines
4
4
  */
@@ -62,10 +62,11 @@ function dayOfYear(date) {
62
62
  if (!isDate(date)) {
63
63
  throw new TypeError(`Argument not a Date: ${date}`);
64
64
  }
65
- let doy = date.getDate() + 31 * date.getMonth();
66
- if (date.getMonth() > 1) {
65
+ const month = date.getMonth();
66
+ let doy = date.getDate() + 31 * month;
67
+ if (month > 1) {
67
68
  // FEB
68
- doy -= Math.floor((4 * (date.getMonth() + 1) + 23) / 10);
69
+ doy -= Math.floor((4 * (month + 1) + 23) / 10);
69
70
  if (isLeapYear$1(date.getFullYear())) {
70
71
  doy++;
71
72
  }
@@ -120,13 +121,12 @@ function yearFromFixed(abs) {
120
121
  */
121
122
  function toFixed(year, month, day) {
122
123
  const py = year - 1;
123
- return 0 +
124
- 365 * py +
124
+ return 365 * py +
125
125
  quotient(py, 4) -
126
126
  quotient(py, 100) +
127
127
  quotient(py, 400) +
128
128
  quotient((367 * month - 362), 12) +
129
- Math.floor(month <= 2 ? 0 : (isLeapYear$1(year) ? -1 : -2)) +
129
+ (month <= 2 ? 0 : (isLeapYear$1(year) ? -1 : -2)) +
130
130
  day;
131
131
  }
132
132
 
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v3.39.2 */
1
+ /*! @hebcal/core v3.40.0 */
2
2
  'use strict';
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -93,11 +93,12 @@ function dayOfYear(date) {
93
93
  throw new TypeError(`Argument not a Date: ${date}`);
94
94
  }
95
95
 
96
- let doy = date.getDate() + 31 * date.getMonth();
96
+ const month = date.getMonth();
97
+ let doy = date.getDate() + 31 * month;
97
98
 
98
- if (date.getMonth() > 1) {
99
+ if (month > 1) {
99
100
  // FEB
100
- doy -= Math.floor((4 * (date.getMonth() + 1) + 23) / 10);
101
+ doy -= Math.floor((4 * (month + 1) + 23) / 10);
101
102
 
102
103
  if (isLeapYear$1(date.getFullYear())) {
103
104
  doy++;
@@ -154,7 +155,7 @@ function yearFromFixed(abs) {
154
155
 
155
156
  function toFixed(year, month, day) {
156
157
  const py = year - 1;
157
- return 0 + 365 * py + quotient(py, 4) - quotient(py, 100) + quotient(py, 400) + quotient(367 * month - 362, 12) + Math.floor(month <= 2 ? 0 : isLeapYear$1(year) ? -1 : -2) + day;
158
+ return 365 * py + quotient(py, 4) - quotient(py, 100) + quotient(py, 400) + quotient(367 * month - 362, 12) + (month <= 2 ? 0 : isLeapYear$1(year) ? -1 : -2) + day;
158
159
  }
159
160
  /**
160
161
  * Converts from Rata Die (R.D. number) to Gregorian date.
@@ -4193,6 +4194,10 @@ function throwError(errorMessage) {
4193
4194
  * Hebrew date, e.g. `['Noach']` or `['Matot', 'Masei']`
4194
4195
  * @property {boolean} chag True if this is a regular parasha HaShavua
4195
4196
  * Torah reading, false if it's a special holiday reading
4197
+ * @property {number|number[]} num the parsha number (or numbers) using 1-indexing.
4198
+ * A `number` for a regular (single) parsha, and a `number[]` for a doubled parsha.
4199
+ * For Parashat *Bereshit*, `num` would be equal to `1`, and for
4200
+ * *Matot-Masei* it would be `[42, 43]`
4196
4201
  */
4197
4202
 
4198
4203
  /**
@@ -4384,7 +4389,8 @@ class Sedra {
4384
4389
  if (index >= 0) {
4385
4390
  return {
4386
4391
  parsha: [parshiot[index]],
4387
- chag: false
4392
+ chag: false,
4393
+ num: index + 1
4388
4394
  };
4389
4395
  }
4390
4396
 
@@ -4392,7 +4398,8 @@ class Sedra {
4392
4398
 
4393
4399
  return {
4394
4400
  parsha: [parshiot[p1], parshiot[p1 + 1]],
4395
- chag: false
4401
+ chag: false,
4402
+ num: [p1 + 1, p1 + 2]
4396
4403
  };
4397
4404
  }
4398
4405
 
@@ -4609,8 +4616,9 @@ class ParshaEvent extends Event {
4609
4616
  * @param {string[]} parsha - untranslated name of single or double parsha,
4610
4617
  * such as ['Bereshit'] or ['Achrei Mot', 'Kedoshim']
4611
4618
  * @param {boolean} il
4619
+ * @param {number|number[]} num
4612
4620
  */
4613
- constructor(date, parsha, il) {
4621
+ constructor(date, parsha, il, num) {
4614
4622
  if (!Array.isArray(parsha) || parsha.length === 0 || parsha.length > 2) {
4615
4623
  throw new TypeError('Bad parsha argument');
4616
4624
  }
@@ -4619,6 +4627,7 @@ class ParshaEvent extends Event {
4619
4627
  super(date, desc, flags.PARSHA_HASHAVUA);
4620
4628
  this.parsha = parsha;
4621
4629
  this.il = Boolean(il);
4630
+ this.num = num || -1;
4622
4631
  }
4623
4632
  /**
4624
4633
  * @param {string} [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
@@ -5521,7 +5530,7 @@ function getBirthdayOrAnniversary_(hyear, gdate) {
5521
5530
  return new HDate(day, month, hyear);
5522
5531
  }
5523
5532
 
5524
- var version="3.39.2";
5533
+ var version="3.40.0";
5525
5534
 
5526
5535
  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};
5527
5536
 
@@ -6120,7 +6129,7 @@ class HebrewCalendar {
6120
6129
  const parsha0 = sedra.lookup(abs);
6121
6130
 
6122
6131
  if (!parsha0.chag) {
6123
- evts.push(new ParshaEvent(hd, parsha0.parsha, il));
6132
+ evts.push(new ParshaEvent(hd, parsha0.parsha, il, parsha0.num));
6124
6133
  }
6125
6134
  }
6126
6135
 
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v3.39.2 */
1
+ /*! @hebcal/core v3.40.0 */
2
2
  /*
3
3
  * More minimal greg routines
4
4
  */
@@ -74,11 +74,12 @@ function dayOfYear(date) {
74
74
  throw new TypeError(`Argument not a Date: ${date}`);
75
75
  }
76
76
 
77
- let doy = date.getDate() + 31 * date.getMonth();
77
+ const month = date.getMonth();
78
+ let doy = date.getDate() + 31 * month;
78
79
 
79
- if (date.getMonth() > 1) {
80
+ if (month > 1) {
80
81
  // FEB
81
- doy -= Math.floor((4 * (date.getMonth() + 1) + 23) / 10);
82
+ doy -= Math.floor((4 * (month + 1) + 23) / 10);
82
83
 
83
84
  if (isLeapYear$1(date.getFullYear())) {
84
85
  doy++;
@@ -135,7 +136,7 @@ function yearFromFixed(abs) {
135
136
 
136
137
  function toFixed(year, month, day) {
137
138
  const py = year - 1;
138
- return 0 + 365 * py + quotient(py, 4) - quotient(py, 100) + quotient(py, 400) + quotient(367 * month - 362, 12) + Math.floor(month <= 2 ? 0 : isLeapYear$1(year) ? -1 : -2) + day;
139
+ return 365 * py + quotient(py, 4) - quotient(py, 100) + quotient(py, 400) + quotient(367 * month - 362, 12) + (month <= 2 ? 0 : isLeapYear$1(year) ? -1 : -2) + day;
139
140
  }
140
141
  /**
141
142
  * Converts from Rata Die (R.D. number) to Gregorian date.
@@ -4189,6 +4190,10 @@ function throwError(errorMessage) {
4189
4190
  * Hebrew date, e.g. `['Noach']` or `['Matot', 'Masei']`
4190
4191
  * @property {boolean} chag True if this is a regular parasha HaShavua
4191
4192
  * Torah reading, false if it's a special holiday reading
4193
+ * @property {number|number[]} num the parsha number (or numbers) using 1-indexing.
4194
+ * A `number` for a regular (single) parsha, and a `number[]` for a doubled parsha.
4195
+ * For Parashat *Bereshit*, `num` would be equal to `1`, and for
4196
+ * *Matot-Masei* it would be `[42, 43]`
4192
4197
  */
4193
4198
 
4194
4199
  /**
@@ -4380,7 +4385,8 @@ class Sedra {
4380
4385
  if (index >= 0) {
4381
4386
  return {
4382
4387
  parsha: [parshiot[index]],
4383
- chag: false
4388
+ chag: false,
4389
+ num: index + 1
4384
4390
  };
4385
4391
  }
4386
4392
 
@@ -4388,7 +4394,8 @@ class Sedra {
4388
4394
 
4389
4395
  return {
4390
4396
  parsha: [parshiot[p1], parshiot[p1 + 1]],
4391
- chag: false
4397
+ chag: false,
4398
+ num: [p1 + 1, p1 + 2]
4392
4399
  };
4393
4400
  }
4394
4401
 
@@ -4605,8 +4612,9 @@ class ParshaEvent extends Event {
4605
4612
  * @param {string[]} parsha - untranslated name of single or double parsha,
4606
4613
  * such as ['Bereshit'] or ['Achrei Mot', 'Kedoshim']
4607
4614
  * @param {boolean} il
4615
+ * @param {number|number[]} num
4608
4616
  */
4609
- constructor(date, parsha, il) {
4617
+ constructor(date, parsha, il, num) {
4610
4618
  if (!Array.isArray(parsha) || parsha.length === 0 || parsha.length > 2) {
4611
4619
  throw new TypeError('Bad parsha argument');
4612
4620
  }
@@ -4615,6 +4623,7 @@ class ParshaEvent extends Event {
4615
4623
  super(date, desc, flags.PARSHA_HASHAVUA);
4616
4624
  this.parsha = parsha;
4617
4625
  this.il = Boolean(il);
4626
+ this.num = num || -1;
4618
4627
  }
4619
4628
  /**
4620
4629
  * @param {string} [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
@@ -5517,7 +5526,7 @@ function getBirthdayOrAnniversary_(hyear, gdate) {
5517
5526
  return new HDate(day, month, hyear);
5518
5527
  }
5519
5528
 
5520
- const version="3.39.2";
5529
+ const version="3.40.0";
5521
5530
 
5522
5531
  const headers$1={"plural-forms":"nplurals=2; plural=(n > 1);",language:"en_CA@ashkenazi"};const 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};
5523
5532
 
@@ -6116,7 +6125,7 @@ class HebrewCalendar {
6116
6125
  const parsha0 = sedra.lookup(abs);
6117
6126
 
6118
6127
  if (!parsha0.chag) {
6119
- evts.push(new ParshaEvent(hd, parsha0.parsha, il));
6128
+ evts.push(new ParshaEvent(hd, parsha0.parsha, il, parsha0.num));
6120
6129
  }
6121
6130
  }
6122
6131
 
package/hebcal.d.ts CHANGED
@@ -866,6 +866,14 @@ declare module '@hebcal/core' {
866
866
  * Torah reading, false if it's a special holiday reading
867
867
  */
868
868
  chag: boolean;
869
+ /**
870
+ * The parsha number (or numbers) using 1-indexing.
871
+ * A `number` for a regular (single) parsha, and a `number[]`
872
+ * for a doubled parsha.
873
+ * For Parashat *Bereshit*, `num` would be equal to `1`, and for
874
+ * *Matot-Masei* it would be `[42, 43]`
875
+ */
876
+ num: number | number[];
869
877
  }
870
878
 
871
879
  export class Sedra {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hebcal/core",
3
- "version": "3.39.2",
3
+ "version": "3.40.0",
4
4
  "author": "Michael J. Radwin (https://github.com/mjradwin)",
5
5
  "contributors": [
6
6
  "Eyal Schachter (https://github.com/Scimonster)",
@@ -73,13 +73,13 @@
73
73
  "@rollup/plugin-node-resolve": "^13.3.0",
74
74
  "ava": "^4.3.0",
75
75
  "codecov": "^3.8.3",
76
- "core-js": "^3.23.1",
76
+ "core-js": "^3.23.2",
77
77
  "eslint": "^8.18.0",
78
78
  "eslint-config-google": "^0.14.0",
79
79
  "jsdoc": "^3.6.10",
80
80
  "jsdoc-to-markdown": "^7.1.1",
81
81
  "nyc": "^15.1.0",
82
- "rollup": "^2.75.6",
82
+ "rollup": "^2.75.7",
83
83
  "rollup-plugin-terser": "^7.0.2",
84
84
  "tsd-jsdoc": "^2.5.0",
85
85
  "ttag-cli": "^1.9.4"