@hebcal/rest-api 3.8.7 → 3.10.2
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 +31 -1
- package/dist/bundle.js +86 -22
- package/dist/bundle.min.js +2 -2
- package/dist/index.js +71 -16
- package/dist/index.mjs +70 -17
- package/package.json +10 -10
- package/rest-api.d.ts +3 -1
package/README.md
CHANGED
|
@@ -66,6 +66,9 @@ Converts to lowercase and replaces non-word characters with hyphen ('-')
|
|
|
66
66
|
<dt><a href="#makeTorahMemoText">makeTorahMemoText(ev, il)</a> ⇒ <code>string</code></dt>
|
|
67
67
|
<dd><p>Makes mulit-line text that summarizes Torah & Haftarah</p>
|
|
68
68
|
</dd>
|
|
69
|
+
<dt><a href="#appendIsraelAndTracking">appendIsraelAndTracking(url, il, utmSource, utmMedium, utmCampaign)</a> ⇒ <code>string</code></dt>
|
|
70
|
+
<dd><p>Appends utm_source and utm_medium parameters to a URL</p>
|
|
71
|
+
</dd>
|
|
69
72
|
<dt><a href="#eventToCsv">eventToCsv(e, options)</a> ⇒ <code>string</code></dt>
|
|
70
73
|
<dd><p>Renders an Event as a string</p>
|
|
71
74
|
</dd>
|
|
@@ -83,6 +86,8 @@ Converts to lowercase and replaces non-word characters with hyphen ('-')
|
|
|
83
86
|
<dd></dd>
|
|
84
87
|
<dt><a href="#eventsToRss">eventsToRss(events, location, mainUrl, selfUrl, [lang], [evPubDate])</a> ⇒ <code>string</code></dt>
|
|
85
88
|
<dd></dd>
|
|
89
|
+
<dt><a href="#eventsToRss2">eventsToRss2(events, options)</a> ⇒ <code>string</code></dt>
|
|
90
|
+
<dd></dd>
|
|
86
91
|
<dt><a href="#eventToRssItem">eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainUrl)</a> ⇒ <code>string</code></dt>
|
|
87
92
|
<dd></dd>
|
|
88
93
|
<dt><a href="#eventToFullCalendar">eventToFullCalendar(ev, tzid, il)</a> ⇒ <code>Object</code></dt>
|
|
@@ -231,6 +236,21 @@ Makes mulit-line text that summarizes Torah & Haftarah
|
|
|
231
236
|
| ev | <code>Event</code> |
|
|
232
237
|
| il | <code>boolean</code> |
|
|
233
238
|
|
|
239
|
+
<a name="appendIsraelAndTracking"></a>
|
|
240
|
+
|
|
241
|
+
## appendIsraelAndTracking(url, il, utmSource, utmMedium, utmCampaign) ⇒ <code>string</code>
|
|
242
|
+
Appends utm_source and utm_medium parameters to a URL
|
|
243
|
+
|
|
244
|
+
**Kind**: global function
|
|
245
|
+
|
|
246
|
+
| Param | Type |
|
|
247
|
+
| --- | --- |
|
|
248
|
+
| url | <code>string</code> |
|
|
249
|
+
| il | <code>boolean</code> |
|
|
250
|
+
| utmSource | <code>string</code> |
|
|
251
|
+
| utmMedium | <code>string</code> |
|
|
252
|
+
| utmCampaign | <code>string</code> |
|
|
253
|
+
|
|
234
254
|
<a name="eventToCsv"></a>
|
|
235
255
|
|
|
236
256
|
## eventToCsv(e, options) ⇒ <code>string</code>
|
|
@@ -241,7 +261,7 @@ Renders an Event as a string
|
|
|
241
261
|
| Param | Type |
|
|
242
262
|
| --- | --- |
|
|
243
263
|
| e | <code>Event</code> |
|
|
244
|
-
| options | <code>
|
|
264
|
+
| options | <code>HebrewCalendar.Options</code> |
|
|
245
265
|
|
|
246
266
|
<a name="eventsToCsv"></a>
|
|
247
267
|
|
|
@@ -312,6 +332,16 @@ Converts a Hebcal event to a classic Hebcal.com JSON API object
|
|
|
312
332
|
| [lang] | <code>string</code> | <code>"en-US"</code> | language such as 'he' (default 'en-US') |
|
|
313
333
|
| [evPubDate] | <code>boolean</code> | <code>true</code> | if true, use event time as pubDate (false uses lastBuildDate) |
|
|
314
334
|
|
|
335
|
+
<a name="eventsToRss2"></a>
|
|
336
|
+
|
|
337
|
+
## eventsToRss2(events, options) ⇒ <code>string</code>
|
|
338
|
+
**Kind**: global function
|
|
339
|
+
|
|
340
|
+
| Param | Type |
|
|
341
|
+
| --- | --- |
|
|
342
|
+
| events | <code>Array.<Event></code> |
|
|
343
|
+
| options | <code>HebrewCalendar.Options</code> |
|
|
344
|
+
|
|
315
345
|
<a name="eventToRssItem"></a>
|
|
316
346
|
|
|
317
347
|
## eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainUrl) ⇒ <code>string</code>
|
package/dist/bundle.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/rest-api v3.
|
|
1
|
+
/*! @hebcal/rest-api v3.10.2 */
|
|
2
2
|
var hebcal__rest_api = (function (exports, core, leyn) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
@@ -321,7 +321,7 @@ var store$2 = sharedStore;
|
|
|
321
321
|
(shared$4.exports = function (key, value) {
|
|
322
322
|
return store$2[key] || (store$2[key] = value !== undefined ? value : {});
|
|
323
323
|
})('versions', []).push({
|
|
324
|
-
version: '3.19.
|
|
324
|
+
version: '3.19.3',
|
|
325
325
|
mode: 'global',
|
|
326
326
|
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
|
327
327
|
});
|
|
@@ -987,27 +987,37 @@ var regexpFlags$1 = function () {
|
|
|
987
987
|
return result;
|
|
988
988
|
};
|
|
989
989
|
|
|
990
|
-
var regexpStickyHelpers = {};
|
|
991
|
-
|
|
992
990
|
var fails$2 = fails$8;
|
|
993
991
|
var global$3 = global$q;
|
|
994
992
|
|
|
995
993
|
// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
|
|
996
994
|
var $RegExp$2 = global$3.RegExp;
|
|
997
995
|
|
|
998
|
-
|
|
996
|
+
var UNSUPPORTED_Y$1 = fails$2(function () {
|
|
999
997
|
var re = $RegExp$2('a', 'y');
|
|
1000
998
|
re.lastIndex = 2;
|
|
1001
999
|
return re.exec('abcd') != null;
|
|
1002
1000
|
});
|
|
1003
1001
|
|
|
1004
|
-
|
|
1002
|
+
// UC Browser bug
|
|
1003
|
+
// https://github.com/zloirock/core-js/issues/1008
|
|
1004
|
+
var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$2(function () {
|
|
1005
|
+
return !$RegExp$2('a', 'y').sticky;
|
|
1006
|
+
});
|
|
1007
|
+
|
|
1008
|
+
var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$2(function () {
|
|
1005
1009
|
// https://bugzilla.mozilla.org/show_bug.cgi?id=773687
|
|
1006
1010
|
var re = $RegExp$2('^r', 'gy');
|
|
1007
1011
|
re.lastIndex = 2;
|
|
1008
1012
|
return re.exec('str') != null;
|
|
1009
1013
|
});
|
|
1010
1014
|
|
|
1015
|
+
var regexpStickyHelpers = {
|
|
1016
|
+
BROKEN_CARET: BROKEN_CARET,
|
|
1017
|
+
MISSED_STICKY: MISSED_STICKY,
|
|
1018
|
+
UNSUPPORTED_Y: UNSUPPORTED_Y$1
|
|
1019
|
+
};
|
|
1020
|
+
|
|
1011
1021
|
var internalObjectKeys = objectKeysInternal;
|
|
1012
1022
|
var enumBugKeys$1 = enumBugKeys$3;
|
|
1013
1023
|
|
|
@@ -1178,7 +1188,7 @@ var UPDATES_LAST_INDEX_WRONG = (function () {
|
|
|
1178
1188
|
return re1.lastIndex !== 0 || re2.lastIndex !== 0;
|
|
1179
1189
|
})();
|
|
1180
1190
|
|
|
1181
|
-
var UNSUPPORTED_Y = stickyHelpers.
|
|
1191
|
+
var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;
|
|
1182
1192
|
|
|
1183
1193
|
// nonparticipating capturing group, copied from es5-shim's String#split patch.
|
|
1184
1194
|
var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
|
@@ -1186,7 +1196,6 @@ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
|
|
1186
1196
|
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
|
|
1187
1197
|
|
|
1188
1198
|
if (PATCH) {
|
|
1189
|
-
// eslint-disable-next-line max-statements -- TODO
|
|
1190
1199
|
patchedExec = function exec(string) {
|
|
1191
1200
|
var re = this;
|
|
1192
1201
|
var state = getInternalState(re);
|
|
@@ -1494,6 +1503,10 @@ function getCalendarTitle(events, options) {
|
|
|
1494
1503
|
title += ' Diaspora';
|
|
1495
1504
|
}
|
|
1496
1505
|
|
|
1506
|
+
if (options.subscribe == '1') {
|
|
1507
|
+
return title;
|
|
1508
|
+
}
|
|
1509
|
+
|
|
1497
1510
|
if (options.isHebrewYear || events.length == 0) {
|
|
1498
1511
|
title += ' ' + options.year;
|
|
1499
1512
|
} else {
|
|
@@ -1907,10 +1920,12 @@ function formatLeyningResult(reading) {
|
|
|
1907
1920
|
* @param {boolean} il
|
|
1908
1921
|
* @param {string} tzid
|
|
1909
1922
|
* @param {string} mainUrl
|
|
1923
|
+
* @param {string} utmSource
|
|
1924
|
+
* @param {string} utmMedium
|
|
1910
1925
|
* @return {string[]}
|
|
1911
1926
|
*/
|
|
1912
1927
|
|
|
1913
|
-
function getLinkAndGuid(ev, il, tzid, mainUrl) {
|
|
1928
|
+
function getLinkAndGuid(ev, il, tzid, mainUrl, utmSource, utmMedium) {
|
|
1914
1929
|
let link;
|
|
1915
1930
|
let guid;
|
|
1916
1931
|
const dt = ev.eventTime || ev.getDate().greg();
|
|
@@ -1922,11 +1937,11 @@ function getLinkAndGuid(ev, il, tzid, mainUrl) {
|
|
|
1922
1937
|
const url0 = ev.url();
|
|
1923
1938
|
|
|
1924
1939
|
if (url0) {
|
|
1925
|
-
link = appendIsraelAndTracking(url0, il,
|
|
1940
|
+
link = appendIsraelAndTracking(url0, il, utmSource, utmMedium).replace(/&/g, '&');
|
|
1926
1941
|
guid = "".concat(url0, "#").concat(anchor);
|
|
1927
1942
|
} else {
|
|
1928
1943
|
const url1 = "".concat(mainUrl, "&dt=").concat(dtStr);
|
|
1929
|
-
const url = appendIsraelAndTracking(url1, il,
|
|
1944
|
+
const url = appendIsraelAndTracking(url1, il, utmSource, utmMedium).replace(/&/g, '&');
|
|
1930
1945
|
guid = url1.replace(/&/g, '&') + "#".concat(anchor);
|
|
1931
1946
|
link = "".concat(url, "#").concat(anchor);
|
|
1932
1947
|
}
|
|
@@ -1948,20 +1963,55 @@ function eventsToRss(events, location, mainUrl, selfUrl) {
|
|
|
1948
1963
|
let lang = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'en-US';
|
|
1949
1964
|
let evPubDate = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;
|
|
1950
1965
|
const cityDescr = location.getName();
|
|
1951
|
-
const
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1966
|
+
const options = {
|
|
1967
|
+
location,
|
|
1968
|
+
mainUrl,
|
|
1969
|
+
selfUrl,
|
|
1970
|
+
lang,
|
|
1971
|
+
evPubDate,
|
|
1972
|
+
title: core.Locale.gettext('Shabbat') + " Times for ".concat(cityDescr),
|
|
1973
|
+
description: "Weekly Shabbat candle lighting times for ".concat(cityDescr),
|
|
1974
|
+
utmSource: 'shabbat1c',
|
|
1975
|
+
utmMedium: 'rss'
|
|
1976
|
+
};
|
|
1977
|
+
return eventsToRss2(events, options);
|
|
1978
|
+
}
|
|
1979
|
+
const localeToLg = {
|
|
1980
|
+
's': 'en',
|
|
1981
|
+
'a': 'en',
|
|
1982
|
+
'he-x-NoNikud': 'he',
|
|
1983
|
+
'h': 'he',
|
|
1984
|
+
'ah': 'en',
|
|
1985
|
+
'sh': 'en'
|
|
1986
|
+
};
|
|
1987
|
+
/**
|
|
1988
|
+
* @param {Event[]} events
|
|
1989
|
+
* @param {HebrewCalendar.Options} options
|
|
1990
|
+
* @return {string}
|
|
1991
|
+
*/
|
|
1992
|
+
|
|
1993
|
+
function eventsToRss2(events, options) {
|
|
1994
|
+
options.dayFormat = new Intl.DateTimeFormat('en-US', {
|
|
1955
1995
|
weekday: 'long',
|
|
1956
1996
|
day: '2-digit',
|
|
1957
1997
|
month: 'long',
|
|
1958
1998
|
year: 'numeric'
|
|
1959
1999
|
});
|
|
1960
|
-
const
|
|
1961
|
-
|
|
1962
|
-
|
|
2000
|
+
const location = options.location;
|
|
2001
|
+
const mainUrl = options.mainUrl;
|
|
2002
|
+
const buildDate = options.buildDate = options.buildDate || new Date();
|
|
2003
|
+
const thisYear = buildDate.getFullYear();
|
|
2004
|
+
const lastBuildDate = options.lastBuildDate = buildDate.toUTCString();
|
|
2005
|
+
const title = options.title || getCalendarTitle(events, options);
|
|
2006
|
+
const description = options.description || title;
|
|
2007
|
+
const utmSource = options.utmSource || 'shabbat1c';
|
|
2008
|
+
const utmMedium = options.utmMedium || 'rss';
|
|
2009
|
+
const mainUrlEsc = appendIsraelAndTracking(mainUrl, location && location.getIsrael(), utmSource, utmMedium, options.utmCampaign).replace(/&/g, '&');
|
|
2010
|
+
const selfUrlEsc = options.selfUrl.replace(/&/g, '&');
|
|
2011
|
+
const lang = options.lang || localeToLg[options.locale] || options.locale || 'en-US';
|
|
2012
|
+
let str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rss version=\"2.0\" xmlns:geo=\"http://www.w3.org/2003/01/geo/wgs84_pos#\" xmlns:atom=\"http://www.w3.org/2005/Atom\">\n<channel>\n<title>".concat(title, "</title>\n<link>").concat(mainUrlEsc, "</link>\n<atom:link href=\"").concat(selfUrlEsc, "\" rel=\"self\" type=\"application/rss+xml\" />\n<description>").concat(description, "</description>\n<language>").concat(lang, "</language>\n<copyright>Copyright (c) ").concat(thisYear, " Michael J. Radwin. All rights reserved.</copyright>\n<lastBuildDate>").concat(lastBuildDate, "</lastBuildDate>\n");
|
|
1963
2013
|
events.forEach(ev => {
|
|
1964
|
-
str +=
|
|
2014
|
+
str += eventToRssItem2(ev, options);
|
|
1965
2015
|
});
|
|
1966
2016
|
str += '</channel>\n</rss>\n';
|
|
1967
2017
|
return str;
|
|
@@ -1988,6 +2038,16 @@ function getPubDate(ev, evPubDate, evDate, lastBuildDate) {
|
|
|
1988
2038
|
|
|
1989
2039
|
return lastBuildDate;
|
|
1990
2040
|
}
|
|
2041
|
+
/**
|
|
2042
|
+
* @param {Event} ev
|
|
2043
|
+
* @param {HebrewCalendar.Options} options
|
|
2044
|
+
* @return {string}
|
|
2045
|
+
*/
|
|
2046
|
+
|
|
2047
|
+
|
|
2048
|
+
function eventToRssItem2(ev, options) {
|
|
2049
|
+
return eventToRssItem(ev, options.evPubDate, options.lastBuildDate, options.dayFormat, options.location, options.mainUrl, options);
|
|
2050
|
+
}
|
|
1991
2051
|
/**
|
|
1992
2052
|
* @param {Event} ev
|
|
1993
2053
|
* @param {boolean} evPubDate
|
|
@@ -1995,17 +2055,19 @@ function getPubDate(ev, evPubDate, evDate, lastBuildDate) {
|
|
|
1995
2055
|
* @param {Intl.DateTimeFormat} dayFormat
|
|
1996
2056
|
* @param {Location} location
|
|
1997
2057
|
* @param {string} mainUrl
|
|
2058
|
+
* @param {HebrewCalendar.Options} [options]
|
|
1998
2059
|
* @return {string}
|
|
1999
2060
|
*/
|
|
2000
2061
|
|
|
2001
|
-
|
|
2002
|
-
function eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainUrl) {
|
|
2062
|
+
function eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainUrl, options) {
|
|
2003
2063
|
let subj = ev.render();
|
|
2004
2064
|
const evDate = ev.getDate().greg();
|
|
2005
2065
|
const pubDate = getPubDate(ev, evPubDate, evDate, lastBuildDate);
|
|
2006
2066
|
const il = location ? location.getIsrael() : false;
|
|
2007
2067
|
const tzid = location ? location.getTzid() : 'UTC';
|
|
2008
|
-
const
|
|
2068
|
+
const utmSource = options && options.utmSource || 'shabbat1c';
|
|
2069
|
+
const utmMedium = options && options.utmMedium || 'rss';
|
|
2070
|
+
const linkGuid = getLinkAndGuid(ev, il, tzid, mainUrl, utmSource, utmMedium);
|
|
2009
2071
|
const link = linkGuid[0];
|
|
2010
2072
|
const guid = linkGuid[1];
|
|
2011
2073
|
const categories = getEventCategories(ev);
|
|
@@ -2094,9 +2156,11 @@ exports.eventToClassicApiObject = eventToClassicApiObject;
|
|
|
2094
2156
|
exports.eventToCsv = eventToCsv;
|
|
2095
2157
|
exports.eventToFullCalendar = eventToFullCalendar;
|
|
2096
2158
|
exports.eventToRssItem = eventToRssItem;
|
|
2159
|
+
exports.eventToRssItem2 = eventToRssItem2;
|
|
2097
2160
|
exports.eventsToClassicApi = eventsToClassicApi;
|
|
2098
2161
|
exports.eventsToCsv = eventsToCsv;
|
|
2099
2162
|
exports.eventsToRss = eventsToRss;
|
|
2163
|
+
exports.eventsToRss2 = eventsToRss2;
|
|
2100
2164
|
exports.getCalendarTitle = getCalendarTitle;
|
|
2101
2165
|
exports.getDownloadFilename = getDownloadFilename;
|
|
2102
2166
|
exports.getEventCategories = getEventCategories;
|
package/dist/bundle.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @hebcal/rest-api v3.
|
|
2
|
-
var hebcal__rest_api=function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var r=n(hebcal__leyning),o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},i=function(e){return e&&e.Math==Math&&e},s=i("object"==typeof globalThis&&globalThis)||i("object"==typeof window&&window)||i("object"==typeof self&&self)||i("object"==typeof o&&o)||function(){return this}()||Function("return this")(),h={},c=function(e){try{return!!e()}catch(e){return!0}},l=!c((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u=Function.prototype.call,d=u.bind?u.bind(u):function(){return u.apply(u,arguments)},f={},m={}.propertyIsEnumerable,g=Object.getOwnPropertyDescriptor,b=g&&!m.call({1:2},1);f.f=b?function(e){var t=g(this,e);return!!t&&t.enumerable}:m;var y,p,v=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},S=Function.prototype,w=S.bind,A=S.call,H=w&&w.bind(A),T=w?function(e){return e&&H(A,e)}:function(e){return e&&function(){return A.apply(e,arguments)}},C=T,I=C({}.toString),R=C("".slice),O=function(e){return R(I(e),8,-1)},E=T,M=c,B=O,P=s.Object,D=E("".split),F=M((function(){return!P("z").propertyIsEnumerable(0)}))?function(e){return"String"==B(e)?D(e,""):P(e)}:P,k=s.TypeError,N=function(e){if(null==e)throw k("Can't call method on "+e);return e},L=F,x=N,G=function(e){return L(x(e))},j=function(e){return"function"==typeof e},Y=j,_=function(e){return"object"==typeof e?null!==e:Y(e)},z=s,U=j,K=function(e){return U(e)?e:void 0},J=function(e,t){return arguments.length<2?K(z[e]):z[e]&&z[e][t]},Z=T({}.isPrototypeOf),W=s,V=J("navigator","userAgent")||"",$=W.process,q=W.Deno,Q=$&&$.versions||q&&q.version,X=Q&&Q.v8;X&&(p=(y=X.split("."))[0]>0&&y[0]<4?1:+(y[0]+y[1])),!p&&V&&(!(y=V.match(/Edge\/(\d+)/))||y[1]>=74)&&(y=V.match(/Chrome\/(\d+)/))&&(p=+y[1]);var ee=p,te=c,ae=!!Object.getOwnPropertySymbols&&!te((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&ee&&ee<41})),ne=ae&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,re=J,oe=j,ie=Z,se=ne,he=s.Object,ce=se?function(e){return"symbol"==typeof e}:function(e){var t=re("Symbol");return oe(t)&&ie(t.prototype,he(e))},le=s.String,ue=j,de=function(e){try{return le(e)}catch(e){return"Object"}},fe=s.TypeError,me=function(e){if(ue(e))return e;throw fe(de(e)+" is not a function")},ge=d,be=j,ye=_,pe=s.TypeError,ve={exports:{}},Se=s,we=Object.defineProperty,Ae=function(e,t){try{we(Se,e,{value:t,configurable:!0,writable:!0})}catch(a){Se[e]=t}return t},He=Ae,Te="__core-js_shared__",Ce=s[Te]||He(Te,{}),Ie=Ce;(ve.exports=function(e,t){return Ie[e]||(Ie[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.1",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var Re=N,Oe=s.Object,Ee=function(e){return Oe(Re(e))},Me=T({}.hasOwnProperty),Be=Object.hasOwn||function(e,t){return Me(Ee(e),t)},Pe=T,De=0,Fe=Math.random(),ke=Pe(1..toString),Ne=function(e){return"Symbol("+(void 0===e?"":e)+")_"+ke(++De+Fe,36)},Le=s,xe=ve.exports,Ge=Be,je=Ne,Ye=ae,_e=ne,ze=xe("wks"),Ue=Le.Symbol,Ke=Ue&&Ue.for,Je=_e?Ue:Ue&&Ue.withoutSetter||je,Ze=function(e){if(!Ge(ze,e)||!Ye&&"string"!=typeof ze[e]){var t="Symbol."+e;Ye&&Ge(Ue,e)?ze[e]=Ue[e]:ze[e]=_e&&Ke?Ke(t):Je(t)}return ze[e]},We=d,Ve=_,$e=ce,qe=function(e,t){var a=e[t];return null==a?void 0:me(a)},Qe=function(e,t){var a,n;if("string"===t&&be(a=e.toString)&&!ye(n=ge(a,e)))return n;if(be(a=e.valueOf)&&!ye(n=ge(a,e)))return n;if("string"!==t&&be(a=e.toString)&&!ye(n=ge(a,e)))return n;throw pe("Can't convert object to primitive value")},Xe=Ze,et=s.TypeError,tt=Xe("toPrimitive"),at=function(e,t){if(!Ve(e)||$e(e))return e;var a,n=qe(e,tt);if(n){if(void 0===t&&(t="default"),a=We(n,e,t),!Ve(a)||$e(a))return a;throw et("Can't convert object to primitive value")}return void 0===t&&(t="number"),Qe(e,t)},nt=ce,rt=function(e){var t=at(e,"string");return nt(t)?t:t+""},ot=_,it=s.document,st=ot(it)&&ot(it.createElement),ht=function(e){return st?it.createElement(e):{}},ct=ht,lt=!l&&!c((function(){return 7!=Object.defineProperty(ct("div"),"a",{get:function(){return 7}}).a})),ut=l,dt=d,ft=f,mt=v,gt=G,bt=rt,yt=Be,pt=lt,vt=Object.getOwnPropertyDescriptor;h.f=ut?vt:function(e,t){if(e=gt(e),t=bt(t),pt)try{return vt(e,t)}catch(e){}if(yt(e,t))return mt(!dt(ft.f,e,t),e[t])};var St={},wt=s,At=_,Ht=wt.String,Tt=wt.TypeError,Ct=function(e){if(At(e))return e;throw Tt(Ht(e)+" is not an object")},It=l,Rt=lt,Ot=Ct,Et=rt,Mt=s.TypeError,Bt=Object.defineProperty;St.f=It?Bt:function(e,t,a){if(Ot(e),t=Et(t),Ot(a),Rt)try{return Bt(e,t,a)}catch(e){}if("get"in a||"set"in a)throw Mt("Accessors not supported");return"value"in a&&(e[t]=a.value),e};var Pt=St,Dt=v,Ft=l?function(e,t,a){return Pt.f(e,t,Dt(1,a))}:function(e,t,a){return e[t]=a,e},kt={exports:{}},Nt=j,Lt=Ce,xt=T(Function.toString);Nt(Lt.inspectSource)||(Lt.inspectSource=function(e){return xt(e)});var Gt,jt,Yt,_t=Lt.inspectSource,zt=j,Ut=_t,Kt=s.WeakMap,Jt=zt(Kt)&&/native code/.test(Ut(Kt)),Zt=ve.exports,Wt=Ne,Vt=Zt("keys"),$t=function(e){return Vt[e]||(Vt[e]=Wt(e))},qt={},Qt=Jt,Xt=s,ea=T,ta=_,aa=Ft,na=Be,ra=Ce,oa=$t,ia=qt,sa="Object already initialized",ha=Xt.TypeError,ca=Xt.WeakMap;if(Qt||ra.state){var la=ra.state||(ra.state=new ca),ua=ea(la.get),da=ea(la.has),fa=ea(la.set);Gt=function(e,t){if(da(la,e))throw new ha(sa);return t.facade=e,fa(la,e,t),t},jt=function(e){return ua(la,e)||{}},Yt=function(e){return da(la,e)}}else{var ma=oa("state");ia[ma]=!0,Gt=function(e,t){if(na(e,ma))throw new ha(sa);return t.facade=e,aa(e,ma,t),t},jt=function(e){return na(e,ma)?e[ma]:{}},Yt=function(e){return na(e,ma)}}var ga={set:Gt,get:jt,has:Yt,enforce:function(e){return Yt(e)?jt(e):Gt(e,{})},getterFor:function(e){return function(t){var a;if(!ta(t)||(a=jt(t)).type!==e)throw ha("Incompatible receiver, "+e+" required");return a}}},ba=l,ya=Be,pa=Function.prototype,va=ba&&Object.getOwnPropertyDescriptor,Sa=ya(pa,"name"),wa=Sa&&"something"===function(){}.name,Aa=Sa&&(!ba||ba&&va(pa,"name").configurable),Ha=s,Ta=j,Ca=Be,Ia=Ft,Ra=Ae,Oa=_t,Ea={EXISTS:Sa,PROPER:wa,CONFIGURABLE:Aa}.CONFIGURABLE,Ma=ga.get,Ba=ga.enforce,Pa=String(String).split("String");(kt.exports=function(e,t,a,n){var r,o=!!n&&!!n.unsafe,i=!!n&&!!n.enumerable,s=!!n&&!!n.noTargetGet,h=n&&void 0!==n.name?n.name:t;Ta(a)&&("Symbol("===String(h).slice(0,7)&&(h="["+String(h).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!Ca(a,"name")||Ea&&a.name!==h)&&Ia(a,"name",h),(r=Ba(a)).source||(r.source=Pa.join("string"==typeof h?h:""))),e!==Ha?(o?!s&&e[t]&&(i=!0):delete e[t],i?e[t]=a:Ia(e,t,a)):i?e[t]=a:Ra(t,a)})(Function.prototype,"toString",(function(){return Ta(this)&&Ma(this).source||Oa(this)}));var Da={},Fa=Math.ceil,ka=Math.floor,Na=function(e){var t=+e;return t!=t||0===t?0:(t>0?ka:Fa)(t)},La=Na,xa=Math.max,Ga=Math.min,ja=Na,Ya=Math.min,_a=function(e){return e>0?Ya(ja(e),9007199254740991):0},za=G,Ua=function(e,t){var a=La(e);return a<0?xa(a+t,0):Ga(a,t)},Ka=function(e){return _a(e.length)},Ja=function(e){return function(t,a,n){var r,o=za(t),i=Ka(o),s=Ua(n,i);if(e&&a!=a){for(;i>s;)if((r=o[s++])!=r)return!0}else for(;i>s;s++)if((e||s in o)&&o[s]===a)return e||s||0;return!e&&-1}},Za={includes:Ja(!0),indexOf:Ja(!1)},Wa=Be,Va=G,$a=Za.indexOf,qa=qt,Qa=T([].push),Xa=function(e,t){var a,n=Va(e),r=0,o=[];for(a in n)!Wa(qa,a)&&Wa(n,a)&&Qa(o,a);for(;t.length>r;)Wa(n,a=t[r++])&&(~$a(o,a)||Qa(o,a));return o},en=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],tn=Xa,an=en.concat("length","prototype");Da.f=Object.getOwnPropertyNames||function(e){return tn(e,an)};var nn={};nn.f=Object.getOwnPropertySymbols;var rn=J,on=Da,sn=nn,hn=Ct,cn=T([].concat),ln=rn("Reflect","ownKeys")||function(e){var t=on.f(hn(e)),a=sn.f;return a?cn(t,a(e)):t},un=Be,dn=ln,fn=h,mn=St,gn=c,bn=j,yn=/#|\.prototype\./,pn=function(e,t){var a=Sn[vn(e)];return a==An||a!=wn&&(bn(t)?gn(t):!!t)},vn=pn.normalize=function(e){return String(e).replace(yn,".").toLowerCase()},Sn=pn.data={},wn=pn.NATIVE="N",An=pn.POLYFILL="P",Hn=pn,Tn=s,Cn=h.f,In=Ft,Rn=kt.exports,On=Ae,En=function(e,t){for(var a=dn(t),n=mn.f,r=fn.f,o=0;o<a.length;o++){var i=a[o];un(e,i)||n(e,i,r(t,i))}},Mn=Hn,Bn={};Bn[Ze("toStringTag")]="z";var Pn=s,Dn="[object z]"===String(Bn),Fn=j,kn=O,Nn=Ze("toStringTag"),Ln=Pn.Object,xn="Arguments"==kn(function(){return arguments}()),Gn=Dn?kn:function(e){var t,a,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(a=function(e,t){try{return e[t]}catch(e){}}(t=Ln(e),Nn))?a:xn?kn(t):"Object"==(n=kn(t))&&Fn(t.callee)?"Arguments":n},jn=s.String,Yn=Ct,_n={},zn=c,Un=s.RegExp;_n.UNSUPPORTED_Y=zn((function(){var e=Un("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),_n.BROKEN_CARET=zn((function(){var e=Un("^r","gy");return e.lastIndex=2,null!=e.exec("str")}));var Kn,Jn=Xa,Zn=en,Wn=Object.keys||function(e){return Jn(e,Zn)},Vn=St,$n=Ct,qn=G,Qn=Wn,Xn=l?Object.defineProperties:function(e,t){$n(e);for(var a,n=qn(t),r=Qn(t),o=r.length,i=0;o>i;)Vn.f(e,a=r[i++],n[a]);return e},er=J("document","documentElement"),tr=Ct,ar=Xn,nr=en,rr=qt,or=er,ir=ht,sr=$t("IE_PROTO"),hr=function(){},cr=function(e){return"<script>"+e+"</"+"script>"},lr=function(e){e.write(cr("")),e.close();var t=e.parentWindow.Object;return e=null,t},ur=function(){try{Kn=new ActiveXObject("htmlfile")}catch(e){}var e,t;ur="undefined"!=typeof document?document.domain&&Kn?lr(Kn):((t=ir("iframe")).style.display="none",or.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(cr("document.F=Object")),e.close(),e.F):lr(Kn);for(var a=nr.length;a--;)delete ur.prototype[nr[a]];return ur()};rr[sr]=!0;var dr,fr,mr=Object.create||function(e,t){var a;return null!==e?(hr.prototype=tr(e),a=new hr,hr.prototype=null,a[sr]=e):a=ur(),void 0===t?a:ar(a,t)},gr=c,br=s.RegExp,yr=gr((function(){var e=br(".","s");return!(e.dotAll&&e.exec("\n")&&"s"===e.flags)})),pr=c,vr=s.RegExp,Sr=pr((function(){var e=vr("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})),wr=d,Ar=T,Hr=function(e){if("Symbol"===Gn(e))throw TypeError("Cannot convert a Symbol value to a string");return jn(e)},Tr=function(){var e=Yn(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t},Cr=_n,Ir=ve.exports,Rr=mr,Or=ga.get,Er=yr,Mr=Sr,Br=Ir("native-string-replace",String.prototype.replace),Pr=RegExp.prototype.exec,Dr=Pr,Fr=Ar("".charAt),kr=Ar("".indexOf),Nr=Ar("".replace),Lr=Ar("".slice),xr=(fr=/b*/g,wr(Pr,dr=/a/,"a"),wr(Pr,fr,"a"),0!==dr.lastIndex||0!==fr.lastIndex),Gr=Cr.UNSUPPORTED_Y||Cr.BROKEN_CARET,jr=void 0!==/()??/.exec("")[1];(xr||jr||Gr||Er||Mr)&&(Dr=function(e){var t,a,n,r,o,i,s,h=this,c=Or(h),l=Hr(e),u=c.raw;if(u)return u.lastIndex=h.lastIndex,t=wr(Dr,u,l),h.lastIndex=u.lastIndex,t;var d=c.groups,f=Gr&&h.sticky,m=wr(Tr,h),g=h.source,b=0,y=l;if(f&&(m=Nr(m,"y",""),-1===kr(m,"g")&&(m+="g"),y=Lr(l,h.lastIndex),h.lastIndex>0&&(!h.multiline||h.multiline&&"\n"!==Fr(l,h.lastIndex-1))&&(g="(?: "+g+")",y=" "+y,b++),a=new RegExp("^(?:"+g+")",m)),jr&&(a=new RegExp("^"+g+"$(?!\\s)",m)),xr&&(n=h.lastIndex),r=wr(Pr,f?a:h,y),f?r?(r.input=Lr(r.input,b),r[0]=Lr(r[0],b),r.index=h.lastIndex,h.lastIndex+=r[0].length):h.lastIndex=0:xr&&r&&(h.lastIndex=h.global?r.index+r[0].length:n),jr&&r&&r.length>1&&wr(Br,r[0],a,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r&&d)for(r.groups=i=Rr(null),o=0;o<d.length;o++)i[(s=d[o])[0]]=r[s[1]];return r});(function(e,t){var a,n,r,o,i,s=e.target,h=e.global,c=e.stat;if(a=h?Tn:c?Tn[s]||On(s,{}):(Tn[s]||{}).prototype)for(n in t){if(o=t[n],r=e.noTargetGet?(i=Cn(a,n))&&i.value:a[n],!Mn(h?n:s+(c?".":"#")+n,e.forced)&&void 0!==r){if(typeof o==typeof r)continue;En(o,r)}(e.sham||r&&r.sham)&&In(o,"sham",!0),Rn(a,n,o,e)}})({target:"RegExp",proto:!0,forced:/./.exec!==Dr},{exec:Dr});var Yr={"Asara B'Tevet":"Fast commemorating the siege of Jerusalem",Chanukah:"Hanukkah, the Jewish festival of rededication. Also known as the Festival of Lights","Days of the Omer":"7 weeks from the second night of Pesach to the day before Shavuot","Lag BaOmer":"33rd day of counting the Omer","Leil Selichot":"Prayers for forgiveness in preparation for the High Holidays","Pesach Sheni":"Second Passover, one month after Passover",Pesach:"Passover, the Feast of Unleavened Bread. Also called Chag HaMatzot (the Festival of Matzah), it commemorates the Exodus and freedom of the Israelites from ancient Egypt","Purim Katan":"Minor Purim celebration during Adar I on leap years",Purim:"Celebration of Jewish deliverance as told by Megilat Esther. It commemorates a time when the Jewish people living in Persia were saved from extermination","Rosh Chodesh Nisan":"Start of month of Nisan on the Hebrew calendar. נִיסָן (transliterated Nisan or Nissan) is the 1st month of the Hebrew year, has 30 days, and corresponds to March or April on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Iyyar":"Start of month of Iyyar on the Hebrew calendar. אִיָיר (transliterated Iyyar or Iyar) is the 2nd month of the Hebrew year, has 29 days, and corresponds to April or May on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sivan":"Start of month of Sivan on the Hebrew calendar. Sivan (סִיוָן) is the 3rd month of the Hebrew year, has 30 days, and corresponds to May or June on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tamuz":"Start of month of Tamuz on the Hebrew calendar. תַּמּוּז (transliterated Tamuz or Tammuz) is the 4th month of the Hebrew year, has 29 days, and corresponds to June or July on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Av":"Start of month of Av on the Hebrew calendar. Av (אָב) is the 5th month of the Hebrew year, has 30 days, and corresponds to July or August on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Elul":"Start of month of Elul on the Hebrew calendar. Elul (אֱלוּל) is the 6th month of the Hebrew year, has 29 days, and corresponds to August or September on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Cheshvan":"Start of month of Cheshvan on the Hebrew calendar. חֶשְׁוָן (transliterated Cheshvan or Heshvan) is the 8th month of the Hebrew year, has 29 or 30 days, and corresponds to October or November on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Kislev":"Start of month of Kislev on the Hebrew calendar. Kislev (כִּסְלֵו) is the 9th month of the Hebrew year, has 30 or 29 days, and corresponds to November or December on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tevet":"Start of month of Tevet on the Hebrew calendar. Tevet (טֵבֵת) is the 10th month of the Hebrew year, has 29 days, and corresponds to December or January on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sh'vat":"Start of month of Sh'vat on the Hebrew calendar. שְׁבָט (transliterated Sh'vat or Shevat) is the 11th month of the Hebrew year, has 30 days, and corresponds to January or February on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar":"Start of month of Adar on the Hebrew calendar. Adar (אַדָר) is the 12th month of the Hebrew year, has 29 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar I":"Start of month of Adar I (on leap years) on the Hebrew calendar. Adar I (אַדָר א׳) is the 12th month of the Hebrew year, occurs only on leap years, has 30 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar II":'Start of month of Adar II (on leap years) on the Hebrew calendar. Adar II (אַדָר ב׳), sometimes "Adar Bet" or "Adar Sheni", is the 13th month of the Hebrew year, has 29 days, occurs only on leap years, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon',"Rosh Hashana":"The Jewish New Year. Also spelled Rosh Hashanah","Rosh Hashana LaBehemot":"New Year for Tithing Animals","Shabbat Chazon":"Shabbat before Tish'a B'Av (Shabbat of Prophecy/Shabbat of Vision)","Shabbat HaChodesh":"Shabbat before Rosh Chodesh Nissan","Shabbat HaGadol":"Shabbat before Pesach","Shabbat Machar Chodesh":"When Shabbat falls the day before Rosh Chodesh","Shabbat Nachamu":"Shabbat after Tish'a B'Av (Shabbat of Consolation). The first of seven Shabbatot leading up to Rosh Hashanah. Named after the Haftarah (from Isaiah 40) which begins with the verse נַחֲמוּ נַחֲמוּ, עַמִּי (\"Comfort, oh comfort my people\")","Shabbat Parah":"Shabbat of the Red Heifer","Shabbat Rosh Chodesh":"When Shabbat falls on Rosh Chodesh","Shabbat Shekalim":"Shabbat before Rosh Chodesh Adar","Shabbat Shirah":"Shabbat of Song","Shabbat Shuva":"Shabbat that falls between Rosh Hashanah and Yom Kippur (Shabbat of Returning)","Shabbat Zachor":"Shabbat before Purim",Shavuot:"Festival of Weeks. Commemorates the giving of the Torah at Mount Sinai","Shmini Atzeret":"Eighth Day of Assembly","Shushan Purim":"Purim celebrated in Jerusalem and walled cities",Sigd:"Ethiopian Jewish holiday occurring 50 days after Yom Kippur","Simchat Torah":"Day of Celebrating the Torah",Sukkot:"Feast of Booths","Ta'anit Bechorot":"Fast of the First Born","Ta'anit Esther":"Fast of Esther","Tish'a B'Av":"The Ninth of Av. Fast commemorating the destruction of the two Temples","Tu B'Av":"Minor Jewish holiday of love. Observed on the 15th day of the Hebrew month of Av","Tu BiShvat":"New Year for Trees","Tzom Gedaliah":"Fast of the Seventh Month. Commemorates the assassination of the Jewish governor of Judah","Tzom Tammuz":"Fast commemorating breaching of the walls of Jerusalem before the destruction of the Second Temple","Yom HaAliyah":"Recognizes Aliyah, immigration to the Jewish State of Israel","Yom HaAliyah School Observance":"Aliyah Day observed in Israeli schools","Yom HaAtzma'ut":"Israeli Independence Day. Commemorates the declaration of independence of Israel in 1948. Note that Hebcal displays modern holidays like Yom HaAtzma'ut according to the Israeli schedule. Although Yom HaAtzma'ut is normally observed on the 5th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaZikaron, which always precedes it) would conflict with Shabbat","Yom HaShoah":"Holocaust Memorial Day","Yom HaZikaron":"Israeli Memorial Day. Note that Hebcal displays modern holidays like Yom HaZikaron according to the Israeli schedule. Although Yom Hazikaron is normally observed on the 4th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaAtzma'ut, which always follows it) would conflict with Shabbat","Yom Kippur":"Day of Atonement","Yom Yerushalayim":"Jerusalem Day. Commemorates the re-unification of Jerusalem in 1967"};function _r(e){return e.toLowerCase().replace(/'/g,"").replace(/[^\w]/g,"-").replace(/-+/g,"-").replace(/^-/g,"").replace(/-$/g,"")}function zr(e){return e<10?"0"+e:String(e)}function Ur(e){return e<0?"-00"+Ur(-e):e<10?"000"+e:e<100?"00"+e:e<1e3?"0"+e:String(e)}function Kr(e){return Ur(e.getFullYear())+"-"+zr(e.getMonth()+1)+"-"+zr(e.getDate())}function Jr(e){const a=e.getDesc();if("Fast begins"===a||"Fast ends"===a)return["zmanim","fast"];switch(e.getFlags()){case t.flags.OMER_COUNT:return["omer"];case t.flags.HEBREW_DATE:return["hebdate"];case t.flags.PARSHA_HASHAVUA:return["parashat"];case t.flags.DAF_YOMI:return["dafyomi"];case t.flags.ROSH_CHODESH:return["roshchodesh"];case t.flags.SPECIAL_SHABBAT:return["holiday","shabbat"];case t.flags.MINOR_FAST:return["holiday","fast"];case t.flags.MAJOR_FAST:return["holiday","fast","major"];case t.flags.MODERN_HOLIDAY:return["holiday","modern"];case t.flags.SHABBAT_MEVARCHIM:return["mevarchim"];case t.flags.MOLAD:return["molad"];case t.flags.USER_EVENT:return["user"];case t.flags.MINOR_HOLIDAY:return["holiday","minor"]}if(e.cholHaMoedDay)return["holiday","major","cholhamoed"];switch(a){case"Havdalah":return["havdalah"];case"Candle lighting":return["candles"];case"Lag BaOmer":case"Leil Selichot":case"Pesach Sheni":case"Erev Purim":case"Purim Katan":case"Shushan Purim":case"Tu B'Av":case"Tu BiShvat":case"Rosh Hashana LaBehemot":return["holiday","minor"];case"Erev Tish'a B'Av":return["holiday","fast","major"];default:return["holiday","major"]}}function Zr(e,t){let a="Hebcal";const n=t.location;if(t.yahrzeit)a+=" Yahrzeits and Anniversaries";else if(n&&n.name){const e=n.name.indexOf(",");a+=" "+(-1==e?n.name:n.name.substring(0,e))}else t.il?a+=" Israel":a+=" Diaspora";if(t.isHebrewYear||0==e.length)a+=" "+t.year;else{const t=e[0].getDate().greg(),n=e[e.length-1].getDate().greg();if(t.getFullYear()!=n.getFullYear())a+=" "+t.getFullYear()+"-"+n.getFullYear();else if(t.getMonth()==n.getMonth()){a+=" "+new Intl.DateTimeFormat("en-US",{month:"long"}).format(t)+" "+t.getFullYear()}else a+=" "+t.getFullYear()}return a}function Wr(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const a=Yr[e.getDesc()]||Yr[e.basename()]||"";if(t&&a){const e=a.indexOf(".");if(-1!=e)return a.substring(0,e)}return a}const Vr=t.flags.DAF_YOMI|t.flags.OMER_COUNT|t.flags.SHABBAT_MEVARCHIM|t.flags.MOLAD|t.flags.USER_EVENT|t.flags.HEBREW_DATE;function $r(e,a){const n=e.getFlags();if(n&Vr)return"";const o=n&t.flags.PARSHA_HASHAVUA?r.getLeyningForParshaHaShavua(e,a):r.getLeyningForHoliday(e,a);let i="";return o&&(o.summary||o.haftara)&&(o.summary&&(i+="Torah: ".concat(o.summary)),o.summary&&o.haftara&&(i+="\n"),o.haftara&&(i+="Haftarah: "+o.haftara,o.reason&&o.reason.haftara&&(i+=" | "+o.reason.haftara))),o&&o.sephardic&&(i+="\nHaftarah for Sephardim: "+o.sephardic),i}function qr(e,t,a,n,r){"https://www.hebcal.com"!==e.substring(0,22)?a="hebcal.com":t&&-1===e.indexOf("?")&&(e+="?i=on");const o=-1===e.indexOf("?")?"?":"&";return e+o+"utm_source=".concat(a,"&utm_medium=").concat(n)+(r?"&utm_campaign=".concat(r):"")}function Qr(e){if(void 0!==e.eventTime)return!0;const a=e.getFlags();if(a&t.flags.HEBREW_DATE){return 1!==e.getDate().getDate()}return!!(a&t.flags.DAF_YOMI)}const Xr='"Subject","Start Date","Start Time","End Date","End Time","All day event","Description","Show time as","Location"',eo={dafyomi:"Daf Yomi",hebdate:"Hebrew Date",holiday:"Jewish Holidays",mevarchim:null,molad:null,omer:null,parashat:"Torah Reading",roshchodesh:"Jewish Holidays",user:"Personal"};function to(e,a){const n=e.getDate().greg(),r=n.getDate(),o=n.getMonth()+1,i=String(n.getFullYear()).padStart(4,"0"),s=a.euro?'"'.concat(r,"/").concat(o,"/").concat(i,'"'):'"'.concat(o,"/").concat(r,"/").concat(i,'"');let h="",c="",l="",u='"true"';const d=Boolean(e.eventTime);let f=Qr(e)?e.renderBrief(a.locale):e.render(a.locale);if(e.eventTime){const n=t.HebrewCalendar.reformatTimeStr(e.eventTimeStr," PM",a);c=h='"'.concat(n,'"'),l=s,u='"false"'}let m="Jewish Holidays";const g=e.getFlags();if(d&&a.location&&a.location.name){const e=a.location.name,t=e.indexOf(",");m=-1===t?e:e.substring(0,t)}else if(g&t.flags.DAF_YOMI){const e=f.indexOf(": ");-1!=e&&(m=f.substring(0,e),f=f.substring(e+2))}else{const t=eo[Jr(e)[0]];t&&(m=t)}if(f=f.replace(/,/g,"").replace(/"/g,"''"),a.appendHebrewToSubject){const t=e.renderBrief("he");t&&(f+=" / ".concat(t))}let b=e.memo||Wr(e,!0);b||void 0===e.linkedEvent||(b=e.linkedEvent.render(a.locale));const y=b.replace(/,/g,";").replace(/"/g,"''"),p=d||g&t.flags.CHAG?4:3;return'"'.concat(f,'",').concat(s,",").concat(h,",").concat(l,",").concat(c,",").concat(u,',"').concat(y,'","').concat(p,'","').concat(m,'"')}var ao={AD:"Andorra",AE:"United Arab Emirates",AF:"Afghanistan",AI:"Anguilla",AL:"Albania",AM:"Armenia",AO:"Angola",AR:"Argentina",AS:"American Samoa",AT:"Austria",AU:"Australia",AW:"Aruba",AZ:"Azerbaijan",BA:"Bosnia and Herzegovina",BB:"Barbados",BD:"Bangladesh",BE:"Belgium",BF:"Burkina Faso",BG:"Bulgaria",BH:"Bahrain",BI:"Burundi",BJ:"Benin",BM:"Bermuda",BN:"Brunei",BO:"Bolivia",BR:"Brazil",BS:"Bahamas",BT:"Bhutan",BW:"Botswana",BY:"Belarus",BZ:"Belize",CA:"Canada",CD:"Democratic Republic of the Congo",CF:"Central African Republic",CG:"Republic of the Congo",CH:"Switzerland",CI:"Ivory Coast",CK:"Cook Islands",CL:"Chile",CM:"Cameroon",CN:"China",CO:"Colombia",CR:"Costa Rica",CU:"Cuba",CV:"Cape Verde",CW:"Curacao",CY:"Cyprus",CZ:"Czech Republic",DE:"Germany",DK:"Denmark",DM:"Dominica",DO:"Dominican Republic",DZ:"Algeria",EC:"Ecuador",EE:"Estonia",EG:"Egypt",ER:"Eritrea",ES:"Spain",ET:"Ethiopia",FI:"Finland",FJ:"Fiji",FK:"Falkland Islands",FO:"Faroe Islands",FR:"France",GA:"Gabon",GB:"United Kingdom",GE:"Georgia",GH:"Ghana",GI:"Gibraltar",GL:"Greenland",GM:"Gambia",GN:"Guinea",GQ:"Equatorial Guinea",GR:"Greece",GT:"Guatemala",GW:"Guinea-Bissau",GY:"Guyana",HK:"Hong Kong",HN:"Honduras",HR:"Croatia",HT:"Haiti",HU:"Hungary",ID:"Indonesia",IE:"Ireland",IL:"Israel",IM:"Isle of Man",IN:"India",IQ:"Iraq",IR:"Iran",IS:"Iceland",IT:"Italy",JM:"Jamaica",JO:"Jordan",JP:"Japan",KE:"Kenya",KG:"Kyrgyzstan",KH:"Cambodia",KM:"Comoros",KN:"Saint Kitts and Nevis",KP:"North Korea",KR:"South Korea",KW:"Kuwait",KY:"Cayman Islands",KZ:"Kazakhstan",LA:"Laos",LB:"Lebanon",LC:"Saint Lucia",LI:"Liechtenstein",LR:"Liberia",LS:"Lesotho",LT:"Lithuania",LU:"Luxembourg",LV:"Latvia",LY:"Libya",MA:"Morocco",MD:"Moldova",ME:"Montenegro",MG:"Madagascar",MK:"Macedonia",ML:"Mali",MM:"Myanmar",MN:"Mongolia",MP:"Northern Mariana Islands",MR:"Mauritania",MS:"Montserrat",MT:"Malta",MU:"Mauritius",MW:"Malawi",MX:"Mexico",MY:"Malaysia",MZ:"Mozambique",NA:"Namibia",NC:"New Caledonia",NE:"Niger",NG:"Nigeria",NI:"Nicaragua",NL:"Netherlands",NO:"Norway",NP:"Nepal",NU:"Niue",NZ:"New Zealand",OM:"Oman",PA:"Panama",PE:"Peru",PF:"French Polynesia",PG:"Papua New Guinea",PH:"Philippines",PK:"Pakistan",PL:"Poland",PR:"Puerto Rico",PT:"Portugal",PY:"Paraguay",QA:"Qatar",RO:"Romania",RS:"Serbia",RU:"Russia",RW:"Rwanda",SA:"Saudi Arabia",SB:"Solomon Islands",SC:"Seychelles",SD:"Sudan",SE:"Sweden",SG:"Singapore",SH:"Saint Helena",SI:"Slovenia",SK:"Slovakia",SL:"Sierra Leone",SN:"Senegal",SO:"Somalia",SR:"Suriname",ST:"Sao Tome and Principe",SV:"El Salvador",SY:"Syria",SZ:"Swaziland",TC:"Turks and Caicos Islands",TD:"Chad",TG:"Togo",TH:"Thailand",TJ:"Tajikistan",TM:"Turkmenistan",TN:"Tunisia",TR:"Turkey",TV:"Tuvalu",TW:"Taiwan",TZ:"Tanzania",UA:"Ukraine",UG:"Uganda",US:"United States",UY:"Uruguay",UZ:"Uzbekistan",VC:"Saint Vincent and the Grenadines",VE:"Venezuela",VG:"British Virgin Islands",VN:"Vietnam",WS:"Samoa",YE:"Yemen",YT:"Mayotte",ZA:"South Africa",ZM:"Zambia",ZW:"Zimbabwe"};function no(e,a){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const o=Boolean(e.eventTime),i=e.getDate(),s=i.greg(),h="object"==typeof a.location?a.location.getTzid():"UTC",c=o?t.Zmanim.formatISOWithTimeZone(h,e.eventTime):Kr(s),l=Jr(e),u=e.getFlags();let d=Qr(e)?e.renderBrief(a.locale):e.render(a.locale);const f=e.getDesc(),m="Havdalah"===f||"Candle lighting"===f;if(m){d+=": "+t.HebrewCalendar.reformatTimeStr(e.eventTimeStr,"pm",a)}const g={title:d,date:c,category:l[0]};l.length>1&&(g.subcat=l[1]),"holiday"===l[0]&&u&t.flags.CHAG&&(g.yomtov=!0),d!=f&&(g.title_orig=f);const b=e.renderBrief("he");if(b&&(g.hebrew=t.Locale.hebrewStripNikkud(b)),!m){if(n){const n=a.il,o=u===t.flags.PARSHA_HASHAVUA,s=o?r.getLeyningForParshaHaShavua(e,n):r.getLeyningForHoliday(e,n);if(s){g.leyning=oo(s);const t=i.getFullYear();if(o&&!n&&t>=5745&&t<=5830){const t=r.getTriennialForParshaHaShavua(e);t&&(g.leyning.triennial=ro({},t))}}}const o=e.url();if(o){const e=a.utmSource||"js",t=a.utmMedium||"api",n=a.utmCampaign;g.link=qr(o,a.il,e,t,n)}}const y=e.memo||Yr[e.basename()];return y?g.memo=y:void 0!==e.linkedEvent&&(g.memo=e.linkedEvent.render(a.locale)),g}function ro(e,t){return Object.keys(t).forEach((a=>{const n=t[a];if(void 0!==n){e["M"==a?"maftir":a]=r.formatAliyahWithBook(n)}})),e}function oo(e){const t={};return e.summary&&(t.torah=e.summary),e.haftara&&(t.haftarah=e.haftara),e.sephardic&&(t.haftarah_sephardic=e.sephardic),e.fullkriyah&&ro(t,e.fullkriyah),e.reason&&(["7","8","M"].forEach((a=>{if(e.reason[a]){t["M"==a?"maftir":a]+=" | "+e.reason[a]}})),e.reason.haftara&&(t.haftarah+=" | "+e.reason.haftara)),t}function io(e,a,n,r,o,i){let s=e.render();const h=e.getDate().greg(),c=function(e,t,a,n){if(t){const t=e.eventTime;return t?t.toUTCString():a.toUTCString().replace(/ \S+ GMT$/," 00:00:00 GMT")}return n}(e,a,h,n),l=!!o&&o.getIsrael(),u=function(e,a,n,r){let o,i;const s=e.eventTime||e.getDate().greg(),h=t.Zmanim.formatISOWithTimeZone(n,s),c=h.substring(0,h.indexOf("T")),l=c.replace(/-/g,""),u=_r(e.getDesc()),d="".concat(l,"-").concat(u),f=e.url();if(f)o=qr(f,a,"shabbat1c","rss").replace(/&/g,"&"),i="".concat(f,"#").concat(d);else{const e="".concat(r,"&dt=").concat(c),t=qr(e,a,"shabbat1c","rss").replace(/&/g,"&");i=e.replace(/&/g,"&")+"#".concat(d),o="".concat(t,"#").concat(d)}return[o,i]}(e,l,o?o.getTzid():"UTC",i),d=u[0],f=u[1],m=Jr(e)[0],g=e.getDesc();let b;if("Havdalah"===g||"Candle lighting"===g){const a=s.indexOf(": ");if(-1!=a){const n={location:o,il:l,locale:t.Locale.getLocaleName()},r=t.HebrewCalendar.reformatTimeStr(e.eventTimeStr,"pm",n);s=s.substring(0,a)+": "+r}}else b=e.getFlags()&t.flags.PARSHA_HASHAVUA?$r(e,l):e.memo||Yr[e.basename()];const y=b||r.format(h),p="candles"==m?"<geo:lat>".concat(o.getLatitude(),"</geo:lat>\n<geo:long>").concat(o.getLongitude(),"</geo:long>\n"):"";return"<item>\n<title>".concat(s,"</title>\n<link>").concat(d,'</link>\n<guid isPermaLink="false">').concat(f,"</guid>\n<description>").concat(y,"</description>\n<category>").concat(m,"</category>\n<pubDate>").concat(c,"</pubDate>\n").concat(p,"</item>\n")}return e.appendIsraelAndTracking=qr,e.countryNames=ao,e.eventToClassicApiObject=no,e.eventToCsv=to,e.eventToFullCalendar=function(e,a,n){const r=Jr(e),o=e.getFlags();"holiday"==r[0]&&o&t.flags.CHAG&&r.push("yomtov");const i=Boolean(e.eventTime),s={title:Qr(e)?e.renderBrief():e.render(),start:i?t.Zmanim.formatISOWithTimeZone(a,e.eventTime):Kr(e.getDate().greg()),allDay:!i,className:r.join(" ")},h=e.renderBrief("he");h&&(s.hebrew=t.Locale.hebrewStripNikkud(h));const c=e.url();c&&(s.url=qr(c,n,"js","fc"));const l=e.getDesc();if(!("Havdalah"===l||"Candle lighting"===l)){const a=o&t.flags.PARSHA_HASHAVUA?$r(e,n):e.memo||Yr[e.basename()];a?s.description=a:void 0!==e.linkedEvent&&(s.description=e.linkedEvent.render())}return s},e.eventToRssItem=io,e.eventsToClassicApi=function(e,t){let a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const n={title:Zr(e,t),date:(new Date).toISOString()},r=t.location;return"object"==typeof r&&"string"==typeof r.name?(n.location={title:r.getName(),city:r.getShortName(),tzid:r.getTzid(),latitude:r.getLatitude(),longitude:r.getLongitude(),cc:r.getCountryCode(),country:ao[r.getCountryCode()]},["admin1","asciiname","geo","zip","state","geonameid"].forEach((e=>{r[e]&&(n.location[e]=r[e])}))):n.location={geo:"none"},n.items=e.map((e=>no(e,t,a))),n},e.eventsToCsv=function(e,t){return[Xr].concat(e.map((e=>to(e,t)))).join("\r\n")+"\r\n"},e.eventsToRss=function(e,a,n,r){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"en-US",i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];const s=a.getName(),h=(new Date).getFullYear(),c=t.Locale.gettext("Shabbat")+" Times for "+s,l=(new Date).toUTCString(),u=new Intl.DateTimeFormat("en-US",{weekday:"long",day:"2-digit",month:"long",year:"numeric"}),d=qr(n,a.getIsrael(),"shabbat1c","rss").replace(/&/g,"&");r=r.replace(/&/g,"&");let f='<?xml version="1.0" encoding="UTF-8"?>\n<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:atom="http://www.w3.org/2005/Atom">\n<channel>\n<title>'.concat(c,"</title>\n<link>").concat(d,'</link>\n<atom:link href="').concat(r,'" rel="self" type="application/rss+xml" />\n<description>Weekly Shabbat candle lighting times for ').concat(s,"</description>\n<language>").concat(o,"</language>\n<copyright>Copyright (c) ").concat(h," Michael J. Radwin. All rights reserved.</copyright>\n<lastBuildDate>").concat(l,"</lastBuildDate>\n");return e.forEach((e=>{f+=io(e,i,l,u,a,n)})),f+="</channel>\n</rss>\n",f},e.getCalendarTitle=Zr,e.getDownloadFilename=function(e){let t="hebcal_"+e.year;if(e.isHebrewYear&&(t+="h"),e.month&&(t+="_"+e.month),e.location){t+="_"+_r(e.location.zip||e.location.asciiname||e.location.getShortName()).replace(/[-]/g,"_")}return t},e.getEventCategories=Jr,e.getHolidayDescription=Wr,e.holidayDescription=Yr,e.makeAnchor=_r,e.makeTorahMemoText=$r,e.pad2=zr,e.pad4=Ur,e.renderTitleWithoutTime=function(e){return void 0===e.eventTime?e.render():e.renderBrief()},e.shouldRenderBrief=Qr,e.timeZoneOffsetStr=function(e,a){return t.Zmanim.timeZoneOffset(e,a)},e.toISOString=Kr,e.toISOStringWithTimezone=function(e,a,n){const r=Kr(e);return a?r+"T"+a+":00"+t.Zmanim.timeZoneOffset(n,e):r},Object.defineProperty(e,"__esModule",{value:!0}),e}({},hebcal);
|
|
1
|
+
/*! @hebcal/rest-api v3.10.2 */
|
|
2
|
+
var hebcal__rest_api=function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var r=n(hebcal__leyning),o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},i=function(e){return e&&e.Math==Math&&e},s=i("object"==typeof globalThis&&globalThis)||i("object"==typeof window&&window)||i("object"==typeof self&&self)||i("object"==typeof o&&o)||function(){return this}()||Function("return this")(),h={},c=function(e){try{return!!e()}catch(e){return!0}},l=!c((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u=Function.prototype.call,d=u.bind?u.bind(u):function(){return u.apply(u,arguments)},f={},m={}.propertyIsEnumerable,g=Object.getOwnPropertyDescriptor,b=g&&!m.call({1:2},1);f.f=b?function(e){var t=g(this,e);return!!t&&t.enumerable}:m;var y,p,S=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},v=Function.prototype,w=v.bind,A=v.call,T=w&&w.bind(A),H=w?function(e){return e&&T(A,e)}:function(e){return e&&function(){return A.apply(e,arguments)}},C=H,I=C({}.toString),R=C("".slice),O=function(e){return R(I(e),8,-1)},M=H,E=c,D=O,B=s.Object,P=M("".split),F=E((function(){return!B("z").propertyIsEnumerable(0)}))?function(e){return"String"==D(e)?P(e,""):B(e)}:B,k=s.TypeError,N=function(e){if(null==e)throw k("Can't call method on "+e);return e},x=F,L=N,G=function(e){return x(L(e))},j=function(e){return"function"==typeof e},Y=j,_=function(e){return"object"==typeof e?null!==e:Y(e)},U=s,z=j,K=function(e){return z(e)?e:void 0},J=function(e,t){return arguments.length<2?K(U[e]):U[e]&&U[e][t]},Z=H({}.isPrototypeOf),W=s,V=J("navigator","userAgent")||"",$=W.process,q=W.Deno,Q=$&&$.versions||q&&q.version,X=Q&&Q.v8;X&&(p=(y=X.split("."))[0]>0&&y[0]<4?1:+(y[0]+y[1])),!p&&V&&(!(y=V.match(/Edge\/(\d+)/))||y[1]>=74)&&(y=V.match(/Chrome\/(\d+)/))&&(p=+y[1]);var ee=p,te=c,ae=!!Object.getOwnPropertySymbols&&!te((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&ee&&ee<41})),ne=ae&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,re=J,oe=j,ie=Z,se=ne,he=s.Object,ce=se?function(e){return"symbol"==typeof e}:function(e){var t=re("Symbol");return oe(t)&&ie(t.prototype,he(e))},le=s.String,ue=j,de=function(e){try{return le(e)}catch(e){return"Object"}},fe=s.TypeError,me=function(e){if(ue(e))return e;throw fe(de(e)+" is not a function")},ge=d,be=j,ye=_,pe=s.TypeError,Se={exports:{}},ve=s,we=Object.defineProperty,Ae=function(e,t){try{we(ve,e,{value:t,configurable:!0,writable:!0})}catch(a){ve[e]=t}return t},Te=Ae,He="__core-js_shared__",Ce=s[He]||Te(He,{}),Ie=Ce;(Se.exports=function(e,t){return Ie[e]||(Ie[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.3",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var Re=N,Oe=s.Object,Me=function(e){return Oe(Re(e))},Ee=H({}.hasOwnProperty),De=Object.hasOwn||function(e,t){return Ee(Me(e),t)},Be=H,Pe=0,Fe=Math.random(),ke=Be(1..toString),Ne=function(e){return"Symbol("+(void 0===e?"":e)+")_"+ke(++Pe+Fe,36)},xe=s,Le=Se.exports,Ge=De,je=Ne,Ye=ae,_e=ne,Ue=Le("wks"),ze=xe.Symbol,Ke=ze&&ze.for,Je=_e?ze:ze&&ze.withoutSetter||je,Ze=function(e){if(!Ge(Ue,e)||!Ye&&"string"!=typeof Ue[e]){var t="Symbol."+e;Ye&&Ge(ze,e)?Ue[e]=ze[e]:Ue[e]=_e&&Ke?Ke(t):Je(t)}return Ue[e]},We=d,Ve=_,$e=ce,qe=function(e,t){var a=e[t];return null==a?void 0:me(a)},Qe=function(e,t){var a,n;if("string"===t&&be(a=e.toString)&&!ye(n=ge(a,e)))return n;if(be(a=e.valueOf)&&!ye(n=ge(a,e)))return n;if("string"!==t&&be(a=e.toString)&&!ye(n=ge(a,e)))return n;throw pe("Can't convert object to primitive value")},Xe=Ze,et=s.TypeError,tt=Xe("toPrimitive"),at=function(e,t){if(!Ve(e)||$e(e))return e;var a,n=qe(e,tt);if(n){if(void 0===t&&(t="default"),a=We(n,e,t),!Ve(a)||$e(a))return a;throw et("Can't convert object to primitive value")}return void 0===t&&(t="number"),Qe(e,t)},nt=ce,rt=function(e){var t=at(e,"string");return nt(t)?t:t+""},ot=_,it=s.document,st=ot(it)&&ot(it.createElement),ht=function(e){return st?it.createElement(e):{}},ct=ht,lt=!l&&!c((function(){return 7!=Object.defineProperty(ct("div"),"a",{get:function(){return 7}}).a})),ut=l,dt=d,ft=f,mt=S,gt=G,bt=rt,yt=De,pt=lt,St=Object.getOwnPropertyDescriptor;h.f=ut?St:function(e,t){if(e=gt(e),t=bt(t),pt)try{return St(e,t)}catch(e){}if(yt(e,t))return mt(!dt(ft.f,e,t),e[t])};var vt={},wt=s,At=_,Tt=wt.String,Ht=wt.TypeError,Ct=function(e){if(At(e))return e;throw Ht(Tt(e)+" is not an object")},It=l,Rt=lt,Ot=Ct,Mt=rt,Et=s.TypeError,Dt=Object.defineProperty;vt.f=It?Dt:function(e,t,a){if(Ot(e),t=Mt(t),Ot(a),Rt)try{return Dt(e,t,a)}catch(e){}if("get"in a||"set"in a)throw Et("Accessors not supported");return"value"in a&&(e[t]=a.value),e};var Bt=vt,Pt=S,Ft=l?function(e,t,a){return Bt.f(e,t,Pt(1,a))}:function(e,t,a){return e[t]=a,e},kt={exports:{}},Nt=j,xt=Ce,Lt=H(Function.toString);Nt(xt.inspectSource)||(xt.inspectSource=function(e){return Lt(e)});var Gt,jt,Yt,_t=xt.inspectSource,Ut=j,zt=_t,Kt=s.WeakMap,Jt=Ut(Kt)&&/native code/.test(zt(Kt)),Zt=Se.exports,Wt=Ne,Vt=Zt("keys"),$t=function(e){return Vt[e]||(Vt[e]=Wt(e))},qt={},Qt=Jt,Xt=s,ea=H,ta=_,aa=Ft,na=De,ra=Ce,oa=$t,ia=qt,sa="Object already initialized",ha=Xt.TypeError,ca=Xt.WeakMap;if(Qt||ra.state){var la=ra.state||(ra.state=new ca),ua=ea(la.get),da=ea(la.has),fa=ea(la.set);Gt=function(e,t){if(da(la,e))throw new ha(sa);return t.facade=e,fa(la,e,t),t},jt=function(e){return ua(la,e)||{}},Yt=function(e){return da(la,e)}}else{var ma=oa("state");ia[ma]=!0,Gt=function(e,t){if(na(e,ma))throw new ha(sa);return t.facade=e,aa(e,ma,t),t},jt=function(e){return na(e,ma)?e[ma]:{}},Yt=function(e){return na(e,ma)}}var ga={set:Gt,get:jt,has:Yt,enforce:function(e){return Yt(e)?jt(e):Gt(e,{})},getterFor:function(e){return function(t){var a;if(!ta(t)||(a=jt(t)).type!==e)throw ha("Incompatible receiver, "+e+" required");return a}}},ba=l,ya=De,pa=Function.prototype,Sa=ba&&Object.getOwnPropertyDescriptor,va=ya(pa,"name"),wa=va&&"something"===function(){}.name,Aa=va&&(!ba||ba&&Sa(pa,"name").configurable),Ta=s,Ha=j,Ca=De,Ia=Ft,Ra=Ae,Oa=_t,Ma={EXISTS:va,PROPER:wa,CONFIGURABLE:Aa}.CONFIGURABLE,Ea=ga.get,Da=ga.enforce,Ba=String(String).split("String");(kt.exports=function(e,t,a,n){var r,o=!!n&&!!n.unsafe,i=!!n&&!!n.enumerable,s=!!n&&!!n.noTargetGet,h=n&&void 0!==n.name?n.name:t;Ha(a)&&("Symbol("===String(h).slice(0,7)&&(h="["+String(h).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!Ca(a,"name")||Ma&&a.name!==h)&&Ia(a,"name",h),(r=Da(a)).source||(r.source=Ba.join("string"==typeof h?h:""))),e!==Ta?(o?!s&&e[t]&&(i=!0):delete e[t],i?e[t]=a:Ia(e,t,a)):i?e[t]=a:Ra(t,a)})(Function.prototype,"toString",(function(){return Ha(this)&&Ea(this).source||Oa(this)}));var Pa={},Fa=Math.ceil,ka=Math.floor,Na=function(e){var t=+e;return t!=t||0===t?0:(t>0?ka:Fa)(t)},xa=Na,La=Math.max,Ga=Math.min,ja=Na,Ya=Math.min,_a=function(e){return e>0?Ya(ja(e),9007199254740991):0},Ua=G,za=function(e,t){var a=xa(e);return a<0?La(a+t,0):Ga(a,t)},Ka=function(e){return _a(e.length)},Ja=function(e){return function(t,a,n){var r,o=Ua(t),i=Ka(o),s=za(n,i);if(e&&a!=a){for(;i>s;)if((r=o[s++])!=r)return!0}else for(;i>s;s++)if((e||s in o)&&o[s]===a)return e||s||0;return!e&&-1}},Za={includes:Ja(!0),indexOf:Ja(!1)},Wa=De,Va=G,$a=Za.indexOf,qa=qt,Qa=H([].push),Xa=function(e,t){var a,n=Va(e),r=0,o=[];for(a in n)!Wa(qa,a)&&Wa(n,a)&&Qa(o,a);for(;t.length>r;)Wa(n,a=t[r++])&&(~$a(o,a)||Qa(o,a));return o},en=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],tn=Xa,an=en.concat("length","prototype");Pa.f=Object.getOwnPropertyNames||function(e){return tn(e,an)};var nn={};nn.f=Object.getOwnPropertySymbols;var rn=J,on=Pa,sn=nn,hn=Ct,cn=H([].concat),ln=rn("Reflect","ownKeys")||function(e){var t=on.f(hn(e)),a=sn.f;return a?cn(t,a(e)):t},un=De,dn=ln,fn=h,mn=vt,gn=c,bn=j,yn=/#|\.prototype\./,pn=function(e,t){var a=vn[Sn(e)];return a==An||a!=wn&&(bn(t)?gn(t):!!t)},Sn=pn.normalize=function(e){return String(e).replace(yn,".").toLowerCase()},vn=pn.data={},wn=pn.NATIVE="N",An=pn.POLYFILL="P",Tn=pn,Hn=s,Cn=h.f,In=Ft,Rn=kt.exports,On=Ae,Mn=function(e,t){for(var a=dn(t),n=mn.f,r=fn.f,o=0;o<a.length;o++){var i=a[o];un(e,i)||n(e,i,r(t,i))}},En=Tn,Dn={};Dn[Ze("toStringTag")]="z";var Bn,Pn=s,Fn="[object z]"===String(Dn),kn=j,Nn=O,xn=Ze("toStringTag"),Ln=Pn.Object,Gn="Arguments"==Nn(function(){return arguments}()),jn=Fn?Nn:function(e){var t,a,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(a=function(e,t){try{return e[t]}catch(e){}}(t=Ln(e),xn))?a:Gn?Nn(t):"Object"==(n=Nn(t))&&kn(t.callee)?"Arguments":n},Yn=s.String,_n=Ct,Un=c,zn=s.RegExp,Kn=Un((function(){var e=zn("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),Jn=Kn||Un((function(){return!zn("a","y").sticky})),Zn={BROKEN_CARET:Kn||Un((function(){var e=zn("^r","gy");return e.lastIndex=2,null!=e.exec("str")})),MISSED_STICKY:Jn,UNSUPPORTED_Y:Kn},Wn=Xa,Vn=en,$n=Object.keys||function(e){return Wn(e,Vn)},qn=vt,Qn=Ct,Xn=G,er=$n,tr=l?Object.defineProperties:function(e,t){Qn(e);for(var a,n=Xn(t),r=er(t),o=r.length,i=0;o>i;)qn.f(e,a=r[i++],n[a]);return e},ar=J("document","documentElement"),nr=Ct,rr=tr,or=en,ir=qt,sr=ar,hr=ht,cr=$t("IE_PROTO"),lr=function(){},ur=function(e){return"<script>"+e+"</"+"script>"},dr=function(e){e.write(ur("")),e.close();var t=e.parentWindow.Object;return e=null,t},fr=function(){try{Bn=new ActiveXObject("htmlfile")}catch(e){}var e,t;fr="undefined"!=typeof document?document.domain&&Bn?dr(Bn):((t=hr("iframe")).style.display="none",sr.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(ur("document.F=Object")),e.close(),e.F):dr(Bn);for(var a=or.length;a--;)delete fr.prototype[or[a]];return fr()};ir[cr]=!0;var mr,gr,br=Object.create||function(e,t){var a;return null!==e?(lr.prototype=nr(e),a=new lr,lr.prototype=null,a[cr]=e):a=fr(),void 0===t?a:rr(a,t)},yr=c,pr=s.RegExp,Sr=yr((function(){var e=pr(".","s");return!(e.dotAll&&e.exec("\n")&&"s"===e.flags)})),vr=c,wr=s.RegExp,Ar=vr((function(){var e=wr("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})),Tr=d,Hr=H,Cr=function(e){if("Symbol"===jn(e))throw TypeError("Cannot convert a Symbol value to a string");return Yn(e)},Ir=function(){var e=_n(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t},Rr=Zn,Or=Se.exports,Mr=br,Er=ga.get,Dr=Sr,Br=Ar,Pr=Or("native-string-replace",String.prototype.replace),Fr=RegExp.prototype.exec,kr=Fr,Nr=Hr("".charAt),xr=Hr("".indexOf),Lr=Hr("".replace),Gr=Hr("".slice),jr=(gr=/b*/g,Tr(Fr,mr=/a/,"a"),Tr(Fr,gr,"a"),0!==mr.lastIndex||0!==gr.lastIndex),Yr=Rr.BROKEN_CARET,_r=void 0!==/()??/.exec("")[1];(jr||_r||Yr||Dr||Br)&&(kr=function(e){var t,a,n,r,o,i,s,h=this,c=Er(h),l=Cr(e),u=c.raw;if(u)return u.lastIndex=h.lastIndex,t=Tr(kr,u,l),h.lastIndex=u.lastIndex,t;var d=c.groups,f=Yr&&h.sticky,m=Tr(Ir,h),g=h.source,b=0,y=l;if(f&&(m=Lr(m,"y",""),-1===xr(m,"g")&&(m+="g"),y=Gr(l,h.lastIndex),h.lastIndex>0&&(!h.multiline||h.multiline&&"\n"!==Nr(l,h.lastIndex-1))&&(g="(?: "+g+")",y=" "+y,b++),a=new RegExp("^(?:"+g+")",m)),_r&&(a=new RegExp("^"+g+"$(?!\\s)",m)),jr&&(n=h.lastIndex),r=Tr(Fr,f?a:h,y),f?r?(r.input=Gr(r.input,b),r[0]=Gr(r[0],b),r.index=h.lastIndex,h.lastIndex+=r[0].length):h.lastIndex=0:jr&&r&&(h.lastIndex=h.global?r.index+r[0].length:n),_r&&r&&r.length>1&&Tr(Pr,r[0],a,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r&&d)for(r.groups=i=Mr(null),o=0;o<d.length;o++)i[(s=d[o])[0]]=r[s[1]];return r});(function(e,t){var a,n,r,o,i,s=e.target,h=e.global,c=e.stat;if(a=h?Hn:c?Hn[s]||On(s,{}):(Hn[s]||{}).prototype)for(n in t){if(o=t[n],r=e.noTargetGet?(i=Cn(a,n))&&i.value:a[n],!En(h?n:s+(c?".":"#")+n,e.forced)&&void 0!==r){if(typeof o==typeof r)continue;Mn(o,r)}(e.sham||r&&r.sham)&&In(o,"sham",!0),Rn(a,n,o,e)}})({target:"RegExp",proto:!0,forced:/./.exec!==kr},{exec:kr});var Ur={"Asara B'Tevet":"Fast commemorating the siege of Jerusalem",Chanukah:"Hanukkah, the Jewish festival of rededication. Also known as the Festival of Lights","Days of the Omer":"7 weeks from the second night of Pesach to the day before Shavuot","Lag BaOmer":"33rd day of counting the Omer","Leil Selichot":"Prayers for forgiveness in preparation for the High Holidays","Pesach Sheni":"Second Passover, one month after Passover",Pesach:"Passover, the Feast of Unleavened Bread. Also called Chag HaMatzot (the Festival of Matzah), it commemorates the Exodus and freedom of the Israelites from ancient Egypt","Purim Katan":"Minor Purim celebration during Adar I on leap years",Purim:"Celebration of Jewish deliverance as told by Megilat Esther. It commemorates a time when the Jewish people living in Persia were saved from extermination","Rosh Chodesh Nisan":"Start of month of Nisan on the Hebrew calendar. נִיסָן (transliterated Nisan or Nissan) is the 1st month of the Hebrew year, has 30 days, and corresponds to March or April on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Iyyar":"Start of month of Iyyar on the Hebrew calendar. אִיָיר (transliterated Iyyar or Iyar) is the 2nd month of the Hebrew year, has 29 days, and corresponds to April or May on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sivan":"Start of month of Sivan on the Hebrew calendar. Sivan (סִיוָן) is the 3rd month of the Hebrew year, has 30 days, and corresponds to May or June on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tamuz":"Start of month of Tamuz on the Hebrew calendar. תַּמּוּז (transliterated Tamuz or Tammuz) is the 4th month of the Hebrew year, has 29 days, and corresponds to June or July on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Av":"Start of month of Av on the Hebrew calendar. Av (אָב) is the 5th month of the Hebrew year, has 30 days, and corresponds to July or August on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Elul":"Start of month of Elul on the Hebrew calendar. Elul (אֱלוּל) is the 6th month of the Hebrew year, has 29 days, and corresponds to August or September on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Cheshvan":"Start of month of Cheshvan on the Hebrew calendar. חֶשְׁוָן (transliterated Cheshvan or Heshvan) is the 8th month of the Hebrew year, has 29 or 30 days, and corresponds to October or November on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Kislev":"Start of month of Kislev on the Hebrew calendar. Kislev (כִּסְלֵו) is the 9th month of the Hebrew year, has 30 or 29 days, and corresponds to November or December on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tevet":"Start of month of Tevet on the Hebrew calendar. Tevet (טֵבֵת) is the 10th month of the Hebrew year, has 29 days, and corresponds to December or January on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sh'vat":"Start of month of Sh'vat on the Hebrew calendar. שְׁבָט (transliterated Sh'vat or Shevat) is the 11th month of the Hebrew year, has 30 days, and corresponds to January or February on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar":"Start of month of Adar on the Hebrew calendar. Adar (אַדָר) is the 12th month of the Hebrew year, has 29 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar I":"Start of month of Adar I (on leap years) on the Hebrew calendar. Adar I (אַדָר א׳) is the 12th month of the Hebrew year, occurs only on leap years, has 30 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar II":'Start of month of Adar II (on leap years) on the Hebrew calendar. Adar II (אַדָר ב׳), sometimes "Adar Bet" or "Adar Sheni", is the 13th month of the Hebrew year, has 29 days, occurs only on leap years, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon',"Rosh Hashana":"The Jewish New Year. Also spelled Rosh Hashanah","Rosh Hashana LaBehemot":"New Year for Tithing Animals","Shabbat Chazon":"Shabbat before Tish'a B'Av (Shabbat of Prophecy/Shabbat of Vision)","Shabbat HaChodesh":"Shabbat before Rosh Chodesh Nissan","Shabbat HaGadol":"Shabbat before Pesach","Shabbat Machar Chodesh":"When Shabbat falls the day before Rosh Chodesh","Shabbat Nachamu":"Shabbat after Tish'a B'Av (Shabbat of Consolation). The first of seven Shabbatot leading up to Rosh Hashanah. Named after the Haftarah (from Isaiah 40) which begins with the verse נַחֲמוּ נַחֲמוּ, עַמִּי (\"Comfort, oh comfort my people\")","Shabbat Parah":"Shabbat of the Red Heifer","Shabbat Rosh Chodesh":"When Shabbat falls on Rosh Chodesh","Shabbat Shekalim":"Shabbat before Rosh Chodesh Adar","Shabbat Shirah":"Shabbat of Song","Shabbat Shuva":"Shabbat that falls between Rosh Hashanah and Yom Kippur (Shabbat of Returning)","Shabbat Zachor":"Shabbat before Purim",Shavuot:"Festival of Weeks. Commemorates the giving of the Torah at Mount Sinai","Shmini Atzeret":"Eighth Day of Assembly","Shushan Purim":"Purim celebrated in Jerusalem and walled cities",Sigd:"Ethiopian Jewish holiday occurring 50 days after Yom Kippur","Simchat Torah":"Day of Celebrating the Torah",Sukkot:"Feast of Booths","Ta'anit Bechorot":"Fast of the First Born","Ta'anit Esther":"Fast of Esther","Tish'a B'Av":"The Ninth of Av. Fast commemorating the destruction of the two Temples","Tu B'Av":"Minor Jewish holiday of love. Observed on the 15th day of the Hebrew month of Av","Tu BiShvat":"New Year for Trees","Tzom Gedaliah":"Fast of the Seventh Month. Commemorates the assassination of the Jewish governor of Judah","Tzom Tammuz":"Fast commemorating breaching of the walls of Jerusalem before the destruction of the Second Temple","Yom HaAliyah":"Recognizes Aliyah, immigration to the Jewish State of Israel","Yom HaAliyah School Observance":"Aliyah Day observed in Israeli schools","Yom HaAtzma'ut":"Israeli Independence Day. Commemorates the declaration of independence of Israel in 1948. Note that Hebcal displays modern holidays like Yom HaAtzma'ut according to the Israeli schedule. Although Yom HaAtzma'ut is normally observed on the 5th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaZikaron, which always precedes it) would conflict with Shabbat","Yom HaShoah":"Holocaust Memorial Day","Yom HaZikaron":"Israeli Memorial Day. Note that Hebcal displays modern holidays like Yom HaZikaron according to the Israeli schedule. Although Yom Hazikaron is normally observed on the 4th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaAtzma'ut, which always follows it) would conflict with Shabbat","Yom Kippur":"Day of Atonement","Yom Yerushalayim":"Jerusalem Day. Commemorates the re-unification of Jerusalem in 1967"};function zr(e){return e.toLowerCase().replace(/'/g,"").replace(/[^\w]/g,"-").replace(/-+/g,"-").replace(/^-/g,"").replace(/-$/g,"")}function Kr(e){return e<10?"0"+e:String(e)}function Jr(e){return e<0?"-00"+Jr(-e):e<10?"000"+e:e<100?"00"+e:e<1e3?"0"+e:String(e)}function Zr(e){return Jr(e.getFullYear())+"-"+Kr(e.getMonth()+1)+"-"+Kr(e.getDate())}function Wr(e){const a=e.getDesc();if("Fast begins"===a||"Fast ends"===a)return["zmanim","fast"];switch(e.getFlags()){case t.flags.OMER_COUNT:return["omer"];case t.flags.HEBREW_DATE:return["hebdate"];case t.flags.PARSHA_HASHAVUA:return["parashat"];case t.flags.DAF_YOMI:return["dafyomi"];case t.flags.ROSH_CHODESH:return["roshchodesh"];case t.flags.SPECIAL_SHABBAT:return["holiday","shabbat"];case t.flags.MINOR_FAST:return["holiday","fast"];case t.flags.MAJOR_FAST:return["holiday","fast","major"];case t.flags.MODERN_HOLIDAY:return["holiday","modern"];case t.flags.SHABBAT_MEVARCHIM:return["mevarchim"];case t.flags.MOLAD:return["molad"];case t.flags.USER_EVENT:return["user"];case t.flags.MINOR_HOLIDAY:return["holiday","minor"]}if(e.cholHaMoedDay)return["holiday","major","cholhamoed"];switch(a){case"Havdalah":return["havdalah"];case"Candle lighting":return["candles"];case"Lag BaOmer":case"Leil Selichot":case"Pesach Sheni":case"Erev Purim":case"Purim Katan":case"Shushan Purim":case"Tu B'Av":case"Tu BiShvat":case"Rosh Hashana LaBehemot":return["holiday","minor"];case"Erev Tish'a B'Av":return["holiday","fast","major"];default:return["holiday","major"]}}function Vr(e,t){let a="Hebcal";const n=t.location;if(t.yahrzeit)a+=" Yahrzeits and Anniversaries";else if(n&&n.name){const e=n.name.indexOf(",");a+=" "+(-1==e?n.name:n.name.substring(0,e))}else t.il?a+=" Israel":a+=" Diaspora";if("1"==t.subscribe)return a;if(t.isHebrewYear||0==e.length)a+=" "+t.year;else{const t=e[0].getDate().greg(),n=e[e.length-1].getDate().greg();if(t.getFullYear()!=n.getFullYear())a+=" "+t.getFullYear()+"-"+n.getFullYear();else if(t.getMonth()==n.getMonth()){a+=" "+new Intl.DateTimeFormat("en-US",{month:"long"}).format(t)+" "+t.getFullYear()}else a+=" "+t.getFullYear()}return a}function $r(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const a=Ur[e.getDesc()]||Ur[e.basename()]||"";if(t&&a){const e=a.indexOf(".");if(-1!=e)return a.substring(0,e)}return a}const qr=t.flags.DAF_YOMI|t.flags.OMER_COUNT|t.flags.SHABBAT_MEVARCHIM|t.flags.MOLAD|t.flags.USER_EVENT|t.flags.HEBREW_DATE;function Qr(e,a){const n=e.getFlags();if(n&qr)return"";const o=n&t.flags.PARSHA_HASHAVUA?r.getLeyningForParshaHaShavua(e,a):r.getLeyningForHoliday(e,a);let i="";return o&&(o.summary||o.haftara)&&(o.summary&&(i+="Torah: ".concat(o.summary)),o.summary&&o.haftara&&(i+="\n"),o.haftara&&(i+="Haftarah: "+o.haftara,o.reason&&o.reason.haftara&&(i+=" | "+o.reason.haftara))),o&&o.sephardic&&(i+="\nHaftarah for Sephardim: "+o.sephardic),i}function Xr(e,t,a,n,r){"https://www.hebcal.com"!==e.substring(0,22)?a="hebcal.com":t&&-1===e.indexOf("?")&&(e+="?i=on");const o=-1===e.indexOf("?")?"?":"&";return e+o+"utm_source=".concat(a,"&utm_medium=").concat(n)+(r?"&utm_campaign=".concat(r):"")}function eo(e){if(void 0!==e.eventTime)return!0;const a=e.getFlags();if(a&t.flags.HEBREW_DATE){return 1!==e.getDate().getDate()}return!!(a&t.flags.DAF_YOMI)}const to='"Subject","Start Date","Start Time","End Date","End Time","All day event","Description","Show time as","Location"',ao={dafyomi:"Daf Yomi",hebdate:"Hebrew Date",holiday:"Jewish Holidays",mevarchim:null,molad:null,omer:null,parashat:"Torah Reading",roshchodesh:"Jewish Holidays",user:"Personal"};function no(e,a){const n=e.getDate().greg(),r=n.getDate(),o=n.getMonth()+1,i=String(n.getFullYear()).padStart(4,"0"),s=a.euro?'"'.concat(r,"/").concat(o,"/").concat(i,'"'):'"'.concat(o,"/").concat(r,"/").concat(i,'"');let h="",c="",l="",u='"true"';const d=Boolean(e.eventTime);let f=eo(e)?e.renderBrief(a.locale):e.render(a.locale);if(e.eventTime){const n=t.HebrewCalendar.reformatTimeStr(e.eventTimeStr," PM",a);c=h='"'.concat(n,'"'),l=s,u='"false"'}let m="Jewish Holidays";const g=e.getFlags();if(d&&a.location&&a.location.name){const e=a.location.name,t=e.indexOf(",");m=-1===t?e:e.substring(0,t)}else if(g&t.flags.DAF_YOMI){const e=f.indexOf(": ");-1!=e&&(m=f.substring(0,e),f=f.substring(e+2))}else{const t=ao[Wr(e)[0]];t&&(m=t)}if(f=f.replace(/,/g,"").replace(/"/g,"''"),a.appendHebrewToSubject){const t=e.renderBrief("he");t&&(f+=" / ".concat(t))}let b=e.memo||$r(e,!0);b||void 0===e.linkedEvent||(b=e.linkedEvent.render(a.locale));const y=b.replace(/,/g,";").replace(/"/g,"''"),p=d||g&t.flags.CHAG?4:3;return'"'.concat(f,'",').concat(s,",").concat(h,",").concat(l,",").concat(c,",").concat(u,',"').concat(y,'","').concat(p,'","').concat(m,'"')}var ro={AD:"Andorra",AE:"United Arab Emirates",AF:"Afghanistan",AI:"Anguilla",AL:"Albania",AM:"Armenia",AO:"Angola",AR:"Argentina",AS:"American Samoa",AT:"Austria",AU:"Australia",AW:"Aruba",AZ:"Azerbaijan",BA:"Bosnia and Herzegovina",BB:"Barbados",BD:"Bangladesh",BE:"Belgium",BF:"Burkina Faso",BG:"Bulgaria",BH:"Bahrain",BI:"Burundi",BJ:"Benin",BM:"Bermuda",BN:"Brunei",BO:"Bolivia",BR:"Brazil",BS:"Bahamas",BT:"Bhutan",BW:"Botswana",BY:"Belarus",BZ:"Belize",CA:"Canada",CD:"Democratic Republic of the Congo",CF:"Central African Republic",CG:"Republic of the Congo",CH:"Switzerland",CI:"Ivory Coast",CK:"Cook Islands",CL:"Chile",CM:"Cameroon",CN:"China",CO:"Colombia",CR:"Costa Rica",CU:"Cuba",CV:"Cape Verde",CW:"Curacao",CY:"Cyprus",CZ:"Czech Republic",DE:"Germany",DK:"Denmark",DM:"Dominica",DO:"Dominican Republic",DZ:"Algeria",EC:"Ecuador",EE:"Estonia",EG:"Egypt",ER:"Eritrea",ES:"Spain",ET:"Ethiopia",FI:"Finland",FJ:"Fiji",FK:"Falkland Islands",FO:"Faroe Islands",FR:"France",GA:"Gabon",GB:"United Kingdom",GE:"Georgia",GH:"Ghana",GI:"Gibraltar",GL:"Greenland",GM:"Gambia",GN:"Guinea",GQ:"Equatorial Guinea",GR:"Greece",GT:"Guatemala",GW:"Guinea-Bissau",GY:"Guyana",HK:"Hong Kong",HN:"Honduras",HR:"Croatia",HT:"Haiti",HU:"Hungary",ID:"Indonesia",IE:"Ireland",IL:"Israel",IM:"Isle of Man",IN:"India",IQ:"Iraq",IR:"Iran",IS:"Iceland",IT:"Italy",JM:"Jamaica",JO:"Jordan",JP:"Japan",KE:"Kenya",KG:"Kyrgyzstan",KH:"Cambodia",KM:"Comoros",KN:"Saint Kitts and Nevis",KP:"North Korea",KR:"South Korea",KW:"Kuwait",KY:"Cayman Islands",KZ:"Kazakhstan",LA:"Laos",LB:"Lebanon",LC:"Saint Lucia",LI:"Liechtenstein",LR:"Liberia",LS:"Lesotho",LT:"Lithuania",LU:"Luxembourg",LV:"Latvia",LY:"Libya",MA:"Morocco",MD:"Moldova",ME:"Montenegro",MG:"Madagascar",MK:"Macedonia",ML:"Mali",MM:"Myanmar",MN:"Mongolia",MP:"Northern Mariana Islands",MR:"Mauritania",MS:"Montserrat",MT:"Malta",MU:"Mauritius",MW:"Malawi",MX:"Mexico",MY:"Malaysia",MZ:"Mozambique",NA:"Namibia",NC:"New Caledonia",NE:"Niger",NG:"Nigeria",NI:"Nicaragua",NL:"Netherlands",NO:"Norway",NP:"Nepal",NU:"Niue",NZ:"New Zealand",OM:"Oman",PA:"Panama",PE:"Peru",PF:"French Polynesia",PG:"Papua New Guinea",PH:"Philippines",PK:"Pakistan",PL:"Poland",PR:"Puerto Rico",PT:"Portugal",PY:"Paraguay",QA:"Qatar",RO:"Romania",RS:"Serbia",RU:"Russia",RW:"Rwanda",SA:"Saudi Arabia",SB:"Solomon Islands",SC:"Seychelles",SD:"Sudan",SE:"Sweden",SG:"Singapore",SH:"Saint Helena",SI:"Slovenia",SK:"Slovakia",SL:"Sierra Leone",SN:"Senegal",SO:"Somalia",SR:"Suriname",ST:"Sao Tome and Principe",SV:"El Salvador",SY:"Syria",SZ:"Swaziland",TC:"Turks and Caicos Islands",TD:"Chad",TG:"Togo",TH:"Thailand",TJ:"Tajikistan",TM:"Turkmenistan",TN:"Tunisia",TR:"Turkey",TV:"Tuvalu",TW:"Taiwan",TZ:"Tanzania",UA:"Ukraine",UG:"Uganda",US:"United States",UY:"Uruguay",UZ:"Uzbekistan",VC:"Saint Vincent and the Grenadines",VE:"Venezuela",VG:"British Virgin Islands",VN:"Vietnam",WS:"Samoa",YE:"Yemen",YT:"Mayotte",ZA:"South Africa",ZM:"Zambia",ZW:"Zimbabwe"};function oo(e,a){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const o=Boolean(e.eventTime),i=e.getDate(),s=i.greg(),h="object"==typeof a.location?a.location.getTzid():"UTC",c=o?t.Zmanim.formatISOWithTimeZone(h,e.eventTime):Zr(s),l=Wr(e),u=e.getFlags();let d=eo(e)?e.renderBrief(a.locale):e.render(a.locale);const f=e.getDesc(),m="Havdalah"===f||"Candle lighting"===f;if(m){d+=": "+t.HebrewCalendar.reformatTimeStr(e.eventTimeStr,"pm",a)}const g={title:d,date:c,category:l[0]};l.length>1&&(g.subcat=l[1]),"holiday"===l[0]&&u&t.flags.CHAG&&(g.yomtov=!0),d!=f&&(g.title_orig=f);const b=e.renderBrief("he");if(b&&(g.hebrew=t.Locale.hebrewStripNikkud(b)),!m){if(n){const n=a.il,o=u===t.flags.PARSHA_HASHAVUA,s=o?r.getLeyningForParshaHaShavua(e,n):r.getLeyningForHoliday(e,n);if(s){g.leyning=so(s);const t=i.getFullYear();if(o&&!n&&t>=5745&&t<=5830){const t=r.getTriennialForParshaHaShavua(e);t&&(g.leyning.triennial=io({},t))}}}const o=e.url();if(o){const e=a.utmSource||"js",t=a.utmMedium||"api",n=a.utmCampaign;g.link=Xr(o,a.il,e,t,n)}}const y=e.memo||Ur[e.basename()];return y?g.memo=y:void 0!==e.linkedEvent&&(g.memo=e.linkedEvent.render(a.locale)),g}function io(e,t){return Object.keys(t).forEach((a=>{const n=t[a];if(void 0!==n){e["M"==a?"maftir":a]=r.formatAliyahWithBook(n)}})),e}function so(e){const t={};return e.summary&&(t.torah=e.summary),e.haftara&&(t.haftarah=e.haftara),e.sephardic&&(t.haftarah_sephardic=e.sephardic),e.fullkriyah&&io(t,e.fullkriyah),e.reason&&(["7","8","M"].forEach((a=>{if(e.reason[a]){t["M"==a?"maftir":a]+=" | "+e.reason[a]}})),e.reason.haftara&&(t.haftarah+=" | "+e.reason.haftara)),t}const ho={s:"en",a:"en","he-x-NoNikud":"he",h:"he",ah:"en",sh:"en"};function co(e,t){t.dayFormat=new Intl.DateTimeFormat("en-US",{weekday:"long",day:"2-digit",month:"long",year:"numeric"});const a=t.location,n=t.mainUrl,r=t.buildDate=t.buildDate||new Date,o=r.getFullYear(),i=t.lastBuildDate=r.toUTCString(),s=t.title||Vr(e,t),h=t.description||s,c=t.utmSource||"shabbat1c",l=t.utmMedium||"rss",u=Xr(n,a&&a.getIsrael(),c,l,t.utmCampaign).replace(/&/g,"&"),d=t.selfUrl.replace(/&/g,"&"),f=t.lang||ho[t.locale]||t.locale||"en-US";let m='<?xml version="1.0" encoding="UTF-8"?>\n<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:atom="http://www.w3.org/2005/Atom">\n<channel>\n<title>'.concat(s,"</title>\n<link>").concat(u,'</link>\n<atom:link href="').concat(d,'" rel="self" type="application/rss+xml" />\n<description>').concat(h,"</description>\n<language>").concat(f,"</language>\n<copyright>Copyright (c) ").concat(o," Michael J. Radwin. All rights reserved.</copyright>\n<lastBuildDate>").concat(i,"</lastBuildDate>\n");return e.forEach((e=>{m+=lo(e,t)})),m+="</channel>\n</rss>\n",m}function lo(e,t){return uo(e,t.evPubDate,t.lastBuildDate,t.dayFormat,t.location,t.mainUrl,t)}function uo(e,a,n,r,o,i,s){let h=e.render();const c=e.getDate().greg(),l=function(e,t,a,n){if(t){const t=e.eventTime;return t?t.toUTCString():a.toUTCString().replace(/ \S+ GMT$/," 00:00:00 GMT")}return n}(e,a,c,n),u=!!o&&o.getIsrael(),d=function(e,a,n,r,o,i){let s,h;const c=e.eventTime||e.getDate().greg(),l=t.Zmanim.formatISOWithTimeZone(n,c),u=l.substring(0,l.indexOf("T")),d=u.replace(/-/g,""),f=zr(e.getDesc()),m="".concat(d,"-").concat(f),g=e.url();if(g)s=Xr(g,a,o,i).replace(/&/g,"&"),h="".concat(g,"#").concat(m);else{const e="".concat(r,"&dt=").concat(u),t=Xr(e,a,o,i).replace(/&/g,"&");h=e.replace(/&/g,"&")+"#".concat(m),s="".concat(t,"#").concat(m)}return[s,h]}(e,u,o?o.getTzid():"UTC",i,s&&s.utmSource||"shabbat1c",s&&s.utmMedium||"rss"),f=d[0],m=d[1],g=Wr(e)[0],b=e.getDesc();let y;if("Havdalah"===b||"Candle lighting"===b){const a=h.indexOf(": ");if(-1!=a){const n={location:o,il:u,locale:t.Locale.getLocaleName()},r=t.HebrewCalendar.reformatTimeStr(e.eventTimeStr,"pm",n);h=h.substring(0,a)+": "+r}}else y=e.getFlags()&t.flags.PARSHA_HASHAVUA?Qr(e,u):e.memo||Ur[e.basename()];const p=y||r.format(c),S="candles"==g?"<geo:lat>".concat(o.getLatitude(),"</geo:lat>\n<geo:long>").concat(o.getLongitude(),"</geo:long>\n"):"";return"<item>\n<title>".concat(h,"</title>\n<link>").concat(f,'</link>\n<guid isPermaLink="false">').concat(m,"</guid>\n<description>").concat(p,"</description>\n<category>").concat(g,"</category>\n<pubDate>").concat(l,"</pubDate>\n").concat(S,"</item>\n")}return e.appendIsraelAndTracking=Xr,e.countryNames=ro,e.eventToClassicApiObject=oo,e.eventToCsv=no,e.eventToFullCalendar=function(e,a,n){const r=Wr(e),o=e.getFlags();"holiday"==r[0]&&o&t.flags.CHAG&&r.push("yomtov");const i=Boolean(e.eventTime),s={title:eo(e)?e.renderBrief():e.render(),start:i?t.Zmanim.formatISOWithTimeZone(a,e.eventTime):Zr(e.getDate().greg()),allDay:!i,className:r.join(" ")},h=e.renderBrief("he");h&&(s.hebrew=t.Locale.hebrewStripNikkud(h));const c=e.url();c&&(s.url=Xr(c,n,"js","fc"));const l=e.getDesc();if(!("Havdalah"===l||"Candle lighting"===l)){const a=o&t.flags.PARSHA_HASHAVUA?Qr(e,n):e.memo||Ur[e.basename()];a?s.description=a:void 0!==e.linkedEvent&&(s.description=e.linkedEvent.render())}return s},e.eventToRssItem=uo,e.eventToRssItem2=lo,e.eventsToClassicApi=function(e,t){let a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const n={title:Vr(e,t),date:(new Date).toISOString()},r=t.location;return"object"==typeof r&&"string"==typeof r.name?(n.location={title:r.getName(),city:r.getShortName(),tzid:r.getTzid(),latitude:r.getLatitude(),longitude:r.getLongitude(),cc:r.getCountryCode(),country:ro[r.getCountryCode()]},["admin1","asciiname","geo","zip","state","geonameid"].forEach((e=>{r[e]&&(n.location[e]=r[e])}))):n.location={geo:"none"},n.items=e.map((e=>oo(e,t,a))),n},e.eventsToCsv=function(e,t){return[to].concat(e.map((e=>no(e,t)))).join("\r\n")+"\r\n"},e.eventsToRss=function(e,a,n,r){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"en-US",i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];const s=a.getName(),h={location:a,mainUrl:n,selfUrl:r,lang:o,evPubDate:i,title:t.Locale.gettext("Shabbat")+" Times for ".concat(s),description:"Weekly Shabbat candle lighting times for ".concat(s),utmSource:"shabbat1c",utmMedium:"rss"};return co(e,h)},e.eventsToRss2=co,e.getCalendarTitle=Vr,e.getDownloadFilename=function(e){let t="hebcal_"+e.year;if(e.isHebrewYear&&(t+="h"),e.month&&(t+="_"+e.month),e.location){t+="_"+zr(e.location.zip||e.location.asciiname||e.location.getShortName()).replace(/[-]/g,"_")}return t},e.getEventCategories=Wr,e.getHolidayDescription=$r,e.holidayDescription=Ur,e.makeAnchor=zr,e.makeTorahMemoText=Qr,e.pad2=Kr,e.pad4=Jr,e.renderTitleWithoutTime=function(e){return void 0===e.eventTime?e.render():e.renderBrief()},e.shouldRenderBrief=eo,e.timeZoneOffsetStr=function(e,a){return t.Zmanim.timeZoneOffset(e,a)},e.toISOString=Zr,e.toISOStringWithTimezone=function(e,a,n){const r=Zr(e);return a?r+"T"+a+":00"+t.Zmanim.timeZoneOffset(n,e):r},Object.defineProperty(e,"__esModule",{value:!0}),e}({},hebcal);
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/rest-api v3.
|
|
1
|
+
/*! @hebcal/rest-api v3.10.2 */
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
@@ -244,6 +244,10 @@ function getCalendarTitle(events, options) {
|
|
|
244
244
|
title += ' Diaspora';
|
|
245
245
|
}
|
|
246
246
|
|
|
247
|
+
if (options.subscribe == '1') {
|
|
248
|
+
return title;
|
|
249
|
+
}
|
|
250
|
+
|
|
247
251
|
if (options.isHebrewYear || events.length == 0) {
|
|
248
252
|
title += ' ' + options.year;
|
|
249
253
|
} else {
|
|
@@ -654,10 +658,12 @@ function formatLeyningResult(reading) {
|
|
|
654
658
|
* @param {boolean} il
|
|
655
659
|
* @param {string} tzid
|
|
656
660
|
* @param {string} mainUrl
|
|
661
|
+
* @param {string} utmSource
|
|
662
|
+
* @param {string} utmMedium
|
|
657
663
|
* @return {string[]}
|
|
658
664
|
*/
|
|
659
665
|
|
|
660
|
-
function getLinkAndGuid(ev, il, tzid, mainUrl) {
|
|
666
|
+
function getLinkAndGuid(ev, il, tzid, mainUrl, utmSource, utmMedium) {
|
|
661
667
|
let link;
|
|
662
668
|
let guid;
|
|
663
669
|
const dt = ev.eventTime || ev.getDate().greg();
|
|
@@ -669,11 +675,11 @@ function getLinkAndGuid(ev, il, tzid, mainUrl) {
|
|
|
669
675
|
const url0 = ev.url();
|
|
670
676
|
|
|
671
677
|
if (url0) {
|
|
672
|
-
link = appendIsraelAndTracking(url0, il,
|
|
678
|
+
link = appendIsraelAndTracking(url0, il, utmSource, utmMedium).replace(/&/g, '&');
|
|
673
679
|
guid = `${url0}#${anchor}`;
|
|
674
680
|
} else {
|
|
675
681
|
const url1 = `${mainUrl}&dt=${dtStr}`;
|
|
676
|
-
const url = appendIsraelAndTracking(url1, il,
|
|
682
|
+
const url = appendIsraelAndTracking(url1, il, utmSource, utmMedium).replace(/&/g, '&');
|
|
677
683
|
guid = url1.replace(/&/g, '&') + `#${anchor}`;
|
|
678
684
|
link = `${url}#${anchor}`;
|
|
679
685
|
}
|
|
@@ -693,30 +699,65 @@ function getLinkAndGuid(ev, il, tzid, mainUrl) {
|
|
|
693
699
|
|
|
694
700
|
function eventsToRss(events, location, mainUrl, selfUrl, lang = 'en-US', evPubDate = true) {
|
|
695
701
|
const cityDescr = location.getName();
|
|
696
|
-
const
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
702
|
+
const options = {
|
|
703
|
+
location,
|
|
704
|
+
mainUrl,
|
|
705
|
+
selfUrl,
|
|
706
|
+
lang,
|
|
707
|
+
evPubDate,
|
|
708
|
+
title: core.Locale.gettext('Shabbat') + ` Times for ${cityDescr}`,
|
|
709
|
+
description: `Weekly Shabbat candle lighting times for ${cityDescr}`,
|
|
710
|
+
utmSource: 'shabbat1c',
|
|
711
|
+
utmMedium: 'rss'
|
|
712
|
+
};
|
|
713
|
+
return eventsToRss2(events, options);
|
|
714
|
+
}
|
|
715
|
+
const localeToLg = {
|
|
716
|
+
's': 'en',
|
|
717
|
+
'a': 'en',
|
|
718
|
+
'he-x-NoNikud': 'he',
|
|
719
|
+
'h': 'he',
|
|
720
|
+
'ah': 'en',
|
|
721
|
+
'sh': 'en'
|
|
722
|
+
};
|
|
723
|
+
/**
|
|
724
|
+
* @param {Event[]} events
|
|
725
|
+
* @param {HebrewCalendar.Options} options
|
|
726
|
+
* @return {string}
|
|
727
|
+
*/
|
|
728
|
+
|
|
729
|
+
function eventsToRss2(events, options) {
|
|
730
|
+
options.dayFormat = new Intl.DateTimeFormat('en-US', {
|
|
700
731
|
weekday: 'long',
|
|
701
732
|
day: '2-digit',
|
|
702
733
|
month: 'long',
|
|
703
734
|
year: 'numeric'
|
|
704
735
|
});
|
|
705
|
-
const
|
|
706
|
-
|
|
736
|
+
const location = options.location;
|
|
737
|
+
const mainUrl = options.mainUrl;
|
|
738
|
+
const buildDate = options.buildDate = options.buildDate || new Date();
|
|
739
|
+
const thisYear = buildDate.getFullYear();
|
|
740
|
+
const lastBuildDate = options.lastBuildDate = buildDate.toUTCString();
|
|
741
|
+
const title = options.title || getCalendarTitle(events, options);
|
|
742
|
+
const description = options.description || title;
|
|
743
|
+
const utmSource = options.utmSource || 'shabbat1c';
|
|
744
|
+
const utmMedium = options.utmMedium || 'rss';
|
|
745
|
+
const mainUrlEsc = appendIsraelAndTracking(mainUrl, location && location.getIsrael(), utmSource, utmMedium, options.utmCampaign).replace(/&/g, '&');
|
|
746
|
+
const selfUrlEsc = options.selfUrl.replace(/&/g, '&');
|
|
747
|
+
const lang = options.lang || localeToLg[options.locale] || options.locale || 'en-US';
|
|
707
748
|
let str = `<?xml version="1.0" encoding="UTF-8"?>
|
|
708
749
|
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:atom="http://www.w3.org/2005/Atom">
|
|
709
750
|
<channel>
|
|
710
751
|
<title>${title}</title>
|
|
711
752
|
<link>${mainUrlEsc}</link>
|
|
712
|
-
<atom:link href="${
|
|
713
|
-
<description
|
|
753
|
+
<atom:link href="${selfUrlEsc}" rel="self" type="application/rss+xml" />
|
|
754
|
+
<description>${description}</description>
|
|
714
755
|
<language>${lang}</language>
|
|
715
756
|
<copyright>Copyright (c) ${thisYear} Michael J. Radwin. All rights reserved.</copyright>
|
|
716
757
|
<lastBuildDate>${lastBuildDate}</lastBuildDate>
|
|
717
758
|
`;
|
|
718
759
|
events.forEach(ev => {
|
|
719
|
-
str +=
|
|
760
|
+
str += eventToRssItem2(ev, options);
|
|
720
761
|
});
|
|
721
762
|
str += '</channel>\n</rss>\n';
|
|
722
763
|
return str;
|
|
@@ -743,6 +784,16 @@ function getPubDate(ev, evPubDate, evDate, lastBuildDate) {
|
|
|
743
784
|
|
|
744
785
|
return lastBuildDate;
|
|
745
786
|
}
|
|
787
|
+
/**
|
|
788
|
+
* @param {Event} ev
|
|
789
|
+
* @param {HebrewCalendar.Options} options
|
|
790
|
+
* @return {string}
|
|
791
|
+
*/
|
|
792
|
+
|
|
793
|
+
|
|
794
|
+
function eventToRssItem2(ev, options) {
|
|
795
|
+
return eventToRssItem(ev, options.evPubDate, options.lastBuildDate, options.dayFormat, options.location, options.mainUrl, options);
|
|
796
|
+
}
|
|
746
797
|
/**
|
|
747
798
|
* @param {Event} ev
|
|
748
799
|
* @param {boolean} evPubDate
|
|
@@ -750,17 +801,19 @@ function getPubDate(ev, evPubDate, evDate, lastBuildDate) {
|
|
|
750
801
|
* @param {Intl.DateTimeFormat} dayFormat
|
|
751
802
|
* @param {Location} location
|
|
752
803
|
* @param {string} mainUrl
|
|
804
|
+
* @param {HebrewCalendar.Options} [options]
|
|
753
805
|
* @return {string}
|
|
754
806
|
*/
|
|
755
807
|
|
|
756
|
-
|
|
757
|
-
function eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainUrl) {
|
|
808
|
+
function eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainUrl, options) {
|
|
758
809
|
let subj = ev.render();
|
|
759
810
|
const evDate = ev.getDate().greg();
|
|
760
811
|
const pubDate = getPubDate(ev, evPubDate, evDate, lastBuildDate);
|
|
761
812
|
const il = location ? location.getIsrael() : false;
|
|
762
813
|
const tzid = location ? location.getTzid() : 'UTC';
|
|
763
|
-
const
|
|
814
|
+
const utmSource = options && options.utmSource || 'shabbat1c';
|
|
815
|
+
const utmMedium = options && options.utmMedium || 'rss';
|
|
816
|
+
const linkGuid = getLinkAndGuid(ev, il, tzid, mainUrl, utmSource, utmMedium);
|
|
764
817
|
const link = linkGuid[0];
|
|
765
818
|
const guid = linkGuid[1];
|
|
766
819
|
const categories = getEventCategories(ev);
|
|
@@ -857,9 +910,11 @@ exports.eventToClassicApiObject = eventToClassicApiObject;
|
|
|
857
910
|
exports.eventToCsv = eventToCsv;
|
|
858
911
|
exports.eventToFullCalendar = eventToFullCalendar;
|
|
859
912
|
exports.eventToRssItem = eventToRssItem;
|
|
913
|
+
exports.eventToRssItem2 = eventToRssItem2;
|
|
860
914
|
exports.eventsToClassicApi = eventsToClassicApi;
|
|
861
915
|
exports.eventsToCsv = eventsToCsv;
|
|
862
916
|
exports.eventsToRss = eventsToRss;
|
|
917
|
+
exports.eventsToRss2 = eventsToRss2;
|
|
863
918
|
exports.getCalendarTitle = getCalendarTitle;
|
|
864
919
|
exports.getDownloadFilename = getDownloadFilename;
|
|
865
920
|
exports.getEventCategories = getEventCategories;
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/rest-api v3.
|
|
1
|
+
/*! @hebcal/rest-api v3.10.2 */
|
|
2
2
|
import { flags, Zmanim, HebrewCalendar, Locale } from '@hebcal/core';
|
|
3
3
|
import * as leyn from '@hebcal/leyning';
|
|
4
4
|
|
|
@@ -220,6 +220,10 @@ function getCalendarTitle(events, options) {
|
|
|
220
220
|
title += ' Diaspora';
|
|
221
221
|
}
|
|
222
222
|
|
|
223
|
+
if (options.subscribe == '1') {
|
|
224
|
+
return title;
|
|
225
|
+
}
|
|
226
|
+
|
|
223
227
|
if (options.isHebrewYear || events.length == 0) {
|
|
224
228
|
title += ' ' + options.year;
|
|
225
229
|
} else {
|
|
@@ -630,10 +634,12 @@ function formatLeyningResult(reading) {
|
|
|
630
634
|
* @param {boolean} il
|
|
631
635
|
* @param {string} tzid
|
|
632
636
|
* @param {string} mainUrl
|
|
637
|
+
* @param {string} utmSource
|
|
638
|
+
* @param {string} utmMedium
|
|
633
639
|
* @return {string[]}
|
|
634
640
|
*/
|
|
635
641
|
|
|
636
|
-
function getLinkAndGuid(ev, il, tzid, mainUrl) {
|
|
642
|
+
function getLinkAndGuid(ev, il, tzid, mainUrl, utmSource, utmMedium) {
|
|
637
643
|
let link;
|
|
638
644
|
let guid;
|
|
639
645
|
const dt = ev.eventTime || ev.getDate().greg();
|
|
@@ -645,11 +651,11 @@ function getLinkAndGuid(ev, il, tzid, mainUrl) {
|
|
|
645
651
|
const url0 = ev.url();
|
|
646
652
|
|
|
647
653
|
if (url0) {
|
|
648
|
-
link = appendIsraelAndTracking(url0, il,
|
|
654
|
+
link = appendIsraelAndTracking(url0, il, utmSource, utmMedium).replace(/&/g, '&');
|
|
649
655
|
guid = `${url0}#${anchor}`;
|
|
650
656
|
} else {
|
|
651
657
|
const url1 = `${mainUrl}&dt=${dtStr}`;
|
|
652
|
-
const url = appendIsraelAndTracking(url1, il,
|
|
658
|
+
const url = appendIsraelAndTracking(url1, il, utmSource, utmMedium).replace(/&/g, '&');
|
|
653
659
|
guid = url1.replace(/&/g, '&') + `#${anchor}`;
|
|
654
660
|
link = `${url}#${anchor}`;
|
|
655
661
|
}
|
|
@@ -669,30 +675,65 @@ function getLinkAndGuid(ev, il, tzid, mainUrl) {
|
|
|
669
675
|
|
|
670
676
|
function eventsToRss(events, location, mainUrl, selfUrl, lang = 'en-US', evPubDate = true) {
|
|
671
677
|
const cityDescr = location.getName();
|
|
672
|
-
const
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
678
|
+
const options = {
|
|
679
|
+
location,
|
|
680
|
+
mainUrl,
|
|
681
|
+
selfUrl,
|
|
682
|
+
lang,
|
|
683
|
+
evPubDate,
|
|
684
|
+
title: Locale.gettext('Shabbat') + ` Times for ${cityDescr}`,
|
|
685
|
+
description: `Weekly Shabbat candle lighting times for ${cityDescr}`,
|
|
686
|
+
utmSource: 'shabbat1c',
|
|
687
|
+
utmMedium: 'rss'
|
|
688
|
+
};
|
|
689
|
+
return eventsToRss2(events, options);
|
|
690
|
+
}
|
|
691
|
+
const localeToLg = {
|
|
692
|
+
's': 'en',
|
|
693
|
+
'a': 'en',
|
|
694
|
+
'he-x-NoNikud': 'he',
|
|
695
|
+
'h': 'he',
|
|
696
|
+
'ah': 'en',
|
|
697
|
+
'sh': 'en'
|
|
698
|
+
};
|
|
699
|
+
/**
|
|
700
|
+
* @param {Event[]} events
|
|
701
|
+
* @param {HebrewCalendar.Options} options
|
|
702
|
+
* @return {string}
|
|
703
|
+
*/
|
|
704
|
+
|
|
705
|
+
function eventsToRss2(events, options) {
|
|
706
|
+
options.dayFormat = new Intl.DateTimeFormat('en-US', {
|
|
676
707
|
weekday: 'long',
|
|
677
708
|
day: '2-digit',
|
|
678
709
|
month: 'long',
|
|
679
710
|
year: 'numeric'
|
|
680
711
|
});
|
|
681
|
-
const
|
|
682
|
-
|
|
712
|
+
const location = options.location;
|
|
713
|
+
const mainUrl = options.mainUrl;
|
|
714
|
+
const buildDate = options.buildDate = options.buildDate || new Date();
|
|
715
|
+
const thisYear = buildDate.getFullYear();
|
|
716
|
+
const lastBuildDate = options.lastBuildDate = buildDate.toUTCString();
|
|
717
|
+
const title = options.title || getCalendarTitle(events, options);
|
|
718
|
+
const description = options.description || title;
|
|
719
|
+
const utmSource = options.utmSource || 'shabbat1c';
|
|
720
|
+
const utmMedium = options.utmMedium || 'rss';
|
|
721
|
+
const mainUrlEsc = appendIsraelAndTracking(mainUrl, location && location.getIsrael(), utmSource, utmMedium, options.utmCampaign).replace(/&/g, '&');
|
|
722
|
+
const selfUrlEsc = options.selfUrl.replace(/&/g, '&');
|
|
723
|
+
const lang = options.lang || localeToLg[options.locale] || options.locale || 'en-US';
|
|
683
724
|
let str = `<?xml version="1.0" encoding="UTF-8"?>
|
|
684
725
|
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:atom="http://www.w3.org/2005/Atom">
|
|
685
726
|
<channel>
|
|
686
727
|
<title>${title}</title>
|
|
687
728
|
<link>${mainUrlEsc}</link>
|
|
688
|
-
<atom:link href="${
|
|
689
|
-
<description
|
|
729
|
+
<atom:link href="${selfUrlEsc}" rel="self" type="application/rss+xml" />
|
|
730
|
+
<description>${description}</description>
|
|
690
731
|
<language>${lang}</language>
|
|
691
732
|
<copyright>Copyright (c) ${thisYear} Michael J. Radwin. All rights reserved.</copyright>
|
|
692
733
|
<lastBuildDate>${lastBuildDate}</lastBuildDate>
|
|
693
734
|
`;
|
|
694
735
|
events.forEach(ev => {
|
|
695
|
-
str +=
|
|
736
|
+
str += eventToRssItem2(ev, options);
|
|
696
737
|
});
|
|
697
738
|
str += '</channel>\n</rss>\n';
|
|
698
739
|
return str;
|
|
@@ -719,6 +760,16 @@ function getPubDate(ev, evPubDate, evDate, lastBuildDate) {
|
|
|
719
760
|
|
|
720
761
|
return lastBuildDate;
|
|
721
762
|
}
|
|
763
|
+
/**
|
|
764
|
+
* @param {Event} ev
|
|
765
|
+
* @param {HebrewCalendar.Options} options
|
|
766
|
+
* @return {string}
|
|
767
|
+
*/
|
|
768
|
+
|
|
769
|
+
|
|
770
|
+
function eventToRssItem2(ev, options) {
|
|
771
|
+
return eventToRssItem(ev, options.evPubDate, options.lastBuildDate, options.dayFormat, options.location, options.mainUrl, options);
|
|
772
|
+
}
|
|
722
773
|
/**
|
|
723
774
|
* @param {Event} ev
|
|
724
775
|
* @param {boolean} evPubDate
|
|
@@ -726,17 +777,19 @@ function getPubDate(ev, evPubDate, evDate, lastBuildDate) {
|
|
|
726
777
|
* @param {Intl.DateTimeFormat} dayFormat
|
|
727
778
|
* @param {Location} location
|
|
728
779
|
* @param {string} mainUrl
|
|
780
|
+
* @param {HebrewCalendar.Options} [options]
|
|
729
781
|
* @return {string}
|
|
730
782
|
*/
|
|
731
783
|
|
|
732
|
-
|
|
733
|
-
function eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainUrl) {
|
|
784
|
+
function eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainUrl, options) {
|
|
734
785
|
let subj = ev.render();
|
|
735
786
|
const evDate = ev.getDate().greg();
|
|
736
787
|
const pubDate = getPubDate(ev, evPubDate, evDate, lastBuildDate);
|
|
737
788
|
const il = location ? location.getIsrael() : false;
|
|
738
789
|
const tzid = location ? location.getTzid() : 'UTC';
|
|
739
|
-
const
|
|
790
|
+
const utmSource = options && options.utmSource || 'shabbat1c';
|
|
791
|
+
const utmMedium = options && options.utmMedium || 'rss';
|
|
792
|
+
const linkGuid = getLinkAndGuid(ev, il, tzid, mainUrl, utmSource, utmMedium);
|
|
740
793
|
const link = linkGuid[0];
|
|
741
794
|
const guid = linkGuid[1];
|
|
742
795
|
const categories = getEventCategories(ev);
|
|
@@ -827,4 +880,4 @@ function eventToFullCalendar(ev, tzid, il) {
|
|
|
827
880
|
return result;
|
|
828
881
|
}
|
|
829
882
|
|
|
830
|
-
export { appendIsraelAndTracking, countryNames, eventToClassicApiObject, eventToCsv, eventToFullCalendar, eventToRssItem, eventsToClassicApi, eventsToCsv, eventsToRss, getCalendarTitle, getDownloadFilename, getEventCategories, getHolidayDescription, holidayDescription, makeAnchor, makeTorahMemoText, pad2, pad4, renderTitleWithoutTime, shouldRenderBrief, timeZoneOffsetStr, toISOString, toISOStringWithTimezone };
|
|
883
|
+
export { appendIsraelAndTracking, countryNames, eventToClassicApiObject, eventToCsv, eventToFullCalendar, eventToRssItem, eventToRssItem2, eventsToClassicApi, eventsToCsv, eventsToRss, eventsToRss2, getCalendarTitle, getDownloadFilename, getEventCategories, getHolidayDescription, holidayDescription, makeAnchor, makeTorahMemoText, pad2, pad4, renderTitleWithoutTime, shouldRenderBrief, timeZoneOffsetStr, toISOString, toISOStringWithTimezone };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hebcal/rest-api",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.10.2",
|
|
4
4
|
"author": "Michael J. Radwin (https://github.com/mjradwin)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"hebcal"
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"url": "https://github.com/hebcal/hebcal-rest-api/issues"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@hebcal/core": "^3.
|
|
25
|
-
"@hebcal/leyning": "^4.
|
|
24
|
+
"@hebcal/core": "^3.30.0",
|
|
25
|
+
"@hebcal/leyning": "^4.12.1"
|
|
26
26
|
},
|
|
27
27
|
"scripts": {
|
|
28
28
|
"build": "rollup -c",
|
|
@@ -51,20 +51,20 @@
|
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@ava/babel": "^2.0.0",
|
|
54
|
-
"@babel/core": "^7.16.
|
|
55
|
-
"@babel/preset-env": "^7.16.
|
|
56
|
-
"@babel/register": "^7.16.
|
|
54
|
+
"@babel/core": "^7.16.5",
|
|
55
|
+
"@babel/preset-env": "^7.16.5",
|
|
56
|
+
"@babel/register": "^7.16.5",
|
|
57
57
|
"@rollup/plugin-babel": "^5.3.0",
|
|
58
58
|
"@rollup/plugin-commonjs": "^21.0.1",
|
|
59
59
|
"@rollup/plugin-json": "^4.1.0",
|
|
60
|
-
"@rollup/plugin-node-resolve": "^13.
|
|
60
|
+
"@rollup/plugin-node-resolve": "^13.1.1",
|
|
61
61
|
"ava": "^3.15.0",
|
|
62
|
-
"core-js": "^3.19.
|
|
63
|
-
"eslint": "^8.1
|
|
62
|
+
"core-js": "^3.19.3",
|
|
63
|
+
"eslint": "^8.4.1",
|
|
64
64
|
"eslint-config-google": "^0.14.0",
|
|
65
65
|
"jsdoc": "^3.6.7",
|
|
66
66
|
"jsdoc-to-markdown": "^7.1.0",
|
|
67
|
-
"rollup": "^2.
|
|
67
|
+
"rollup": "^2.61.1",
|
|
68
68
|
"rollup-plugin-terser": "^7.0.2"
|
|
69
69
|
}
|
|
70
70
|
}
|
package/rest-api.d.ts
CHANGED
|
@@ -39,7 +39,9 @@ declare module '@hebcal/rest-api' {
|
|
|
39
39
|
* @param [evPubDate] - if true, use event time as pubDate (false uses lastBuildDate)
|
|
40
40
|
*/
|
|
41
41
|
export function eventsToRss(events: Event[], location: Location, mainUrl: string, selfUrl: string, lang?: string, evPubDate?: boolean): string;
|
|
42
|
-
export function
|
|
42
|
+
export function eventsToRss2(events: Event[], options: HebrewCalendar.Options): string;
|
|
43
|
+
export function eventToRssItem(ev: Event, evPubDate: boolean, lastBuildDate: string, dayFormat: Intl.DateTimeFormat, location: Location, baseUrl: string, options?: HebrewCalendar.Options): string;
|
|
44
|
+
export function eventToRssItem2(ev: Event, options: HebrewCalendar.Options): string;
|
|
43
45
|
export function getDownloadFilename(options: HebrewCalendar.Options): string;
|
|
44
46
|
export function pad2(number: number): string;
|
|
45
47
|
export function pad4(number: number): string;
|