@hebcal/core 3.33.4 → 3.33.7
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 +250 -261
- package/dist/bundle.js +408 -303
- package/dist/bundle.min.js +2 -2
- package/dist/hdate-bundle.js +312 -244
- package/dist/hdate-bundle.min.js +2 -2
- package/dist/hdate.js +77 -62
- package/dist/hdate.mjs +77 -62
- package/dist/index.js +190 -118
- package/dist/index.mjs +174 -122
- package/hebcal.d.ts +116 -115
- package/package.json +3 -3
package/dist/hdate-bundle.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @hebcal/core v3.33.
|
|
2
|
-
var hebcal=function(e){"use strict";function t(e){switch(e){case 1:return"א";case 2:return"ב";case 3:return"ג";case 4:return"ד";case 5:return"ה";case 6:return"ו";case 7:return"ז";case 8:return"ח";case 9:return"ט";case 10:return"י";case 20:return"כ";case 30:return"ל";case 40:return"מ";case 50:return"נ";case 60:return"ס";case 70:return"ע";case 80:return"פ";case 90:return"צ";case 100:return"ק";case 200:return"ר";case 300:return"ש";case 400:return"ת";default:return"*INVALID*"}}function r(e){for(var t=[];e>0;){if(15===e||16===e){t.push(9),t.push(e-9);break}var r=100,a=void 0;for(a=400;a>e;a-=r)a===r&&(r/=10);t.push(a),e-=a}return t}function a(e){var a=parseInt(e,10);if(!a)throw new TypeError("invalid parameter to gematriya ".concat(e));var n="",o=Math.floor(a/1e3);if(o>0&&5!==o){for(var s=r(o),i=0;i<s.length;i++)n+=t(s[i]);n+="׳"}var u=r(a%1e3);if(1==u.length)return n+t(u[0])+"׳";for(var h=0;h<u.length;h++)h+1===u.length&&(n+="״"),n+=t(u[h]);return n}function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}var i=[[0,31,28,31,30,31,30,31,31,30,31,30,31],[0,31,29,31,30,31,30,31,31,30,31,30,31]];function u(e,t){return e-t*Math.floor(e/t)}function h(e,t){return Math.floor(e/t)}var c={monthNames:["","January","February","March","April","May","June","July","August","September","October","November","December"],isLeapYear:function(e){return!(e%4||!(e%100)&&e%400)},daysInMonth:function(e,t){return i[+this.isLeapYear(t)][e]},isDate:function(e){return"object"===n(e)&&Date.prototype===e.__proto__},dayOfYear:function(e){if(!this.isDate(e))throw new TypeError("Argument to greg.dayOfYear not a Date");var t=e.getDate()+31*e.getMonth();return e.getMonth()>1&&(t-=Math.floor((4*(e.getMonth()+1)+23)/10),this.isLeapYear(e.getFullYear())&&t++),t},greg2abs:function(e){if(!this.isDate(e))throw new TypeError("Argument to greg.greg2abs not a Date");var t=e.getFullYear()-1;return this.dayOfYear(e)+365*t+(Math.floor(t/4)-Math.floor(t/100)+Math.floor(t/400))},yearFromFixed:function(e){var t=e-1,r=h(t,146097),a=u(t,146097),n=h(a,36524),o=u(a,36524),s=h(o,1461),i=h(u(o,1461),365),c=400*r+100*n+4*s+i;return 4!=n&&4!=i?c+1:c},toFixed:function(e,t,r){var a=e-1;return 0+365*a+h(a,4)-h(a,100)+h(a,400)+h(367*t-362,12)+Math.floor(t<=2?0:this.isLeapYear(e)?-1:-2)+r},abs2greg:function(e){if("number"!=typeof e)throw new TypeError("Argument to greg.abs2greg not a Number");e=Math.trunc(e);var t=this.yearFromFixed(e),r=h(12*(e-this.toFixed(t,1,1)+(e<this.toFixed(t,3,1)?0:this.isLeapYear(t)?1:2))+373,367),a=e-this.toFixed(t,r,1)+1,n=new Date(t,r-1,a);return t<100&&t>=0&&n.setFullYear(t),n}},l={headers:{"plural-forms":"nplurals=2; plural=(n!=1);"},contexts:{"":{}}},y={h:"he",a:"ashkenazi",s:"en","":"en"},f={locales:Object.create(null),activeLocale:null,activeName:null,lookupTranslation:function(e,t){var r=t&&t.toLowerCase(),a=("string"==typeof t&&this.locales[r]||this.activeLocale)[e];if(a&&a.length&&a[0].length)return a[0]},gettext:function(e,t){var r=this.lookupTranslation(e,t);return void 0===r?e:r},addLocale:function(e,t){if("object"!==n(t.contexts)||"object"!==n(t.contexts[""]))throw new TypeError("Locale '".concat(e,"' invalid compact format"));this.locales[e.toLowerCase()]=t.contexts[""]},useLocale:function(e){var t=e.toLowerCase(),r=this.locales[t];if(!r)throw new RangeError("Locale '".concat(e,"' not found"));return this.activeName=y[t]||t,this.activeLocale=r,this.activeLocale},getLocaleName:function(){return this.activeName},getLocaleNames:function(){return Object.keys(this.locales).sort()},ordinal:function(e,t){var r=t&&t.toLowerCase()||this.activeName;if(!r)return this.getEnOrdinal(e);switch(r){case"en":case"s":case"a":case"ashkenazi":case"ashkenazi_litvish":case"ashkenazi_poylish":case"ashkenazi_standard":return this.getEnOrdinal(e);case"es":return e+"º";case"h":case"he":case"he-x-nonikud":return String(e);default:return e+"."}},getEnOrdinal:function(e){var t=["th","st","nd","rd"],r=e%100;return e+(t[(r-20)%10]||t[r]||t[0])},hebrewStripNikkud:function(e){return e.replace(/[\u0590-\u05bd]/g,"").replace(/[\u05bf-\u05c7]/g,"")}};f.addLocale("en",l),f.addLocale("s",l),f.addLocale("",l),f.useLocale("en");var d={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},v=["","Nisan","Iyyar","Sivan","Tamuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Sh'vat"],m=[v.concat(["Adar","Nisan"]),v.concat(["Adar I","Adar II","Nisan"])];function g(e){throw new TypeError(e)}var b=Object.create(null),p=-1373428,w="day",k="week",D="month",M="year",Y={d:w,w:k,M:D,y:M},I={day:w,week:k,month:D,year:M},L=function(){function e(t,r,a){if(o(this,e),2==arguments.length||arguments.length>3)throw new TypeError("HDate constructor requires 0, 1 or 3 arguments");if(3==arguments.length){if(this.day=this.month=1,this.year=+a,isNaN(this.year))throw new TypeError("HDate called with bad year argument: ".concat(a));if(this.setMonth(r),this.setDate(+t),isNaN(this.day))throw new TypeError("HDate called with bad day argument: ".concat(t))}else{void 0===t&&(t=new Date);var n="number"!=typeof t||isNaN(t)?c.isDate(t)?c.greg2abs(t):e.isHDate(t)?{dd:t.day,mm:t.month,yy:t.year}:g("HDate called with bad argument: ".concat(t)):t,s="number"==typeof n,i=s?e.abs2hebrew(n):n;this.day=i.dd,this.month=i.mm,this.year=i.yy,s&&(this.abs0=n)}}var t,r,i;return t=e,r=[{key:"getFullYear",value:function(){return this.year}},{key:"isLeapYear",value:function(){return e.isLeapYear(this.year)}},{key:"getMonth",value:function(){return this.month}},{key:"getTishreiMonth",value:function(){var t=e.monthsInYear(this.getFullYear());return(this.getMonth()+t-6)%t||t}},{key:"daysInMonth",value:function(){return e.daysInMonth(this.getMonth(),this.getFullYear())}},{key:"getDate",value:function(){return this.day}},{key:"getDay",value:function(){return u(this.abs(),7)}},{key:"setFullYear",value:function(e){return this.year=e,N(this),this}},{key:"setMonth",value:function(t){return this.month=e.monthNum(t),N(this),this}},{key:"setDate",value:function(e){return this.day=e,N(this),this}},{key:"greg",value:function(){return c.abs2greg(this.abs())}},{key:"abs",value:function(){return"number"!=typeof this.abs0&&(this.abs0=e.hebrew2abs(this.year,this.month,this.day)),this.abs0}},{key:"getMonthName",value:function(){return e.getMonthName(this.getMonth(),this.getFullYear())}},{key:"render",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=t||f.getLocaleName(),n=this.getDate(),o=f.gettext(this.getMonthName(),a),s=f.ordinal(n,a),i=e.getDayOfTranslation(a),u="".concat(s).concat(i," ").concat(o);if(r){var h=this.getFullYear();return"".concat(u,", ").concat(h)}return u}},{key:"renderGematriya",value:function(){var e=this.getDate(),t=f.gettext(this.getMonthName(),"he"),r=this.getFullYear();return a(e)+" "+t+" "+a(r)}},{key:"before",value:function(e){return T(e,this,-1)}},{key:"onOrBefore",value:function(e){return T(e,this,0)}},{key:"nearest",value:function(e){return T(e,this,3)}},{key:"onOrAfter",value:function(e){return T(e,this,6)}},{key:"after",value:function(e){return T(e,this,7)}},{key:"next",value:function(){return new e(this.abs()+1)}},{key:"prev",value:function(){return new e(this.abs()-1)}},{key:"add",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"d";if(!(t=parseInt(t,10)))return new e(this);if((r=e.standardizeUnits(r))===w)return new e(this.abs()+t);if(r===k)return new e(this.abs()+7*t);if(r===M)return new e(this.getDate(),this.getMonth(),this.getFullYear()+t);if(r===D){var a=new e(this),n=t>0?1:-1;t=Math.abs(t);for(var o=0;o<t;o++)a=new e(a.abs()+n*a.daysInMonth());return a}}},{key:"subtract",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"d";return this.add(-1*e,t)}},{key:"deltaDays",value:function(t){if(!e.isHDate(t))throw new TypeError("Bad argument: ".concat(t));return this.abs()-t.abs()}},{key:"isSameDate",value:function(t){return!!e.isHDate(t)&&this.year==t.year&&this.month==t.month&&this.day==t.day}},{key:"toString",value:function(){var e=this.getDate(),t=this.getFullYear(),r=this.getMonthName();return"".concat(e," ").concat(r," ").concat(t)}}],i=[{key:"hebrew2abs",value:function(t,r,a){var n=a;if(r<7){for(var o=7;o<=e.monthsInYear(t);o++)n+=e.daysInMonth(o,t);for(var s=1;s<r;s++)n+=e.daysInMonth(s,t)}else for(var i=7;i<r;i++)n+=e.daysInMonth(i,t);return p+e.elapsedDays(t)+n-1}},{key:"newYear",value:function(t){return p+e.elapsedDays(t)+e.newYearDelay(t)}},{key:"newYearDelay",value:function(t){var r=e.elapsedDays(t);return e.elapsedDays(t+1)-r==356?2:r-e.elapsedDays(t-1)==382?1:0}},{key:"abs2hebrew",value:function(t){if("number"!=typeof t||isNaN(t))throw new TypeError("invalid parameter to abs2hebrew ".concat(t));t=Math.trunc(t);for(var r=Math.floor((t-p)/365.24682220597794);e.newYear(r)<=t;)++r;--r;for(var a=t<e.hebrew2abs(r,1,1)?7:1;t>e.hebrew2abs(r,a,e.daysInMonth(a,r));)++a;return{yy:r,mm:a,dd:1+t-e.hebrew2abs(r,a,1)}}},{key:"getDayOfTranslation",value:function(e){switch(e){case"en":case"s":case"a":case"ashkenazi":return" of"}var t=f.lookupTranslation("of",e);return t?" "+t:"ashkenazi"===e.substring(0,9)?" of":""}},{key:"standardizeUnits",value:function(e){var t=Y[e]||String(e||"").toLowerCase().replace(/s$/,"");return I[t]||g("Invalid units '".concat(e,"'"))}},{key:"isLeapYear",value:function(e){return(1+7*e)%19<7}},{key:"monthsInYear",value:function(t){return 12+e.isLeapYear(t)}},{key:"daysInMonth",value:function(t,r){return 2==t||4==t||6==t||10==t||13==t||12==t&&!e.isLeapYear(r)||8==t&&!e.longCheshvan(r)||9==t&&e.shortKislev(r)?29:30}},{key:"getMonthName",value:function(t,r){if("number"!=typeof t||t<1||t>14)throw new TypeError("bad month argument ".concat(t));return m[+e.isLeapYear(r)][t]}},{key:"monthNum",value:function(t){return"number"==typeof t?t:t.charCodeAt(0)>=48&&t.charCodeAt(0)<=57?parseInt(t,10):e.monthFromName(t)}},{key:"elapsedDays",value:function(t){return b[t]=b[t]||e.elapsedDays0(t)}},{key:"elapsedDays0",value:function(t){var r=t-1,a=235*Math.floor(r/19)+r%19*12+Math.floor((r%19*7+1)/19),n=204+a%1080*793,o=5+12*a+793*Math.floor(a/1080)+Math.floor(n/1080),s=n%1080+o%24*1080,i=1+29*a+Math.floor(o/24),u=i+(s>=19440||2==i%7&&s>=9924&&!e.isLeapYear(t)||1==i%7&&s>=16789&&e.isLeapYear(r));return u+(u%7==0||u%7==3||u%7==5)}},{key:"daysInYear",value:function(t){return e.elapsedDays(t+1)-e.elapsedDays(t)}},{key:"longCheshvan",value:function(t){return e.daysInYear(t)%10==5}},{key:"shortKislev",value:function(t){return e.daysInYear(t)%10==3}},{key:"monthFromName",value:function(e){if("number"==typeof e)return e;var t=e.toLowerCase();switch(t[0]){case"n":case"נ":if("o"==t[1])break;return 1;case"i":return 2;case"e":return 6;case"c":case"ח":return 8;case"k":case"כ":return 9;case"s":switch(t[1]){case"i":return 3;case"h":return 11}case"t":switch(t[1]){case"a":return 4;case"i":return 7;case"e":return 10}break;case"a":switch(t[1]){case"v":return 5;case"d":return/(1|[^i]i|a|א)$/i.test(e)?12:13}break;case"ס":return 3;case"ט":return 10;case"ש":return 11;case"א":switch(t[1]){case"ב":return 5;case"ד":return/(1|[^i]i|a|א)$/i.test(e)?12:13;case"י":return 2;case"ל":return 6}break;case"ת":switch(t[1]){case"מ":return 4;case"ש":return 7}}throw new RangeError("Unable to parse month name: ".concat(e))}},{key:"dayOnOrBefore",value:function(e,t){return t-(t-e)%7}},{key:"isHDate",value:function(e){return null!==e&&"object"===n(e)&&"number"==typeof e.year&&"number"==typeof e.month&&"number"==typeof e.day&&"function"==typeof e.greg&&"function"==typeof e.abs}}],r&&s(t.prototype,r),i&&s(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e}();function N(e){A(e),function(e){e.day<1&&(7==e.month&&(e.year-=1),e.day+=L.daysInMonth(e.month,e.year),e.month-=1,N(e));e.day>L.daysInMonth(e.month,e.year)&&(6==e.month&&(e.year+=1),e.day-=L.daysInMonth(e.month,e.year),e.month+=1,N(e));A(e)}(e)}function A(e){13!=e.month||e.isLeapYear()?e.month<1?(e.month+=L.monthsInYear(e.year),e.year-=1,N(e)):e.month>L.monthsInYear(e.year)&&(e.month-=L.monthsInYear(e.year),e.year+=1,N(e)):(e.month-=1,N(e)),delete e.abs0}function T(e,t,r){return new L(L.dayOnOrBefore(e,t.abs()+r))}var E=d.NISAN,F=d.CHESHVAN,S=d.KISLEV,O=d.TEVET,C=d.SHVAT,H=d.ADAR_I,x=d.ADAR_II;var _={headers:{"plural-forms":"nplurals=2; plural=(n > 1);",language:"he"},contexts:{"":{Adar:["אַדָר"],"Adar I":["אַדָר א׳"],"Adar II":["אַדָר ב׳"],Av:["אָב"],Cheshvan:["חֶשְׁוָן"],Elul:["אֱלוּל"],Iyyar:["אִיָיר"],Kislev:["כִּסְלֵו"],Nisan:["נִיסָן"],"Sh'vat":["שְׁבָט"],Sivan:["סִיוָן"],Tamuz:["תַּמּוּז"],Tevet:["טֵבֵת"],Tishrei:["תִשְׁרֵי"]}}};return f.addLocale("he",_),f.addLocale("h",_),e.HDate=L,e.Locale=f,e.gematriya=a,e.getBirthdayOrAnniversary=function(e,t){var r=L.isHDate(t)?t:new L(t),a=r.getFullYear();if(!(e<=a)){var n=L.isLeapYear(a),o=r.getMonth(),s=r.getDate();return o==H&&!n||o==x&&n?o=L.monthsInYear(e):o!=F||30!=s||L.longCheshvan(e)?o==S&&30==s&&L.shortKislev(e)?(o=O,s=1):o==H&&30==s&&n&&!L.isLeapYear(e)&&(o=E,s=1):(o=S,s=1),new L(s,o,e)}},e.getYahrzeit=function(e,t){var r=L.isHDate(t)?t:new L(t),a={yy:r.getFullYear(),mm:r.getMonth(),dd:r.getDate()};if(!(e<=a.yy))return a.mm!=F||30!=a.dd||L.longCheshvan(a.yy+1)?a.mm==S&&30==a.dd&&L.shortKislev(a.yy+1)?a=L.abs2hebrew(L.hebrew2abs(e,O,1)-1):a.mm==x?a.mm=L.monthsInYear(e):a.mm!=H||30!=a.dd||L.isLeapYear(e)||(a.dd=30,a.mm=C):a=L.abs2hebrew(L.hebrew2abs(e,S,1)-1),a.mm!=F||30!=a.dd||L.longCheshvan(e)?a.mm==S&&30==a.dd&&L.shortKislev(e)&&(a.mm=O,a.dd=1):(a.mm=S,a.dd=1),new L(a.dd,a.mm,e)},e.greg=c,e.months=d,e.version="3.33.4",Object.defineProperty(e,"__esModule",{value:!0}),e}({});
|
|
1
|
+
/*! @hebcal/core v3.33.7 */
|
|
2
|
+
var hebcal=function(e){"use strict";function t(e){switch(e){case 1:return"א";case 2:return"ב";case 3:return"ג";case 4:return"ד";case 5:return"ה";case 6:return"ו";case 7:return"ז";case 8:return"ח";case 9:return"ט";case 10:return"י";case 20:return"כ";case 30:return"ל";case 40:return"מ";case 50:return"נ";case 60:return"ס";case 70:return"ע";case 80:return"פ";case 90:return"צ";case 100:return"ק";case 200:return"ר";case 300:return"ש";case 400:return"ת";default:return"*INVALID*"}}function a(e){for(var t=[];e>0;){if(15===e||16===e){t.push(9),t.push(e-9);break}var a=100,r=void 0;for(r=400;r>e;r-=a)r===a&&(a/=10);t.push(r),e-=r}return t}function r(e){var r=parseInt(e,10);if(!r)throw new TypeError("invalid parameter to gematriya ".concat(e));var n="",o=Math.floor(r/1e3);if(o>0&&5!==o){for(var s=a(o),u=0;u<s.length;u++)n+=t(s[u]);n+="׳"}var i=a(r%1e3);if(1==i.length)return n+t(i[0])+"׳";for(var h=0;h<i.length;h++)h+1===i.length&&(n+="״"),n+=t(i[h]);return n}function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function u(e,t,a){return t&&s(e.prototype,t),a&&s(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var h=[[0,31,28,31,30,31,30,31,31,30,31,30,31],[0,31,29,31,30,31,30,31,31,30,31,30,31]];function c(e,t){return e-t*Math.floor(e/t)}function l(e,t){return Math.floor(e/t)}var y=function(){function e(){o(this,e)}return u(e,null,[{key:"isLeapYear",value:function(e){return!(e%4||!(e%100)&&e%400)}},{key:"daysInMonth",value:function(e,t){return h[+this.isLeapYear(t)][e]}},{key:"isDate",value:function(e){return"object"===n(e)&&Date.prototype===e.__proto__}},{key:"dayOfYear",value:function(e){if(!this.isDate(e))throw new TypeError("Argument to greg.dayOfYear not a Date");var t=e.getDate()+31*e.getMonth();return e.getMonth()>1&&(t-=Math.floor((4*(e.getMonth()+1)+23)/10),this.isLeapYear(e.getFullYear())&&t++),t}},{key:"greg2abs",value:function(e){if(!this.isDate(e))throw new TypeError("Argument to greg.greg2abs not a Date");var t=e.getFullYear()-1;return this.dayOfYear(e)+365*t+(Math.floor(t/4)-Math.floor(t/100)+Math.floor(t/400))}},{key:"yearFromFixed",value:function(e){var t=e-1,a=l(t,146097),r=c(t,146097),n=l(r,36524),o=c(r,36524),s=l(o,1461),u=l(c(o,1461),365),i=400*a+100*n+4*s+u;return 4!=n&&4!=u?i+1:i}},{key:"toFixed",value:function(e,t,a){var r=e-1;return 0+365*r+l(r,4)-l(r,100)+l(r,400)+l(367*t-362,12)+Math.floor(t<=2?0:this.isLeapYear(e)?-1:-2)+a}},{key:"abs2greg",value:function(e){if("number"!=typeof e)throw new TypeError("Argument to greg.abs2greg not a Number");e=Math.trunc(e);var t=this.yearFromFixed(e),a=l(12*(e-this.toFixed(t,1,1)+(e<this.toFixed(t,3,1)?0:this.isLeapYear(t)?1:2))+373,367),r=e-this.toFixed(t,a,1)+1,n=new Date(t,a-1,r);return t<100&&t>=0&&n.setFullYear(t),n}}]),e}();i(y,"monthNames",["","January","February","March","April","May","June","July","August","September","October","November","December"]);var f={headers:{"plural-forms":"nplurals=2; plural=(n!=1);"},contexts:{"":{}}},v={h:"he",a:"ashkenazi",s:"en","":"en"},d=function(){function e(){o(this,e)}return u(e,null,[{key:"lookupTranslation",value:function(e,t){var a=t&&t.toLowerCase(),r=("string"==typeof t&&this.locales[a]||this.activeLocale)[e];if(r&&r.length&&r[0].length)return r[0]}},{key:"gettext",value:function(e,t){var a=this.lookupTranslation(e,t);return void 0===a?e:a}},{key:"addLocale",value:function(e,t){if("object"!==n(t.contexts)||"object"!==n(t.contexts[""]))throw new TypeError("Locale '".concat(e,"' invalid compact format"));this.locales[e.toLowerCase()]=t.contexts[""]}},{key:"useLocale",value:function(e){var t=e.toLowerCase(),a=this.locales[t];if(!a)throw new RangeError("Locale '".concat(e,"' not found"));return this.activeName=v[t]||t,this.activeLocale=a,this.activeLocale}},{key:"getLocaleName",value:function(){return this.activeName}},{key:"getLocaleNames",value:function(){return Object.keys(this.locales).sort()}},{key:"ordinal",value:function(e,t){var a=t&&t.toLowerCase()||this.activeName;if(!a)return this.getEnOrdinal(e);switch(a){case"en":case"s":case"a":case"ashkenazi":case"ashkenazi_litvish":case"ashkenazi_poylish":case"ashkenazi_standard":return this.getEnOrdinal(e);case"es":return e+"º";case"h":case"he":case"he-x-nonikud":return String(e);default:return e+"."}}},{key:"getEnOrdinal",value:function(e){var t=["th","st","nd","rd"],a=e%100;return e+(t[(a-20)%10]||t[a]||t[0])}},{key:"hebrewStripNikkud",value:function(e){return e.replace(/[\u0590-\u05bd]/g,"").replace(/[\u05bf-\u05c7]/g,"")}}]),e}();i(d,"locales",Object.create(null)),i(d,"activeLocale",null),i(d,"activeName",null),d.addLocale("en",f),d.addLocale("s",f),d.addLocale("",f),d.useLocale("en");var m={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},g=["","Nisan","Iyyar","Sivan","Tamuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Sh'vat"],b=[g.concat(["Adar","Nisan"]),g.concat(["Adar I","Adar II","Nisan"])];function p(e){throw new TypeError(e)}var k=Object.create(null),w=-1373428,D="day",M="week",Y="month",I="year",L={d:D,w:M,M:Y,y:I},N={day:D,week:M,month:Y,year:I},A=function(){function e(t,a,r){if(o(this,e),2==arguments.length||arguments.length>3)throw new TypeError("HDate constructor requires 0, 1 or 3 arguments");if(3==arguments.length){if(this.day=this.month=1,this.year=+r,isNaN(this.year))throw new TypeError("HDate called with bad year argument: ".concat(r));if(this.setMonth(a),this.setDate(+t),isNaN(this.day))throw new TypeError("HDate called with bad day argument: ".concat(t))}else{void 0===t&&(t=new Date);var n="number"!=typeof t||isNaN(t)?y.isDate(t)?y.greg2abs(t):e.isHDate(t)?{dd:t.day,mm:t.month,yy:t.year}:p("HDate called with bad argument: ".concat(t)):t,s="number"==typeof n,u=s?e.abs2hebrew(n):n;this.day=u.dd,this.month=u.mm,this.year=u.yy,s&&(this.abs0=n)}}return u(e,[{key:"getFullYear",value:function(){return this.year}},{key:"isLeapYear",value:function(){return e.isLeapYear(this.year)}},{key:"getMonth",value:function(){return this.month}},{key:"getTishreiMonth",value:function(){var t=e.monthsInYear(this.getFullYear());return(this.getMonth()+t-6)%t||t}},{key:"daysInMonth",value:function(){return e.daysInMonth(this.getMonth(),this.getFullYear())}},{key:"getDate",value:function(){return this.day}},{key:"getDay",value:function(){return c(this.abs(),7)}},{key:"setFullYear",value:function(e){return this.year=e,T(this),this}},{key:"setMonth",value:function(t){return this.month=e.monthNum(t),T(this),this}},{key:"setDate",value:function(e){return this.day=e,T(this),this}},{key:"greg",value:function(){return y.abs2greg(this.abs())}},{key:"abs",value:function(){return"number"!=typeof this.abs0&&(this.abs0=e.hebrew2abs(this.year,this.month,this.day)),this.abs0}},{key:"getMonthName",value:function(){return e.getMonthName(this.getMonth(),this.getFullYear())}},{key:"render",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=t||d.getLocaleName(),n=this.getDate(),o=d.gettext(this.getMonthName(),r),s=d.ordinal(n,r),u=e.getDayOfTranslation(r),i="".concat(s).concat(u," ").concat(o);if(a){var h=this.getFullYear();return"".concat(i,", ").concat(h)}return i}},{key:"renderGematriya",value:function(){var e=this.getDate(),t=d.gettext(this.getMonthName(),"he"),a=this.getFullYear();return r(e)+" "+t+" "+r(a)}},{key:"before",value:function(e){return F(e,this,-1)}},{key:"onOrBefore",value:function(e){return F(e,this,0)}},{key:"nearest",value:function(e){return F(e,this,3)}},{key:"onOrAfter",value:function(e){return F(e,this,6)}},{key:"after",value:function(e){return F(e,this,7)}},{key:"next",value:function(){return new e(this.abs()+1)}},{key:"prev",value:function(){return new e(this.abs()-1)}},{key:"add",value:function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"d";if(!(t=parseInt(t,10)))return new e(this);if((a=e.standardizeUnits(a))===D)return new e(this.abs()+t);if(a===M)return new e(this.abs()+7*t);if(a===I)return new e(this.getDate(),this.getMonth(),this.getFullYear()+t);if(a===Y){var r=new e(this),n=t>0?1:-1;t=Math.abs(t);for(var o=0;o<t;o++)r=new e(r.abs()+n*r.daysInMonth());return r}}},{key:"subtract",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"d";return this.add(-1*e,t)}},{key:"deltaDays",value:function(t){if(!e.isHDate(t))throw new TypeError("Bad argument: ".concat(t));return this.abs()-t.abs()}},{key:"isSameDate",value:function(t){return!!e.isHDate(t)&&(this.year==t.year&&this.month==t.month&&this.day==t.day)}},{key:"toString",value:function(){var e=this.getDate(),t=this.getFullYear(),a=this.getMonthName();return"".concat(e," ").concat(a," ").concat(t)}}],[{key:"hebrew2abs",value:function(t,a,r){var n=r;if(a<7){for(var o=7;o<=e.monthsInYear(t);o++)n+=e.daysInMonth(o,t);for(var s=1;s<a;s++)n+=e.daysInMonth(s,t)}else for(var u=7;u<a;u++)n+=e.daysInMonth(u,t);return w+e.elapsedDays(t)+n-1}},{key:"newYear",value:function(t){return w+e.elapsedDays(t)+e.newYearDelay(t)}},{key:"newYearDelay",value:function(t){var a=e.elapsedDays(t);return e.elapsedDays(t+1)-a==356?2:a-e.elapsedDays(t-1)==382?1:0}},{key:"abs2hebrew",value:function(t){if("number"!=typeof t||isNaN(t))throw new TypeError("invalid parameter to abs2hebrew ".concat(t));t=Math.trunc(t);for(var a=Math.floor((t-w)/365.24682220597794);e.newYear(a)<=t;)++a;--a;for(var r=t<e.hebrew2abs(a,1,1)?7:1;t>e.hebrew2abs(a,r,e.daysInMonth(r,a));)++r;return{yy:a,mm:r,dd:1+t-e.hebrew2abs(a,r,1)}}},{key:"getDayOfTranslation",value:function(e){switch(e){case"en":case"s":case"a":case"ashkenazi":return" of"}var t=d.lookupTranslation("of",e);return t?" "+t:"ashkenazi"===e.substring(0,9)?" of":""}},{key:"standardizeUnits",value:function(e){var t=L[e]||String(e||"").toLowerCase().replace(/s$/,"");return N[t]||p("Invalid units '".concat(e,"'"))}},{key:"isLeapYear",value:function(e){return(1+7*e)%19<7}},{key:"monthsInYear",value:function(t){return 12+e.isLeapYear(t)}},{key:"daysInMonth",value:function(t,a){return 2==t||4==t||6==t||10==t||13==t||12==t&&!e.isLeapYear(a)||8==t&&!e.longCheshvan(a)||9==t&&e.shortKislev(a)?29:30}},{key:"getMonthName",value:function(t,a){if("number"!=typeof t||t<1||t>14)throw new TypeError("bad month argument ".concat(t));return b[+e.isLeapYear(a)][t]}},{key:"monthNum",value:function(t){return"number"==typeof t?t:t.charCodeAt(0)>=48&&t.charCodeAt(0)<=57?parseInt(t,10):e.monthFromName(t)}},{key:"elapsedDays",value:function(t){return k[t]=k[t]||e.elapsedDays0(t)}},{key:"elapsedDays0",value:function(t){var a=t-1,r=235*Math.floor(a/19)+a%19*12+Math.floor((a%19*7+1)/19),n=204+r%1080*793,o=5+12*r+793*Math.floor(r/1080)+Math.floor(n/1080),s=n%1080+o%24*1080,u=1+29*r+Math.floor(o/24),i=u+(s>=19440||2==u%7&&s>=9924&&!e.isLeapYear(t)||1==u%7&&s>=16789&&e.isLeapYear(a));return i+(i%7==0||i%7==3||i%7==5)}},{key:"daysInYear",value:function(t){return e.elapsedDays(t+1)-e.elapsedDays(t)}},{key:"longCheshvan",value:function(t){return e.daysInYear(t)%10==5}},{key:"shortKislev",value:function(t){return e.daysInYear(t)%10==3}},{key:"monthFromName",value:function(e){if("number"==typeof e)return e;var t=e.toLowerCase();switch(t[0]){case"n":case"נ":if("o"==t[1])break;return 1;case"i":return 2;case"e":return 6;case"c":case"ח":return 8;case"k":case"כ":return 9;case"s":switch(t[1]){case"i":return 3;case"h":return 11}case"t":switch(t[1]){case"a":return 4;case"i":return 7;case"e":return 10}break;case"a":switch(t[1]){case"v":return 5;case"d":return/(1|[^i]i|a|א)$/i.test(e)?12:13}break;case"ס":return 3;case"ט":return 10;case"ש":return 11;case"א":switch(t[1]){case"ב":return 5;case"ד":return/(1|[^i]i|a|א)$/i.test(e)?12:13;case"י":return 2;case"ל":return 6}break;case"ת":switch(t[1]){case"מ":return 4;case"ש":return 7}}throw new RangeError("Unable to parse month name: ".concat(e))}},{key:"dayOnOrBefore",value:function(e,t){return t-(t-e)%7}},{key:"isHDate",value:function(e){return null!==e&&"object"===n(e)&&"number"==typeof e.year&&"number"==typeof e.month&&"number"==typeof e.day&&"function"==typeof e.greg&&"function"==typeof e.abs}}]),e}();function T(e){E(e),function(e){e.day<1&&(7==e.month&&(e.year-=1),e.day+=A.daysInMonth(e.month,e.year),e.month-=1,T(e));e.day>A.daysInMonth(e.month,e.year)&&(6==e.month&&(e.year+=1),e.day-=A.daysInMonth(e.month,e.year),e.month+=1,T(e));E(e)}(e)}function E(e){13!=e.month||e.isLeapYear()?e.month<1?(e.month+=A.monthsInYear(e.year),e.year-=1,T(e)):e.month>A.monthsInYear(e.year)&&(e.month-=A.monthsInYear(e.year),e.year+=1,T(e)):(e.month-=1,T(e)),delete e.abs0}function F(e,t,a){return new A(A.dayOnOrBefore(e,t.abs()+a))}var S=m.NISAN,O=m.CHESHVAN,C=m.KISLEV,H=m.TEVET,x=m.SHVAT,_=m.ADAR_I,z=m.ADAR_II;var j={headers:{"plural-forms":"nplurals=2; plural=(n > 1);",language:"he"},contexts:{"":{Adar:["אַדָר"],"Adar I":["אַדָר א׳"],"Adar II":["אַדָר ב׳"],Av:["אָב"],Cheshvan:["חֶשְׁוָן"],Elul:["אֱלוּל"],Iyyar:["אִיָיר"],Kislev:["כִּסְלֵו"],Nisan:["נִיסָן"],"Sh'vat":["שְׁבָט"],Sivan:["סִיוָן"],Tamuz:["תַּמּוּז"],Tevet:["טֵבֵת"],Tishrei:["תִשְׁרֵי"]}}};return d.addLocale("he",j),d.addLocale("h",j),e.HDate=A,e.Locale=d,e.gematriya=r,e.getBirthdayOrAnniversary=function(e,t){var a=A.isHDate(t)?t:new A(t),r=a.getFullYear();if(!(e<=r)){var n=A.isLeapYear(r),o=a.getMonth(),s=a.getDate();return o==_&&!n||o==z&&n?o=A.monthsInYear(e):o!=O||30!=s||A.longCheshvan(e)?o==C&&30==s&&A.shortKislev(e)?(o=H,s=1):o==_&&30==s&&n&&!A.isLeapYear(e)&&(o=S,s=1):(o=C,s=1),new A(s,o,e)}},e.getYahrzeit=function(e,t){var a=A.isHDate(t)?t:new A(t),r={yy:a.getFullYear(),mm:a.getMonth(),dd:a.getDate()};if(!(e<=r.yy))return r.mm!=O||30!=r.dd||A.longCheshvan(r.yy+1)?r.mm==C&&30==r.dd&&A.shortKislev(r.yy+1)?r=A.abs2hebrew(A.hebrew2abs(e,H,1)-1):r.mm==z?r.mm=A.monthsInYear(e):r.mm!=_||30!=r.dd||A.isLeapYear(e)||(r.dd=30,r.mm=x):r=A.abs2hebrew(A.hebrew2abs(e,C,1)-1),r.mm!=O||30!=r.dd||A.longCheshvan(e)?r.mm==C&&30==r.dd&&A.shortKislev(e)&&(r.mm=H,r.dd=1):(r.mm=C,r.dd=1),new A(r.dd,r.mm,e)},e.greg=y,e.months=m,e.version="3.33.7",Object.defineProperty(e,"__esModule",{value:!0}),e}({});
|
package/dist/hdate.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/core v3.33.
|
|
1
|
+
/*! @hebcal/core v3.33.7 */
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
@@ -211,53 +211,55 @@ function quotient(x, y) {
|
|
|
211
211
|
}
|
|
212
212
|
/**
|
|
213
213
|
* Gregorian date helper functions.
|
|
214
|
-
* @namespace
|
|
215
214
|
*/
|
|
216
215
|
|
|
217
216
|
|
|
218
|
-
|
|
217
|
+
class greg {
|
|
219
218
|
/**
|
|
220
219
|
* Long names of the Gregorian months (1='January', 12='December')
|
|
221
220
|
* @readonly
|
|
222
221
|
* @type {string[]}
|
|
223
222
|
*/
|
|
224
|
-
monthNames
|
|
225
|
-
|
|
223
|
+
static monthNames = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
|
226
224
|
/**
|
|
227
225
|
* Returns true if the Gregorian year is a leap year
|
|
228
226
|
* @param {number} year Gregorian year
|
|
229
227
|
* @return {boolean}
|
|
230
228
|
*/
|
|
231
|
-
isLeapYear: function (year) {
|
|
232
|
-
return !(year % 4) && (!!(year % 100) || !(year % 400));
|
|
233
|
-
},
|
|
234
229
|
|
|
230
|
+
static isLeapYear(year) {
|
|
231
|
+
return !(year % 4) && (!!(year % 100) || !(year % 400));
|
|
232
|
+
}
|
|
235
233
|
/**
|
|
236
234
|
* Number of days in the Gregorian month for given year
|
|
237
235
|
* @param {number} month Gregorian month (1=January, 12=December)
|
|
238
236
|
* @param {number} year Gregorian year
|
|
239
237
|
* @return {number}
|
|
240
238
|
*/
|
|
241
|
-
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
static daysInMonth(month, year) {
|
|
242
242
|
// 1 based months
|
|
243
243
|
return monthLengths[+this.isLeapYear(year)][month];
|
|
244
|
-
}
|
|
245
|
-
|
|
244
|
+
}
|
|
246
245
|
/**
|
|
247
246
|
* Returns true if the object is a Javascript Date
|
|
248
247
|
* @param {Object} obj
|
|
249
248
|
* @return {boolean}
|
|
250
249
|
*/
|
|
251
|
-
isDate: function (obj) {
|
|
252
|
-
return typeof obj === 'object' && Date.prototype === obj.__proto__;
|
|
253
|
-
},
|
|
254
250
|
|
|
251
|
+
|
|
252
|
+
static isDate(obj) {
|
|
253
|
+
return typeof obj === 'object' && Date.prototype === obj.__proto__;
|
|
254
|
+
}
|
|
255
255
|
/**
|
|
256
256
|
* Returns number of days since January 1 of that year
|
|
257
257
|
* @param {Date} date Gregorian date
|
|
258
258
|
* @return {number}
|
|
259
259
|
*/
|
|
260
|
-
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
static dayOfYear(date) {
|
|
261
263
|
if (!this.isDate(date)) {
|
|
262
264
|
throw new TypeError('Argument to greg.dayOfYear not a Date');
|
|
263
265
|
}
|
|
@@ -274,14 +276,15 @@ const greg = {
|
|
|
274
276
|
}
|
|
275
277
|
|
|
276
278
|
return doy;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
+
}
|
|
279
280
|
/**
|
|
280
281
|
* Converts Gregorian date to absolute R.D. (Rata Die) days
|
|
281
282
|
* @param {Date} date Gregorian date
|
|
282
283
|
* @return {number}
|
|
283
284
|
*/
|
|
284
|
-
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
static greg2abs(date) {
|
|
285
288
|
if (!this.isDate(date)) {
|
|
286
289
|
throw new TypeError('Argument to greg.greg2abs not a Date');
|
|
287
290
|
}
|
|
@@ -292,14 +295,15 @@ const greg = {
|
|
|
292
295
|
Math.floor(year / 4) - // + Julian Leap years
|
|
293
296
|
Math.floor(year / 100) + // - century years
|
|
294
297
|
Math.floor(year / 400)); // + Gregorian leap years
|
|
295
|
-
}
|
|
296
|
-
|
|
298
|
+
}
|
|
297
299
|
/**
|
|
298
300
|
* @private
|
|
299
301
|
* @param {number} theDate - R.D. number of days
|
|
300
302
|
* @return {number}
|
|
301
303
|
*/
|
|
302
|
-
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
static yearFromFixed(theDate) {
|
|
303
307
|
const l0 = theDate - 1;
|
|
304
308
|
const n400 = quotient(l0, 146097);
|
|
305
309
|
const d1 = mod(l0, 146097);
|
|
@@ -310,8 +314,7 @@ const greg = {
|
|
|
310
314
|
const n1 = quotient(d3, 365);
|
|
311
315
|
const year = 400 * n400 + 100 * n100 + 4 * n4 + n1;
|
|
312
316
|
return n100 != 4 && n1 != 4 ? year + 1 : year;
|
|
313
|
-
}
|
|
314
|
-
|
|
317
|
+
}
|
|
315
318
|
/**
|
|
316
319
|
* @private
|
|
317
320
|
* @param {number} year
|
|
@@ -319,11 +322,12 @@ const greg = {
|
|
|
319
322
|
* @param {number} day
|
|
320
323
|
* @return {number}
|
|
321
324
|
*/
|
|
322
|
-
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
static toFixed(year, month, day) {
|
|
323
328
|
const py = year - 1;
|
|
324
329
|
return 0 + 365 * py + quotient(py, 4) - quotient(py, 100) + quotient(py, 400) + quotient(367 * month - 362, 12) + Math.floor(month <= 2 ? 0 : this.isLeapYear(year) ? -1 : -2) + day;
|
|
325
|
-
}
|
|
326
|
-
|
|
330
|
+
}
|
|
327
331
|
/**
|
|
328
332
|
* Converts from Rata Die (R.D. number) to Gregorian date.
|
|
329
333
|
* See the footnote on page 384 of ``Calendrical Calculations, Part II:
|
|
@@ -333,7 +337,9 @@ const greg = {
|
|
|
333
337
|
* @param {number} theDate - R.D. number of days
|
|
334
338
|
* @return {Date}
|
|
335
339
|
*/
|
|
336
|
-
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
static abs2greg(theDate) {
|
|
337
343
|
if (typeof theDate !== 'number') {
|
|
338
344
|
throw new TypeError('Argument to greg.abs2greg not a Number');
|
|
339
345
|
}
|
|
@@ -352,7 +358,8 @@ const greg = {
|
|
|
352
358
|
|
|
353
359
|
return dt;
|
|
354
360
|
}
|
|
355
|
-
|
|
361
|
+
|
|
362
|
+
}
|
|
356
363
|
|
|
357
364
|
const noopLocale = {
|
|
358
365
|
headers: {
|
|
@@ -375,19 +382,17 @@ const alias = {
|
|
|
375
382
|
* * `ashkenazi` - Ashkenazi transliterations (e.g. "Shabbos")
|
|
376
383
|
* * `he` - Hebrew (e.g. "שַׁבָּת")
|
|
377
384
|
* * `he-x-NoNikud` - Hebrew without nikud (e.g. "שבת")
|
|
378
|
-
* @namespace
|
|
379
385
|
*/
|
|
380
386
|
|
|
381
|
-
|
|
387
|
+
class Locale {
|
|
382
388
|
/** @private */
|
|
383
|
-
locales
|
|
384
|
-
|
|
389
|
+
static locales = Object.create(null);
|
|
385
390
|
/** @private */
|
|
386
|
-
activeLocale: null,
|
|
387
391
|
|
|
392
|
+
static activeLocale = null;
|
|
388
393
|
/** @private */
|
|
389
|
-
activeName: null,
|
|
390
394
|
|
|
395
|
+
static activeName = null;
|
|
391
396
|
/**
|
|
392
397
|
* Returns translation only if `locale` offers a non-empty translation for `id`.
|
|
393
398
|
* Otherwise, returns `undefined`.
|
|
@@ -395,7 +400,8 @@ const Locale = {
|
|
|
395
400
|
* @param {string} [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
|
|
396
401
|
* @return {string}
|
|
397
402
|
*/
|
|
398
|
-
|
|
403
|
+
|
|
404
|
+
static lookupTranslation(id, locale) {
|
|
399
405
|
const locale0 = locale && locale.toLowerCase();
|
|
400
406
|
const loc = typeof locale == 'string' && this.locales[locale0] || this.activeLocale;
|
|
401
407
|
const array = loc[id];
|
|
@@ -405,15 +411,16 @@ const Locale = {
|
|
|
405
411
|
}
|
|
406
412
|
|
|
407
413
|
return undefined;
|
|
408
|
-
}
|
|
409
|
-
|
|
414
|
+
}
|
|
410
415
|
/**
|
|
411
416
|
* By default, if no translation was found, returns `id`.
|
|
412
417
|
* @param {string} id Message ID to translate
|
|
413
418
|
* @param {string} [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
|
|
414
419
|
* @return {string}
|
|
415
420
|
*/
|
|
416
|
-
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
static gettext(id, locale) {
|
|
417
424
|
const text = this.lookupTranslation(id, locale);
|
|
418
425
|
|
|
419
426
|
if (typeof text == 'undefined') {
|
|
@@ -421,21 +428,21 @@ const Locale = {
|
|
|
421
428
|
}
|
|
422
429
|
|
|
423
430
|
return text;
|
|
424
|
-
}
|
|
425
|
-
|
|
431
|
+
}
|
|
426
432
|
/**
|
|
427
433
|
* Register locale translations.
|
|
428
434
|
* @param {string} locale Locale name (i.e.: `'he'`, `'fr'`)
|
|
429
435
|
* @param {LocaleDate} data parsed data from a `.po` file.
|
|
430
436
|
*/
|
|
431
|
-
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
static addLocale(locale, data) {
|
|
432
440
|
if (typeof data.contexts !== 'object' || typeof data.contexts[''] !== 'object') {
|
|
433
441
|
throw new TypeError(`Locale '${locale}' invalid compact format`);
|
|
434
442
|
}
|
|
435
443
|
|
|
436
444
|
this.locales[locale.toLowerCase()] = data.contexts[''];
|
|
437
|
-
}
|
|
438
|
-
|
|
445
|
+
}
|
|
439
446
|
/**
|
|
440
447
|
* Activates a locale. Throws an error if the locale has not been previously added.
|
|
441
448
|
* After setting the locale to be used, all strings marked for translations
|
|
@@ -443,7 +450,9 @@ const Locale = {
|
|
|
443
450
|
* @param {string} locale Locale name (i.e: `'he'`, `'fr'`)
|
|
444
451
|
* @return {LocaleData}
|
|
445
452
|
*/
|
|
446
|
-
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
static useLocale(locale) {
|
|
447
456
|
const locale0 = locale.toLowerCase();
|
|
448
457
|
const obj = this.locales[locale0];
|
|
449
458
|
|
|
@@ -454,30 +463,33 @@ const Locale = {
|
|
|
454
463
|
this.activeName = alias[locale0] || locale0;
|
|
455
464
|
this.activeLocale = obj;
|
|
456
465
|
return this.activeLocale;
|
|
457
|
-
}
|
|
458
|
-
|
|
466
|
+
}
|
|
459
467
|
/**
|
|
460
468
|
* Returns the name of the active locale (i.e. 'he', 'ashkenazi', 'fr')
|
|
461
469
|
* @return {string}
|
|
462
470
|
*/
|
|
463
|
-
getLocaleName: function getLocaleName() {
|
|
464
|
-
return this.activeName;
|
|
465
|
-
},
|
|
466
471
|
|
|
472
|
+
|
|
473
|
+
static getLocaleName() {
|
|
474
|
+
return this.activeName;
|
|
475
|
+
}
|
|
467
476
|
/**
|
|
468
477
|
* Returns the names of registered locales
|
|
469
478
|
* @return {string[]}
|
|
470
479
|
*/
|
|
471
|
-
getLocaleNames: function getLocaleNames() {
|
|
472
|
-
return Object.keys(this.locales).sort();
|
|
473
|
-
},
|
|
474
480
|
|
|
481
|
+
|
|
482
|
+
static getLocaleNames() {
|
|
483
|
+
return Object.keys(this.locales).sort();
|
|
484
|
+
}
|
|
475
485
|
/**
|
|
476
486
|
* @param {number} n
|
|
477
487
|
* @param {string} [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
|
|
478
488
|
* @return {string}
|
|
479
489
|
*/
|
|
480
|
-
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
static ordinal(n, locale) {
|
|
481
493
|
const locale1 = locale && locale.toLowerCase();
|
|
482
494
|
const locale0 = locale1 || this.activeName;
|
|
483
495
|
|
|
@@ -506,28 +518,31 @@ const Locale = {
|
|
|
506
518
|
default:
|
|
507
519
|
return n + '.';
|
|
508
520
|
}
|
|
509
|
-
}
|
|
510
|
-
|
|
521
|
+
}
|
|
511
522
|
/**
|
|
512
523
|
* @private
|
|
513
524
|
* @param {number} n
|
|
514
525
|
* @return {string}
|
|
515
526
|
*/
|
|
516
|
-
|
|
527
|
+
|
|
528
|
+
|
|
529
|
+
static getEnOrdinal(n) {
|
|
517
530
|
const s = ['th', 'st', 'nd', 'rd'];
|
|
518
531
|
const v = n % 100;
|
|
519
532
|
return n + (s[(v - 20) % 10] || s[v] || s[0]);
|
|
520
|
-
}
|
|
521
|
-
|
|
533
|
+
}
|
|
522
534
|
/**
|
|
523
535
|
* Removes nekudot from Hebrew string
|
|
524
536
|
* @param {string} str
|
|
525
537
|
* @return {string}
|
|
526
538
|
*/
|
|
527
|
-
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
static hebrewStripNikkud(str) {
|
|
528
542
|
return str.replace(/[\u0590-\u05bd]/g, '').replace(/[\u05bf-\u05c7]/g, '');
|
|
529
543
|
}
|
|
530
|
-
|
|
544
|
+
|
|
545
|
+
}
|
|
531
546
|
Locale.addLocale('en', noopLocale);
|
|
532
547
|
Locale.addLocale('s', noopLocale);
|
|
533
548
|
Locale.addLocale('', noopLocale);
|
|
@@ -1746,9 +1761,9 @@ function getBirthdayOrAnniversary_(hyear, gdate) {
|
|
|
1746
1761
|
return new HDate(day, month, hyear);
|
|
1747
1762
|
}
|
|
1748
1763
|
|
|
1749
|
-
|
|
1764
|
+
const version="3.33.7";
|
|
1750
1765
|
|
|
1751
|
-
|
|
1766
|
+
const headers={"plural-forms":"nplurals=2; plural=(n > 1);",language:"he"};const contexts={"":{Adar:["אַדָר"],"Adar I":["אַדָר א׳"],"Adar II":["אַדָר ב׳"],Av:["אָב"],Cheshvan:["חֶשְׁוָן"],Elul:["אֱלוּל"],Iyyar:["אִיָיר"],Kislev:["כִּסְלֵו"],Nisan:["נִיסָן"],"Sh'vat":["שְׁבָט"],Sivan:["סִיוָן"],Tamuz:["תַּמּוּז"],Tevet:["טֵבֵת"],Tishrei:["תִשְׁרֵי"]}};var poHeMin = {headers:headers,contexts:contexts};
|
|
1752
1767
|
|
|
1753
1768
|
Locale.addLocale('he', poHeMin);
|
|
1754
1769
|
Locale.addLocale('h', poHeMin);
|