@hebcal/leyning 6.2.2 → 6.2.4
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 +2 -1
- package/dist/bundle.js +365 -599
- package/dist/bundle.min.js +2 -2
- package/dist/index.js +50 -199
- package/dist/index.mjs +50 -197
- package/package.json +19 -15
package/dist/bundle.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/leyning v6.2.
|
|
1
|
+
/*! @hebcal/leyning v6.2.4 */
|
|
2
2
|
var hebcal__leyning = (function (exports, core) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
@@ -12,6 +12,233 @@ function _typeof(obj) {
|
|
|
12
12
|
}, _typeof(obj);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
var Genesis=[0,31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,54,33,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26];var Exodus=[0,22,25,22,31,23,30,29,28,35,29,10,51,22,31,27,36,16,27,25,26,37,30,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38];var Leviticus=[0,17,16,17,35,26,23,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34];var Numbers=[0,54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,35,28,32,22,29,35,41,30,25,19,65,23,31,39,17,54,42,56,29,34,13];var Deuteronomy=[0,46,37,29,49,30,25,26,20,29,22,32,31,19,29,23,22,20,22,21,20,23,29,26,22,19,19,26,69,28,20,30,52,29,12];var Joshua=[0,18,24,17,24,15,27,26,35,27,43,23,24,33,15,63,10,18,28,51,9,45,34,16,33];var Judges=[0,36,23,31,24,31,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,25];var Ruth=[0,22,23,18,22];var Isaiah=[0,31,22,26,6,30,13,25,23,20,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,11,25,24];var Jeremiah=[0,19,37,25,31,31,30,34,23,25,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34];var Lamentations=[0,22,22,66,22,22];var Baruch=[0,22,35,38,37,9,72];var Ezekiel=[0,28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,44,37,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35];var Daniel=[0,21,49,100,34,30,29,28,27,27,21,45,13,64,42];var Hosea=[0,9,25,5,19,15,11,16,14,17,15,11,15,15,10];var Joel=[0,20,27,5,21];var Amos=[0,15,16,15,13,27,14,17,14,15];var Obadiah=[0,21];var Jonah=[0,16,11,10,11];var Micah=[0,16,13,12,14,14,16,20];var Nachum=[0,14,14,19];var Habakkuk=[0,17,20,19];var Zephaniah=[0,18,15,20];var Haggai=[0,15,23];var Zechariah=[0,17,17,10,14,11,15,14,23,17,12,17,14,9,21];var Malachi=[0,14,17,24];var numverses = {Genesis:Genesis,Exodus:Exodus,Leviticus:Leviticus,Numbers:Numbers,Deuteronomy:Deuteronomy,Joshua:Joshua,Judges:Judges,Ruth:Ruth,"I Samuel":[0,28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,16,23,28,23,43,25,12,25,11,31,13],"II Samuel":[0,27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,32,44,26,22,51,39,25],"I Kings":[0,53,46,28,20,32,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"II Kings":[0,18,25,27,44,27,33,20,29,37,36,20,22,25,29,38,20,41,37,37,21,26,20,37,20,30],Isaiah:Isaiah,Jeremiah:Jeremiah,Lamentations:Lamentations,Baruch:Baruch,Ezekiel:Ezekiel,Daniel:Daniel,Hosea:Hosea,Joel:Joel,Amos:Amos,Obadiah:Obadiah,Jonah:Jonah,Micah:Micah,Nachum:Nachum,Habakkuk:Habakkuk,Zephaniah:Zephaniah,Haggai:Haggai,Zechariah:Zechariah,Malachi:Malachi};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Names of the books of the Torah. BOOK[1] === 'Genesis'
|
|
19
|
+
* @readonly
|
|
20
|
+
* @const {string[]}
|
|
21
|
+
*/
|
|
22
|
+
var BOOK = ['', 'Genesis', 'Exodus', 'Leviticus', 'Numbers', 'Deuteronomy'];
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Formats parsha as a string
|
|
26
|
+
* @param {string[]} parsha
|
|
27
|
+
* @return {string}
|
|
28
|
+
*/
|
|
29
|
+
function parshaToString(parsha) {
|
|
30
|
+
var s = parsha[0];
|
|
31
|
+
if (parsha.length == 2) {
|
|
32
|
+
s += '-' + parsha[1];
|
|
33
|
+
}
|
|
34
|
+
return s;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Represents an aliyah
|
|
39
|
+
* @typedef {Object} Aliyah
|
|
40
|
+
* @property {string} k - Book (e.g. "Numbers")
|
|
41
|
+
* @property {string} b - beginning verse (e.g. "28:9")
|
|
42
|
+
* @property {string} e - ending verse (e.g. "28:15")
|
|
43
|
+
* @property {number} [v] - number of verses
|
|
44
|
+
* @property {number} [p] - parsha number (1=Bereshit, 54=Vezot HaBracha)
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Makes a deep copy of the src object using JSON stringify and parse
|
|
49
|
+
* @param {any} src
|
|
50
|
+
* @return {any}
|
|
51
|
+
*/
|
|
52
|
+
function clone(src) {
|
|
53
|
+
return JSON.parse(JSON.stringify(src));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Calculates the number of verses in an aliyah or haftara based on
|
|
58
|
+
* the `b` (begin verse), `e` (end verse) and `k` (book).
|
|
59
|
+
* Modifies `aliyah` by setting the `v` field.
|
|
60
|
+
* @param {Aliyah} aliyah
|
|
61
|
+
* @return {number}
|
|
62
|
+
*/
|
|
63
|
+
function calculateNumVerses(aliyah) {
|
|
64
|
+
if (aliyah.v) {
|
|
65
|
+
return aliyah.v;
|
|
66
|
+
}
|
|
67
|
+
var chapVerseBegin = aliyah.b.split(':');
|
|
68
|
+
var chapVerseEnd = aliyah.e.split(':');
|
|
69
|
+
var c1 = parseInt(chapVerseBegin[0], 10);
|
|
70
|
+
var c2 = parseInt(chapVerseEnd[0], 10);
|
|
71
|
+
var v1 = parseInt(chapVerseBegin[1], 10);
|
|
72
|
+
var v2 = parseInt(chapVerseEnd[1], 10);
|
|
73
|
+
if (c1 === c2) {
|
|
74
|
+
aliyah.v = v2 - v1 + 1;
|
|
75
|
+
} else if (typeof aliyah.k === 'string') {
|
|
76
|
+
var numv = numverses[aliyah.k];
|
|
77
|
+
if (_typeof(numv) !== 'object' || !numv.length) {
|
|
78
|
+
throw new ReferenceError("Can't find numverses for ".concat(aliyah.k));
|
|
79
|
+
}
|
|
80
|
+
var total = numv[c1] - v1 + 1;
|
|
81
|
+
for (var chap = c1 + 1; chap < c2; chap++) {
|
|
82
|
+
total += numv[chap];
|
|
83
|
+
}
|
|
84
|
+
total += v2;
|
|
85
|
+
aliyah.v = total;
|
|
86
|
+
}
|
|
87
|
+
return aliyah.v;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Formats an aliyah object like "Numbers 28:9-28:15"
|
|
92
|
+
* @param {Aliyah} a aliyah
|
|
93
|
+
* @return {string}
|
|
94
|
+
*/
|
|
95
|
+
function formatAliyahWithBook(a) {
|
|
96
|
+
return "".concat(a.k, " ").concat(a.b, "-").concat(a.e);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Formats an aliyah object like "Numbers 28:9-15"
|
|
101
|
+
* @param {Aliyah} aliyah
|
|
102
|
+
* @param {boolean} showBook
|
|
103
|
+
* @return {string}
|
|
104
|
+
*/
|
|
105
|
+
function formatAliyahShort(aliyah, showBook) {
|
|
106
|
+
var begin = aliyah.b;
|
|
107
|
+
var end0 = aliyah.e;
|
|
108
|
+
var prefix = showBook ? aliyah.k + ' ' : '';
|
|
109
|
+
if (begin === end0) {
|
|
110
|
+
return "".concat(prefix).concat(begin);
|
|
111
|
+
}
|
|
112
|
+
var cv1 = begin.split(':');
|
|
113
|
+
var cv2 = end0.split(':');
|
|
114
|
+
var end = cv1[0] === cv2[0] ? cv2[1] : end0;
|
|
115
|
+
return "".concat(prefix).concat(begin, "-").concat(end);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Returns the total number of verses in an array of Aliyah (or haftarah) objects
|
|
120
|
+
* @param {Aliyah|Aliyah[]} aliyot
|
|
121
|
+
* @return {number}
|
|
122
|
+
*/
|
|
123
|
+
function sumVerses(aliyot) {
|
|
124
|
+
return Array.isArray(aliyot) ? aliyot.reduce(function (prev, cur) {
|
|
125
|
+
return prev + cur.v;
|
|
126
|
+
}, 0) : aliyot.v;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* @private
|
|
131
|
+
* @param {Aliyah|Aliyah[]} haft
|
|
132
|
+
* @return {Aliyah|Aliyah[]}
|
|
133
|
+
*/
|
|
134
|
+
function cloneHaftara(haft) {
|
|
135
|
+
if (!haft) {
|
|
136
|
+
return haft;
|
|
137
|
+
}
|
|
138
|
+
var dest = clone(haft);
|
|
139
|
+
if (Array.isArray(dest)) {
|
|
140
|
+
dest.map(calculateNumVerses);
|
|
141
|
+
} else {
|
|
142
|
+
calculateNumVerses(dest);
|
|
143
|
+
}
|
|
144
|
+
return dest;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* @private
|
|
149
|
+
* @param {string} a
|
|
150
|
+
* @param {string} b
|
|
151
|
+
* @return {boolean}
|
|
152
|
+
*/
|
|
153
|
+
function isChapVerseBefore(a, b) {
|
|
154
|
+
var cv1 = a.split(':').map(function (x) {
|
|
155
|
+
return +x;
|
|
156
|
+
});
|
|
157
|
+
var cv2 = b.split(':').map(function (x) {
|
|
158
|
+
return +x;
|
|
159
|
+
});
|
|
160
|
+
return cv1[0] * 100 + cv1[1] < cv2[0] * 100 + cv2[1];
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Summarizes an `AliyotMap` by collapsing all adjacent aliyot.
|
|
165
|
+
* Finds any non-overlapping parts (e.g. special 7th aliyah or maftir)
|
|
166
|
+
* @param {Object<string,Aliyah>} aliyot
|
|
167
|
+
* @return {Aliyah[]}
|
|
168
|
+
*/
|
|
169
|
+
function makeLeyningParts(aliyot) {
|
|
170
|
+
var nums = Object.keys(aliyot).filter(function (x) {
|
|
171
|
+
return x.length === 1;
|
|
172
|
+
});
|
|
173
|
+
var start = aliyot[nums[0]];
|
|
174
|
+
var end = start;
|
|
175
|
+
var parts = [];
|
|
176
|
+
for (var i = 0; i < nums.length; i++) {
|
|
177
|
+
var num = nums[i];
|
|
178
|
+
var aliyah = aliyot[num];
|
|
179
|
+
if (i === nums.length - 1 && aliyah.k === end.k && aliyah.e === end.e) {
|
|
180
|
+
// short-circuit when final aliyah is within the previous (e.g. M inside of 7)
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
183
|
+
var prevEndChap = +end.e.split(':')[0];
|
|
184
|
+
var curStartChap = +aliyah.b.split(':')[0];
|
|
185
|
+
var sameOrNextChap = curStartChap === prevEndChap || curStartChap === prevEndChap + 1;
|
|
186
|
+
if (i !== 0 && (aliyah.k !== start.k || isChapVerseBefore(aliyah.b, start.e) || !sameOrNextChap)) {
|
|
187
|
+
parts.push({
|
|
188
|
+
k: start.k,
|
|
189
|
+
b: start.b,
|
|
190
|
+
e: end.e
|
|
191
|
+
});
|
|
192
|
+
start = aliyah;
|
|
193
|
+
}
|
|
194
|
+
end = aliyah;
|
|
195
|
+
}
|
|
196
|
+
parts.push({
|
|
197
|
+
k: start.k,
|
|
198
|
+
b: start.b,
|
|
199
|
+
e: end.e
|
|
200
|
+
});
|
|
201
|
+
return parts;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Returns a string representation of the leyning parts.
|
|
206
|
+
* Separate verse ranges read from the same book are separated
|
|
207
|
+
* by commas, e.g. `Isaiah 6:1-7:6, 9:5-6`.
|
|
208
|
+
* Verse ranges from different books are separated by semicolons,
|
|
209
|
+
* e.g. `Genesis 21:1-34; Numbers 29:1-6`.
|
|
210
|
+
* @param {Aliyah|Aliyah[]} parts
|
|
211
|
+
* @return {string}
|
|
212
|
+
*/
|
|
213
|
+
function makeSummaryFromParts(parts) {
|
|
214
|
+
if (!Array.isArray(parts)) {
|
|
215
|
+
parts = [parts];
|
|
216
|
+
}
|
|
217
|
+
var prev = parts[0];
|
|
218
|
+
var summary = formatAliyahShort(prev, true);
|
|
219
|
+
for (var i = 1; i < parts.length; i++) {
|
|
220
|
+
var part = parts[i];
|
|
221
|
+
if (part.k === prev.k) {
|
|
222
|
+
summary += ', ';
|
|
223
|
+
} else {
|
|
224
|
+
summary += "; ".concat(part.k, " ");
|
|
225
|
+
}
|
|
226
|
+
summary += formatAliyahShort(part, false);
|
|
227
|
+
prev = part;
|
|
228
|
+
}
|
|
229
|
+
return summary;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Makes a summary of the leyning, like "Genesis 6:9-11:32"
|
|
234
|
+
* @param {Object<string,Aliyah>} aliyot
|
|
235
|
+
* @return {string}
|
|
236
|
+
*/
|
|
237
|
+
function makeLeyningSummary(aliyot) {
|
|
238
|
+
var parts = makeLeyningParts(aliyot);
|
|
239
|
+
return makeSummaryFromParts(parts);
|
|
240
|
+
}
|
|
241
|
+
|
|
15
242
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
16
243
|
|
|
17
244
|
var check = function (it) {
|
|
@@ -19,7 +246,7 @@ var check = function (it) {
|
|
|
19
246
|
};
|
|
20
247
|
|
|
21
248
|
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
|
22
|
-
var global$
|
|
249
|
+
var global$a =
|
|
23
250
|
// eslint-disable-next-line es/no-global-this -- safe
|
|
24
251
|
check(typeof globalThis == 'object' && globalThis) ||
|
|
25
252
|
check(typeof window == 'object' && window) ||
|
|
@@ -31,7 +258,7 @@ var global$b =
|
|
|
31
258
|
|
|
32
259
|
var objectGetOwnPropertyDescriptor = {};
|
|
33
260
|
|
|
34
|
-
var fails$
|
|
261
|
+
var fails$8 = function (exec) {
|
|
35
262
|
try {
|
|
36
263
|
return !!exec();
|
|
37
264
|
} catch (error) {
|
|
@@ -39,17 +266,17 @@ var fails$9 = function (exec) {
|
|
|
39
266
|
}
|
|
40
267
|
};
|
|
41
268
|
|
|
42
|
-
var fails$
|
|
269
|
+
var fails$7 = fails$8;
|
|
43
270
|
|
|
44
271
|
// Detect IE8's incomplete defineProperty implementation
|
|
45
|
-
var descriptors = !fails$
|
|
272
|
+
var descriptors = !fails$7(function () {
|
|
46
273
|
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
47
274
|
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
|
|
48
275
|
});
|
|
49
276
|
|
|
50
|
-
var fails$
|
|
277
|
+
var fails$6 = fails$8;
|
|
51
278
|
|
|
52
|
-
var functionBindNative = !fails$
|
|
279
|
+
var functionBindNative = !fails$6(function () {
|
|
53
280
|
// eslint-disable-next-line es/no-function-prototype-bind -- safe
|
|
54
281
|
var test = (function () { /* empty */ }).bind();
|
|
55
282
|
// eslint-disable-next-line no-prototype-builtins -- safe
|
|
@@ -95,45 +322,35 @@ var FunctionPrototype$1 = Function.prototype;
|
|
|
95
322
|
var call$3 = FunctionPrototype$1.call;
|
|
96
323
|
var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype$1.bind.bind(call$3, call$3);
|
|
97
324
|
|
|
98
|
-
var
|
|
99
|
-
return
|
|
325
|
+
var functionUncurryThis = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
|
|
326
|
+
return function () {
|
|
100
327
|
return call$3.apply(fn, arguments);
|
|
101
328
|
};
|
|
102
329
|
};
|
|
103
330
|
|
|
104
|
-
var
|
|
331
|
+
var uncurryThis$8 = functionUncurryThis;
|
|
105
332
|
|
|
106
|
-
var toString$1 =
|
|
107
|
-
var stringSlice =
|
|
333
|
+
var toString$1 = uncurryThis$8({}.toString);
|
|
334
|
+
var stringSlice = uncurryThis$8(''.slice);
|
|
108
335
|
|
|
109
|
-
var classofRaw
|
|
336
|
+
var classofRaw = function (it) {
|
|
110
337
|
return stringSlice(toString$1(it), 8, -1);
|
|
111
338
|
};
|
|
112
339
|
|
|
113
|
-
var classofRaw = classofRaw$1;
|
|
114
|
-
var uncurryThisRaw = functionUncurryThisRaw;
|
|
115
|
-
|
|
116
|
-
var functionUncurryThis = function (fn) {
|
|
117
|
-
// Nashorn bug:
|
|
118
|
-
// https://github.com/zloirock/core-js/issues/1128
|
|
119
|
-
// https://github.com/zloirock/core-js/issues/1130
|
|
120
|
-
if (classofRaw(fn) === 'Function') return uncurryThisRaw(fn);
|
|
121
|
-
};
|
|
122
|
-
|
|
123
340
|
var uncurryThis$7 = functionUncurryThis;
|
|
124
|
-
var fails$
|
|
125
|
-
var classof
|
|
341
|
+
var fails$5 = fails$8;
|
|
342
|
+
var classof = classofRaw;
|
|
126
343
|
|
|
127
344
|
var $Object$2 = Object;
|
|
128
345
|
var split = uncurryThis$7(''.split);
|
|
129
346
|
|
|
130
347
|
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
|
131
|
-
var indexedObject = fails$
|
|
348
|
+
var indexedObject = fails$5(function () {
|
|
132
349
|
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
|
|
133
350
|
// eslint-disable-next-line no-prototype-builtins -- safe
|
|
134
351
|
return !$Object$2('z').propertyIsEnumerable(0);
|
|
135
352
|
}) ? function (it) {
|
|
136
|
-
return classof
|
|
353
|
+
return classof(it) == 'String' ? split(it, '') : $Object$2(it);
|
|
137
354
|
} : $Object$2;
|
|
138
355
|
|
|
139
356
|
// we can't use just `it == null` since of `document.all` special case
|
|
@@ -144,21 +361,21 @@ var isNullOrUndefined$2 = function (it) {
|
|
|
144
361
|
|
|
145
362
|
var isNullOrUndefined$1 = isNullOrUndefined$2;
|
|
146
363
|
|
|
147
|
-
var $TypeError$
|
|
364
|
+
var $TypeError$5 = TypeError;
|
|
148
365
|
|
|
149
366
|
// `RequireObjectCoercible` abstract operation
|
|
150
367
|
// https://tc39.es/ecma262/#sec-requireobjectcoercible
|
|
151
368
|
var requireObjectCoercible$2 = function (it) {
|
|
152
|
-
if (isNullOrUndefined$1(it)) throw $TypeError$
|
|
369
|
+
if (isNullOrUndefined$1(it)) throw $TypeError$5("Can't call method on " + it);
|
|
153
370
|
return it;
|
|
154
371
|
};
|
|
155
372
|
|
|
156
373
|
// toObject with fallback for non-array-like ES3 strings
|
|
157
|
-
var IndexedObject
|
|
374
|
+
var IndexedObject = indexedObject;
|
|
158
375
|
var requireObjectCoercible$1 = requireObjectCoercible$2;
|
|
159
376
|
|
|
160
377
|
var toIndexedObject$4 = function (it) {
|
|
161
|
-
return IndexedObject
|
|
378
|
+
return IndexedObject(requireObjectCoercible$1(it));
|
|
162
379
|
};
|
|
163
380
|
|
|
164
381
|
var documentAll$2 = typeof document == 'object' && document.all;
|
|
@@ -194,7 +411,7 @@ var isObject$5 = $documentAll.IS_HTMLDDA ? function (it) {
|
|
|
194
411
|
return typeof it == 'object' ? it !== null : isCallable$9(it);
|
|
195
412
|
};
|
|
196
413
|
|
|
197
|
-
var global$
|
|
414
|
+
var global$9 = global$a;
|
|
198
415
|
var isCallable$8 = isCallable$a;
|
|
199
416
|
|
|
200
417
|
var aFunction = function (argument) {
|
|
@@ -202,7 +419,7 @@ var aFunction = function (argument) {
|
|
|
202
419
|
};
|
|
203
420
|
|
|
204
421
|
var getBuiltIn$3 = function (namespace, method) {
|
|
205
|
-
return arguments.length < 2 ? aFunction(global$
|
|
422
|
+
return arguments.length < 2 ? aFunction(global$9[namespace]) : global$9[namespace] && global$9[namespace][method];
|
|
206
423
|
};
|
|
207
424
|
|
|
208
425
|
var uncurryThis$6 = functionUncurryThis;
|
|
@@ -213,11 +430,11 @@ var getBuiltIn$2 = getBuiltIn$3;
|
|
|
213
430
|
|
|
214
431
|
var engineUserAgent = getBuiltIn$2('navigator', 'userAgent') || '';
|
|
215
432
|
|
|
216
|
-
var global$
|
|
433
|
+
var global$8 = global$a;
|
|
217
434
|
var userAgent = engineUserAgent;
|
|
218
435
|
|
|
219
|
-
var process = global$
|
|
220
|
-
var Deno = global$
|
|
436
|
+
var process = global$8.process;
|
|
437
|
+
var Deno = global$8.Deno;
|
|
221
438
|
var versions = process && process.versions || Deno && Deno.version;
|
|
222
439
|
var v8 = versions && versions.v8;
|
|
223
440
|
var match, version;
|
|
@@ -244,10 +461,10 @@ var engineV8Version = version;
|
|
|
244
461
|
/* eslint-disable es/no-symbol -- required for testing */
|
|
245
462
|
|
|
246
463
|
var V8_VERSION = engineV8Version;
|
|
247
|
-
var fails$
|
|
464
|
+
var fails$4 = fails$8;
|
|
248
465
|
|
|
249
466
|
// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
|
|
250
|
-
var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$
|
|
467
|
+
var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$4(function () {
|
|
251
468
|
var symbol = Symbol();
|
|
252
469
|
// Chrome 38 Symbol has incorrect toString conversion
|
|
253
470
|
// `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
|
|
@@ -291,29 +508,29 @@ var tryToString$1 = function (argument) {
|
|
|
291
508
|
var isCallable$6 = isCallable$a;
|
|
292
509
|
var tryToString = tryToString$1;
|
|
293
510
|
|
|
294
|
-
var $TypeError$
|
|
511
|
+
var $TypeError$4 = TypeError;
|
|
295
512
|
|
|
296
513
|
// `Assert: IsCallable(argument) is true`
|
|
297
|
-
var aCallable$
|
|
514
|
+
var aCallable$1 = function (argument) {
|
|
298
515
|
if (isCallable$6(argument)) return argument;
|
|
299
|
-
throw $TypeError$
|
|
516
|
+
throw $TypeError$4(tryToString(argument) + ' is not a function');
|
|
300
517
|
};
|
|
301
518
|
|
|
302
|
-
var aCallable
|
|
519
|
+
var aCallable = aCallable$1;
|
|
303
520
|
var isNullOrUndefined = isNullOrUndefined$2;
|
|
304
521
|
|
|
305
522
|
// `GetMethod` abstract operation
|
|
306
523
|
// https://tc39.es/ecma262/#sec-getmethod
|
|
307
524
|
var getMethod$1 = function (V, P) {
|
|
308
525
|
var func = V[P];
|
|
309
|
-
return isNullOrUndefined(func) ? undefined : aCallable
|
|
526
|
+
return isNullOrUndefined(func) ? undefined : aCallable(func);
|
|
310
527
|
};
|
|
311
528
|
|
|
312
529
|
var call$2 = functionCall;
|
|
313
530
|
var isCallable$5 = isCallable$a;
|
|
314
531
|
var isObject$4 = isObject$5;
|
|
315
532
|
|
|
316
|
-
var $TypeError$
|
|
533
|
+
var $TypeError$3 = TypeError;
|
|
317
534
|
|
|
318
535
|
// `OrdinaryToPrimitive` abstract operation
|
|
319
536
|
// https://tc39.es/ecma262/#sec-ordinarytoprimitive
|
|
@@ -322,29 +539,33 @@ var ordinaryToPrimitive$1 = function (input, pref) {
|
|
|
322
539
|
if (pref === 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$2(fn, input))) return val;
|
|
323
540
|
if (isCallable$5(fn = input.valueOf) && !isObject$4(val = call$2(fn, input))) return val;
|
|
324
541
|
if (pref !== 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$2(fn, input))) return val;
|
|
325
|
-
throw $TypeError$
|
|
542
|
+
throw $TypeError$3("Can't convert object to primitive value");
|
|
326
543
|
};
|
|
327
544
|
|
|
328
|
-
var
|
|
545
|
+
var sharedExports = {};
|
|
546
|
+
var shared$3 = {
|
|
547
|
+
get exports(){ return sharedExports; },
|
|
548
|
+
set exports(v){ sharedExports = v; },
|
|
549
|
+
};
|
|
329
550
|
|
|
330
|
-
var global$
|
|
551
|
+
var global$7 = global$a;
|
|
331
552
|
|
|
332
553
|
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
333
554
|
var defineProperty$1 = Object.defineProperty;
|
|
334
555
|
|
|
335
556
|
var defineGlobalProperty$3 = function (key, value) {
|
|
336
557
|
try {
|
|
337
|
-
defineProperty$1(global$
|
|
558
|
+
defineProperty$1(global$7, key, { value: value, configurable: true, writable: true });
|
|
338
559
|
} catch (error) {
|
|
339
|
-
global$
|
|
560
|
+
global$7[key] = value;
|
|
340
561
|
} return value;
|
|
341
562
|
};
|
|
342
563
|
|
|
343
|
-
var global$
|
|
564
|
+
var global$6 = global$a;
|
|
344
565
|
var defineGlobalProperty$2 = defineGlobalProperty$3;
|
|
345
566
|
|
|
346
567
|
var SHARED = '__core-js_shared__';
|
|
347
|
-
var store$3 = global$
|
|
568
|
+
var store$3 = global$6[SHARED] || defineGlobalProperty$2(SHARED, {});
|
|
348
569
|
|
|
349
570
|
var sharedStore = store$3;
|
|
350
571
|
|
|
@@ -353,10 +574,10 @@ var store$2 = sharedStore;
|
|
|
353
574
|
(shared$3.exports = function (key, value) {
|
|
354
575
|
return store$2[key] || (store$2[key] = value !== undefined ? value : {});
|
|
355
576
|
})('versions', []).push({
|
|
356
|
-
version: '3.
|
|
577
|
+
version: '3.26.1',
|
|
357
578
|
mode: 'global',
|
|
358
579
|
copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
|
|
359
|
-
license: 'https://github.com/zloirock/core-js/blob/v3.
|
|
580
|
+
license: 'https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE',
|
|
360
581
|
source: 'https://github.com/zloirock/core-js'
|
|
361
582
|
});
|
|
362
583
|
|
|
@@ -366,12 +587,12 @@ var $Object = Object;
|
|
|
366
587
|
|
|
367
588
|
// `ToObject` abstract operation
|
|
368
589
|
// https://tc39.es/ecma262/#sec-toobject
|
|
369
|
-
var toObject$
|
|
590
|
+
var toObject$1 = function (argument) {
|
|
370
591
|
return $Object(requireObjectCoercible(argument));
|
|
371
592
|
};
|
|
372
593
|
|
|
373
594
|
var uncurryThis$5 = functionUncurryThis;
|
|
374
|
-
var toObject
|
|
595
|
+
var toObject = toObject$1;
|
|
375
596
|
|
|
376
597
|
var hasOwnProperty = uncurryThis$5({}.hasOwnProperty);
|
|
377
598
|
|
|
@@ -379,7 +600,7 @@ var hasOwnProperty = uncurryThis$5({}.hasOwnProperty);
|
|
|
379
600
|
// https://tc39.es/ecma262/#sec-hasownproperty
|
|
380
601
|
// eslint-disable-next-line es/no-object-hasown -- safe
|
|
381
602
|
var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
|
|
382
|
-
return hasOwnProperty(toObject
|
|
603
|
+
return hasOwnProperty(toObject(it), key);
|
|
383
604
|
};
|
|
384
605
|
|
|
385
606
|
var uncurryThis$4 = functionUncurryThis;
|
|
@@ -392,15 +613,15 @@ var uid$2 = function (key) {
|
|
|
392
613
|
return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
|
|
393
614
|
};
|
|
394
615
|
|
|
395
|
-
var global$
|
|
396
|
-
var shared$2 =
|
|
616
|
+
var global$5 = global$a;
|
|
617
|
+
var shared$2 = sharedExports;
|
|
397
618
|
var hasOwn$6 = hasOwnProperty_1;
|
|
398
619
|
var uid$1 = uid$2;
|
|
399
620
|
var NATIVE_SYMBOL = symbolConstructorDetection;
|
|
400
621
|
var USE_SYMBOL_AS_UID = useSymbolAsUid;
|
|
401
622
|
|
|
402
623
|
var WellKnownSymbolsStore = shared$2('wks');
|
|
403
|
-
var Symbol$1 = global$
|
|
624
|
+
var Symbol$1 = global$5.Symbol;
|
|
404
625
|
var symbolFor = Symbol$1 && Symbol$1['for'];
|
|
405
626
|
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
|
|
406
627
|
|
|
@@ -424,7 +645,7 @@ var getMethod = getMethod$1;
|
|
|
424
645
|
var ordinaryToPrimitive = ordinaryToPrimitive$1;
|
|
425
646
|
var wellKnownSymbol = wellKnownSymbol$1;
|
|
426
647
|
|
|
427
|
-
var $TypeError$
|
|
648
|
+
var $TypeError$2 = TypeError;
|
|
428
649
|
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
|
|
429
650
|
|
|
430
651
|
// `ToPrimitive` abstract operation
|
|
@@ -437,7 +658,7 @@ var toPrimitive$1 = function (input, pref) {
|
|
|
437
658
|
if (pref === undefined) pref = 'default';
|
|
438
659
|
result = call$1(exoticToPrim, input, pref);
|
|
439
660
|
if (!isObject$3(result) || isSymbol$1(result)) return result;
|
|
440
|
-
throw $TypeError$
|
|
661
|
+
throw $TypeError$2("Can't convert object to primitive value");
|
|
441
662
|
}
|
|
442
663
|
if (pref === undefined) pref = 'number';
|
|
443
664
|
return ordinaryToPrimitive(input, pref);
|
|
@@ -453,10 +674,10 @@ var toPropertyKey$2 = function (argument) {
|
|
|
453
674
|
return isSymbol(key) ? key : key + '';
|
|
454
675
|
};
|
|
455
676
|
|
|
456
|
-
var global$
|
|
677
|
+
var global$4 = global$a;
|
|
457
678
|
var isObject$2 = isObject$5;
|
|
458
679
|
|
|
459
|
-
var document$1 = global$
|
|
680
|
+
var document$1 = global$4.document;
|
|
460
681
|
// typeof document.createElement is 'object' in old IE
|
|
461
682
|
var EXISTS$1 = isObject$2(document$1) && isObject$2(document$1.createElement);
|
|
462
683
|
|
|
@@ -465,11 +686,11 @@ var documentCreateElement = function (it) {
|
|
|
465
686
|
};
|
|
466
687
|
|
|
467
688
|
var DESCRIPTORS$7 = descriptors;
|
|
468
|
-
var fails$
|
|
689
|
+
var fails$3 = fails$8;
|
|
469
690
|
var createElement = documentCreateElement;
|
|
470
691
|
|
|
471
692
|
// Thanks to IE8 for its funny defineProperty
|
|
472
|
-
var ie8DomDefine = !DESCRIPTORS$7 && !fails$
|
|
693
|
+
var ie8DomDefine = !DESCRIPTORS$7 && !fails$3(function () {
|
|
473
694
|
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
474
695
|
return Object.defineProperty(createElement('div'), 'a', {
|
|
475
696
|
get: function () { return 7; }
|
|
@@ -502,11 +723,11 @@ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$6 ? $getOwnPropertyDescriptor$1 :
|
|
|
502
723
|
var objectDefineProperty = {};
|
|
503
724
|
|
|
504
725
|
var DESCRIPTORS$5 = descriptors;
|
|
505
|
-
var fails$
|
|
726
|
+
var fails$2 = fails$8;
|
|
506
727
|
|
|
507
728
|
// V8 ~ Chrome 36-
|
|
508
729
|
// https://bugs.chromium.org/p/v8/issues/detail?id=3334
|
|
509
|
-
var v8PrototypeDefineBug = DESCRIPTORS$5 && fails$
|
|
730
|
+
var v8PrototypeDefineBug = DESCRIPTORS$5 && fails$2(function () {
|
|
510
731
|
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
511
732
|
return Object.defineProperty(function () { /* empty */ }, 'prototype', {
|
|
512
733
|
value: 42,
|
|
@@ -517,12 +738,12 @@ var v8PrototypeDefineBug = DESCRIPTORS$5 && fails$3(function () {
|
|
|
517
738
|
var isObject$1 = isObject$5;
|
|
518
739
|
|
|
519
740
|
var $String = String;
|
|
520
|
-
var $TypeError$
|
|
741
|
+
var $TypeError$1 = TypeError;
|
|
521
742
|
|
|
522
743
|
// `Assert: Type(argument) is Object`
|
|
523
744
|
var anObject$2 = function (argument) {
|
|
524
745
|
if (isObject$1(argument)) return argument;
|
|
525
|
-
throw $TypeError$
|
|
746
|
+
throw $TypeError$1($String(argument) + ' is not an object');
|
|
526
747
|
};
|
|
527
748
|
|
|
528
749
|
var DESCRIPTORS$4 = descriptors;
|
|
@@ -531,7 +752,7 @@ var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
|
|
|
531
752
|
var anObject$1 = anObject$2;
|
|
532
753
|
var toPropertyKey = toPropertyKey$2;
|
|
533
754
|
|
|
534
|
-
var $TypeError
|
|
755
|
+
var $TypeError = TypeError;
|
|
535
756
|
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
536
757
|
var $defineProperty = Object.defineProperty;
|
|
537
758
|
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
@@ -564,7 +785,7 @@ objectDefineProperty.f = DESCRIPTORS$4 ? V8_PROTOTYPE_DEFINE_BUG ? function defi
|
|
|
564
785
|
if (IE8_DOM_DEFINE) try {
|
|
565
786
|
return $defineProperty(O, P, Attributes);
|
|
566
787
|
} catch (error) { /* empty */ }
|
|
567
|
-
if ('get' in Attributes || 'set' in Attributes) throw $TypeError
|
|
788
|
+
if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');
|
|
568
789
|
if ('value' in Attributes) O[P] = Attributes.value;
|
|
569
790
|
return O;
|
|
570
791
|
};
|
|
@@ -580,7 +801,11 @@ var createNonEnumerableProperty$2 = DESCRIPTORS$3 ? function (object, key, value
|
|
|
580
801
|
return object;
|
|
581
802
|
};
|
|
582
803
|
|
|
583
|
-
var
|
|
804
|
+
var makeBuiltInExports = {};
|
|
805
|
+
var makeBuiltIn$2 = {
|
|
806
|
+
get exports(){ return makeBuiltInExports; },
|
|
807
|
+
set exports(v){ makeBuiltInExports = v; },
|
|
808
|
+
};
|
|
584
809
|
|
|
585
810
|
var DESCRIPTORS$2 = descriptors;
|
|
586
811
|
var hasOwn$4 = hasOwnProperty_1;
|
|
@@ -615,14 +840,14 @@ if (!isCallable$4(store$1.inspectSource)) {
|
|
|
615
840
|
|
|
616
841
|
var inspectSource$1 = store$1.inspectSource;
|
|
617
842
|
|
|
618
|
-
var global$
|
|
843
|
+
var global$3 = global$a;
|
|
619
844
|
var isCallable$3 = isCallable$a;
|
|
620
845
|
|
|
621
|
-
var WeakMap$1 = global$
|
|
846
|
+
var WeakMap$1 = global$3.WeakMap;
|
|
622
847
|
|
|
623
848
|
var weakMapBasicDetection = isCallable$3(WeakMap$1) && /native code/.test(String(WeakMap$1));
|
|
624
849
|
|
|
625
|
-
var shared$1 =
|
|
850
|
+
var shared$1 = sharedExports;
|
|
626
851
|
var uid = uid$2;
|
|
627
852
|
|
|
628
853
|
var keys = shared$1('keys');
|
|
@@ -634,7 +859,7 @@ var sharedKey$1 = function (key) {
|
|
|
634
859
|
var hiddenKeys$3 = {};
|
|
635
860
|
|
|
636
861
|
var NATIVE_WEAK_MAP = weakMapBasicDetection;
|
|
637
|
-
var global$
|
|
862
|
+
var global$2 = global$a;
|
|
638
863
|
var isObject = isObject$5;
|
|
639
864
|
var createNonEnumerableProperty$1 = createNonEnumerableProperty$2;
|
|
640
865
|
var hasOwn$3 = hasOwnProperty_1;
|
|
@@ -643,8 +868,8 @@ var sharedKey = sharedKey$1;
|
|
|
643
868
|
var hiddenKeys$2 = hiddenKeys$3;
|
|
644
869
|
|
|
645
870
|
var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
|
|
646
|
-
var TypeError$1 = global$
|
|
647
|
-
var WeakMap = global$
|
|
871
|
+
var TypeError$1 = global$2.TypeError;
|
|
872
|
+
var WeakMap = global$2.WeakMap;
|
|
648
873
|
var set, get, has;
|
|
649
874
|
|
|
650
875
|
var enforce = function (it) {
|
|
@@ -704,7 +929,7 @@ var internalState = {
|
|
|
704
929
|
getterFor: getterFor
|
|
705
930
|
};
|
|
706
931
|
|
|
707
|
-
var fails$
|
|
932
|
+
var fails$1 = fails$8;
|
|
708
933
|
var isCallable$2 = isCallable$a;
|
|
709
934
|
var hasOwn$2 = hasOwnProperty_1;
|
|
710
935
|
var DESCRIPTORS$1 = descriptors;
|
|
@@ -717,7 +942,7 @@ var getInternalState = InternalStateModule.get;
|
|
|
717
942
|
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
718
943
|
var defineProperty = Object.defineProperty;
|
|
719
944
|
|
|
720
|
-
var CONFIGURABLE_LENGTH = DESCRIPTORS$1 && !fails$
|
|
945
|
+
var CONFIGURABLE_LENGTH = DESCRIPTORS$1 && !fails$1(function () {
|
|
721
946
|
return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
|
|
722
947
|
});
|
|
723
948
|
|
|
@@ -756,7 +981,7 @@ Function.prototype.toString = makeBuiltIn$1(function toString() {
|
|
|
756
981
|
|
|
757
982
|
var isCallable$1 = isCallable$a;
|
|
758
983
|
var definePropertyModule$1 = objectDefineProperty;
|
|
759
|
-
var makeBuiltIn =
|
|
984
|
+
var makeBuiltIn = makeBuiltInExports;
|
|
760
985
|
var defineGlobalProperty$1 = defineGlobalProperty$3;
|
|
761
986
|
|
|
762
987
|
var defineBuiltIn$1 = function (O, key, value, options) {
|
|
@@ -832,19 +1057,19 @@ var toLength = toLength$1;
|
|
|
832
1057
|
|
|
833
1058
|
// `LengthOfArrayLike` abstract operation
|
|
834
1059
|
// https://tc39.es/ecma262/#sec-lengthofarraylike
|
|
835
|
-
var lengthOfArrayLike$
|
|
1060
|
+
var lengthOfArrayLike$1 = function (obj) {
|
|
836
1061
|
return toLength(obj.length);
|
|
837
1062
|
};
|
|
838
1063
|
|
|
839
1064
|
var toIndexedObject$2 = toIndexedObject$4;
|
|
840
1065
|
var toAbsoluteIndex = toAbsoluteIndex$1;
|
|
841
|
-
var lengthOfArrayLike
|
|
1066
|
+
var lengthOfArrayLike = lengthOfArrayLike$1;
|
|
842
1067
|
|
|
843
1068
|
// `Array.prototype.{ indexOf, includes }` methods implementation
|
|
844
|
-
var createMethod$
|
|
1069
|
+
var createMethod$1 = function (IS_INCLUDES) {
|
|
845
1070
|
return function ($this, el, fromIndex) {
|
|
846
1071
|
var O = toIndexedObject$2($this);
|
|
847
|
-
var length = lengthOfArrayLike
|
|
1072
|
+
var length = lengthOfArrayLike(O);
|
|
848
1073
|
var index = toAbsoluteIndex(fromIndex, length);
|
|
849
1074
|
var value;
|
|
850
1075
|
// Array#includes uses SameValueZero equality algorithm
|
|
@@ -863,10 +1088,10 @@ var createMethod$2 = function (IS_INCLUDES) {
|
|
|
863
1088
|
var arrayIncludes = {
|
|
864
1089
|
// `Array.prototype.includes` method
|
|
865
1090
|
// https://tc39.es/ecma262/#sec-array.prototype.includes
|
|
866
|
-
includes: createMethod$
|
|
1091
|
+
includes: createMethod$1(true),
|
|
867
1092
|
// `Array.prototype.indexOf` method
|
|
868
1093
|
// https://tc39.es/ecma262/#sec-array.prototype.indexof
|
|
869
|
-
indexOf: createMethod$
|
|
1094
|
+
indexOf: createMethod$1(false)
|
|
870
1095
|
};
|
|
871
1096
|
|
|
872
1097
|
var uncurryThis$2 = functionUncurryThis;
|
|
@@ -950,7 +1175,7 @@ var copyConstructorProperties$1 = function (target, source, exceptions) {
|
|
|
950
1175
|
}
|
|
951
1176
|
};
|
|
952
1177
|
|
|
953
|
-
var fails
|
|
1178
|
+
var fails = fails$8;
|
|
954
1179
|
var isCallable = isCallable$a;
|
|
955
1180
|
|
|
956
1181
|
var replacement = /#|\.prototype\./;
|
|
@@ -959,7 +1184,7 @@ var isForced$1 = function (feature, detection) {
|
|
|
959
1184
|
var value = data[normalize(feature)];
|
|
960
1185
|
return value == POLYFILL ? true
|
|
961
1186
|
: value == NATIVE ? false
|
|
962
|
-
: isCallable(detection) ? fails
|
|
1187
|
+
: isCallable(detection) ? fails(detection)
|
|
963
1188
|
: !!detection;
|
|
964
1189
|
};
|
|
965
1190
|
|
|
@@ -973,7 +1198,7 @@ var POLYFILL = isForced$1.POLYFILL = 'P';
|
|
|
973
1198
|
|
|
974
1199
|
var isForced_1 = isForced$1;
|
|
975
1200
|
|
|
976
|
-
var global$
|
|
1201
|
+
var global$1 = global$a;
|
|
977
1202
|
var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
|
|
978
1203
|
var createNonEnumerableProperty = createNonEnumerableProperty$2;
|
|
979
1204
|
var defineBuiltIn = defineBuiltIn$1;
|
|
@@ -1002,11 +1227,11 @@ var _export = function (options, source) {
|
|
|
1002
1227
|
var STATIC = options.stat;
|
|
1003
1228
|
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
|
|
1004
1229
|
if (GLOBAL) {
|
|
1005
|
-
target = global$
|
|
1230
|
+
target = global$1;
|
|
1006
1231
|
} else if (STATIC) {
|
|
1007
|
-
target = global$
|
|
1232
|
+
target = global$1[TARGET] || defineGlobalProperty(TARGET, {});
|
|
1008
1233
|
} else {
|
|
1009
|
-
target = (global$
|
|
1234
|
+
target = (global$1[TARGET] || {}).prototype;
|
|
1010
1235
|
}
|
|
1011
1236
|
if (target) for (key in source) {
|
|
1012
1237
|
sourceProperty = source[key];
|
|
@@ -1028,348 +1253,15 @@ var _export = function (options, source) {
|
|
|
1028
1253
|
}
|
|
1029
1254
|
};
|
|
1030
1255
|
|
|
1031
|
-
var
|
|
1032
|
-
var
|
|
1033
|
-
var IndexedObject = indexedObject;
|
|
1034
|
-
var lengthOfArrayLike = lengthOfArrayLike$2;
|
|
1256
|
+
var internalObjectKeys = objectKeysInternal;
|
|
1257
|
+
var enumBugKeys = enumBugKeys$2;
|
|
1035
1258
|
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
//
|
|
1039
|
-
var
|
|
1040
|
-
return
|
|
1041
|
-
|
|
1042
|
-
var O = toObject(that);
|
|
1043
|
-
var self = IndexedObject(O);
|
|
1044
|
-
var length = lengthOfArrayLike(O);
|
|
1045
|
-
var index = IS_RIGHT ? length - 1 : 0;
|
|
1046
|
-
var i = IS_RIGHT ? -1 : 1;
|
|
1047
|
-
if (argumentsLength < 2) while (true) {
|
|
1048
|
-
if (index in self) {
|
|
1049
|
-
memo = self[index];
|
|
1050
|
-
index += i;
|
|
1051
|
-
break;
|
|
1052
|
-
}
|
|
1053
|
-
index += i;
|
|
1054
|
-
if (IS_RIGHT ? index < 0 : length <= index) {
|
|
1055
|
-
throw $TypeError('Reduce of empty array with no initial value');
|
|
1056
|
-
}
|
|
1057
|
-
}
|
|
1058
|
-
for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
|
|
1059
|
-
memo = callbackfn(memo, self[index], index, O);
|
|
1060
|
-
}
|
|
1061
|
-
return memo;
|
|
1062
|
-
};
|
|
1063
|
-
};
|
|
1064
|
-
|
|
1065
|
-
var arrayReduce = {
|
|
1066
|
-
// `Array.prototype.reduce` method
|
|
1067
|
-
// https://tc39.es/ecma262/#sec-array.prototype.reduce
|
|
1068
|
-
left: createMethod$1(false),
|
|
1069
|
-
// `Array.prototype.reduceRight` method
|
|
1070
|
-
// https://tc39.es/ecma262/#sec-array.prototype.reduceright
|
|
1071
|
-
right: createMethod$1(true)
|
|
1072
|
-
};
|
|
1073
|
-
|
|
1074
|
-
var fails = fails$9;
|
|
1075
|
-
|
|
1076
|
-
var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) {
|
|
1077
|
-
var method = [][METHOD_NAME];
|
|
1078
|
-
return !!method && fails(function () {
|
|
1079
|
-
// eslint-disable-next-line no-useless-call -- required for testing
|
|
1080
|
-
method.call(null, argument || function () { return 1; }, 1);
|
|
1081
|
-
});
|
|
1082
|
-
};
|
|
1083
|
-
|
|
1084
|
-
var classof = classofRaw$1;
|
|
1085
|
-
var global$1 = global$b;
|
|
1086
|
-
|
|
1087
|
-
var engineIsNode = classof(global$1.process) == 'process';
|
|
1088
|
-
|
|
1089
|
-
var $$1 = _export;
|
|
1090
|
-
var $reduce = arrayReduce.left;
|
|
1091
|
-
var arrayMethodIsStrict = arrayMethodIsStrict$1;
|
|
1092
|
-
var CHROME_VERSION = engineV8Version;
|
|
1093
|
-
var IS_NODE = engineIsNode;
|
|
1094
|
-
|
|
1095
|
-
var STRICT_METHOD = arrayMethodIsStrict('reduce');
|
|
1096
|
-
// Chrome 80-82 has a critical bug
|
|
1097
|
-
// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
|
|
1098
|
-
var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
|
|
1099
|
-
|
|
1100
|
-
// `Array.prototype.reduce` method
|
|
1101
|
-
// https://tc39.es/ecma262/#sec-array.prototype.reduce
|
|
1102
|
-
$$1({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
|
|
1103
|
-
reduce: function reduce(callbackfn /* , initialValue */) {
|
|
1104
|
-
var length = arguments.length;
|
|
1105
|
-
return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);
|
|
1106
|
-
}
|
|
1107
|
-
});
|
|
1108
|
-
|
|
1109
|
-
var Genesis=[0,31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,54,33,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26];var Exodus=[0,22,25,22,31,23,30,29,28,35,29,10,51,22,31,27,36,16,27,25,26,37,30,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38];var Leviticus=[0,17,16,17,35,26,23,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34];var Numbers=[0,54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,35,28,32,22,29,35,41,30,25,19,65,23,31,39,17,54,42,56,29,34,13];var Deuteronomy=[0,46,37,29,49,30,25,26,20,29,22,32,31,19,29,23,22,20,22,21,20,23,29,26,22,19,19,26,69,28,20,30,52,29,12];var Joshua=[0,18,24,17,24,15,27,26,35,27,43,23,24,33,15,63,10,18,28,51,9,45,34,16,33];var Judges=[0,36,23,31,24,31,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,25];var Ruth=[0,22,23,18,22];var Isaiah=[0,31,22,26,6,30,13,25,23,20,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,11,25,24];var Jeremiah=[0,19,37,25,31,31,30,34,23,25,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34];var Lamentations=[0,22,22,66,22,22];var Baruch=[0,22,35,38,37,9,72];var Ezekiel=[0,28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,44,37,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35];var Daniel=[0,21,49,100,34,30,29,28,27,27,21,45,13,64,42];var Hosea=[0,9,25,5,19,15,11,16,14,17,15,11,15,15,10];var Joel=[0,20,27,5,21];var Amos=[0,15,16,15,13,27,14,17,14,15];var Obadiah=[0,21];var Jonah=[0,16,11,10,11];var Micah=[0,16,13,12,14,14,16,20];var Nachum=[0,14,14,19];var Habakkuk=[0,17,20,19];var Zephaniah=[0,18,15,20];var Haggai=[0,15,23];var Zechariah=[0,17,17,10,14,11,15,14,23,17,12,17,14,9,21];var Malachi=[0,14,17,24];var numverses = {Genesis:Genesis,Exodus:Exodus,Leviticus:Leviticus,Numbers:Numbers,Deuteronomy:Deuteronomy,Joshua:Joshua,Judges:Judges,Ruth:Ruth,"I Samuel":[0,28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,16,23,28,23,43,25,12,25,11,31,13],"II Samuel":[0,27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,32,44,26,22,51,39,25],"I Kings":[0,53,46,28,20,32,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"II Kings":[0,18,25,27,44,27,33,20,29,37,36,20,22,25,29,38,20,41,37,37,21,26,20,37,20,30],Isaiah:Isaiah,Jeremiah:Jeremiah,Lamentations:Lamentations,Baruch:Baruch,Ezekiel:Ezekiel,Daniel:Daniel,Hosea:Hosea,Joel:Joel,Amos:Amos,Obadiah:Obadiah,Jonah:Jonah,Micah:Micah,Nachum:Nachum,Habakkuk:Habakkuk,Zephaniah:Zephaniah,Haggai:Haggai,Zechariah:Zechariah,Malachi:Malachi};
|
|
1110
|
-
|
|
1111
|
-
/**
|
|
1112
|
-
* Names of the books of the Torah. BOOK[1] === 'Genesis'
|
|
1113
|
-
* @readonly
|
|
1114
|
-
* @const {string[]}
|
|
1115
|
-
*/
|
|
1116
|
-
|
|
1117
|
-
var BOOK = ['', 'Genesis', 'Exodus', 'Leviticus', 'Numbers', 'Deuteronomy'];
|
|
1118
|
-
/**
|
|
1119
|
-
* Formats parsha as a string
|
|
1120
|
-
* @param {string[]} parsha
|
|
1121
|
-
* @return {string}
|
|
1122
|
-
*/
|
|
1123
|
-
|
|
1124
|
-
function parshaToString(parsha) {
|
|
1125
|
-
var s = parsha[0];
|
|
1126
|
-
|
|
1127
|
-
if (parsha.length == 2) {
|
|
1128
|
-
s += '-' + parsha[1];
|
|
1129
|
-
}
|
|
1130
|
-
|
|
1131
|
-
return s;
|
|
1132
|
-
}
|
|
1133
|
-
/**
|
|
1134
|
-
* Represents an aliyah
|
|
1135
|
-
* @typedef {Object} Aliyah
|
|
1136
|
-
* @property {string} k - Book (e.g. "Numbers")
|
|
1137
|
-
* @property {string} b - beginning verse (e.g. "28:9")
|
|
1138
|
-
* @property {string} e - ending verse (e.g. "28:15")
|
|
1139
|
-
* @property {number} [v] - number of verses
|
|
1140
|
-
* @property {number} [p] - parsha number (1=Bereshit, 54=Vezot HaBracha)
|
|
1141
|
-
*/
|
|
1142
|
-
|
|
1143
|
-
/**
|
|
1144
|
-
* Makes a deep copy of the src object using JSON stringify and parse
|
|
1145
|
-
* @param {any} src
|
|
1146
|
-
* @return {any}
|
|
1147
|
-
*/
|
|
1148
|
-
|
|
1149
|
-
function clone(src) {
|
|
1150
|
-
return JSON.parse(JSON.stringify(src));
|
|
1151
|
-
}
|
|
1152
|
-
/**
|
|
1153
|
-
* Calculates the number of verses in an aliyah or haftara based on
|
|
1154
|
-
* the `b` (begin verse), `e` (end verse) and `k` (book).
|
|
1155
|
-
* Modifies `aliyah` by setting the `v` field.
|
|
1156
|
-
* @param {Aliyah} aliyah
|
|
1157
|
-
* @return {number}
|
|
1158
|
-
*/
|
|
1159
|
-
|
|
1160
|
-
function calculateNumVerses(aliyah) {
|
|
1161
|
-
if (aliyah.v) {
|
|
1162
|
-
return aliyah.v;
|
|
1163
|
-
}
|
|
1164
|
-
|
|
1165
|
-
var chapVerseBegin = aliyah.b.split(':');
|
|
1166
|
-
var chapVerseEnd = aliyah.e.split(':');
|
|
1167
|
-
var c1 = parseInt(chapVerseBegin[0], 10);
|
|
1168
|
-
var c2 = parseInt(chapVerseEnd[0], 10);
|
|
1169
|
-
var v1 = parseInt(chapVerseBegin[1], 10);
|
|
1170
|
-
var v2 = parseInt(chapVerseEnd[1], 10);
|
|
1171
|
-
|
|
1172
|
-
if (c1 === c2) {
|
|
1173
|
-
aliyah.v = v2 - v1 + 1;
|
|
1174
|
-
} else if (typeof aliyah.k === 'string') {
|
|
1175
|
-
var numv = numverses[aliyah.k];
|
|
1176
|
-
|
|
1177
|
-
if (_typeof(numv) !== 'object' || !numv.length) {
|
|
1178
|
-
throw new ReferenceError("Can't find numverses for ".concat(aliyah.k));
|
|
1179
|
-
}
|
|
1180
|
-
|
|
1181
|
-
var total = numv[c1] - v1 + 1;
|
|
1182
|
-
|
|
1183
|
-
for (var chap = c1 + 1; chap < c2; chap++) {
|
|
1184
|
-
total += numv[chap];
|
|
1185
|
-
}
|
|
1186
|
-
|
|
1187
|
-
total += v2;
|
|
1188
|
-
aliyah.v = total;
|
|
1189
|
-
}
|
|
1190
|
-
|
|
1191
|
-
return aliyah.v;
|
|
1192
|
-
}
|
|
1193
|
-
/**
|
|
1194
|
-
* Formats an aliyah object like "Numbers 28:9-28:15"
|
|
1195
|
-
* @param {Aliyah} a aliyah
|
|
1196
|
-
* @return {string}
|
|
1197
|
-
*/
|
|
1198
|
-
|
|
1199
|
-
function formatAliyahWithBook(a) {
|
|
1200
|
-
return "".concat(a.k, " ").concat(a.b, "-").concat(a.e);
|
|
1201
|
-
}
|
|
1202
|
-
/**
|
|
1203
|
-
* Formats an aliyah object like "Numbers 28:9-15"
|
|
1204
|
-
* @param {Aliyah} aliyah
|
|
1205
|
-
* @param {boolean} showBook
|
|
1206
|
-
* @return {string}
|
|
1207
|
-
*/
|
|
1208
|
-
|
|
1209
|
-
function formatAliyahShort(aliyah, showBook) {
|
|
1210
|
-
var begin = aliyah.b;
|
|
1211
|
-
var end0 = aliyah.e;
|
|
1212
|
-
var prefix = showBook ? aliyah.k + ' ' : '';
|
|
1213
|
-
|
|
1214
|
-
if (begin === end0) {
|
|
1215
|
-
return "".concat(prefix).concat(begin);
|
|
1216
|
-
}
|
|
1217
|
-
|
|
1218
|
-
var cv1 = begin.split(':');
|
|
1219
|
-
var cv2 = end0.split(':');
|
|
1220
|
-
var end = cv1[0] === cv2[0] ? cv2[1] : end0;
|
|
1221
|
-
return "".concat(prefix).concat(begin, "-").concat(end);
|
|
1222
|
-
}
|
|
1223
|
-
/**
|
|
1224
|
-
* Returns the total number of verses in an array of Aliyah (or haftarah) objects
|
|
1225
|
-
* @param {Aliyah|Aliyah[]} aliyot
|
|
1226
|
-
* @return {number}
|
|
1227
|
-
*/
|
|
1228
|
-
|
|
1229
|
-
function sumVerses(aliyot) {
|
|
1230
|
-
return Array.isArray(aliyot) ? aliyot.reduce(function (prev, cur) {
|
|
1231
|
-
return prev + cur.v;
|
|
1232
|
-
}, 0) : aliyot.v;
|
|
1233
|
-
}
|
|
1234
|
-
/**
|
|
1235
|
-
* @private
|
|
1236
|
-
* @param {Aliyah|Aliyah[]} haft
|
|
1237
|
-
* @return {Aliyah|Aliyah[]}
|
|
1238
|
-
*/
|
|
1239
|
-
|
|
1240
|
-
function cloneHaftara(haft) {
|
|
1241
|
-
if (!haft) {
|
|
1242
|
-
return haft;
|
|
1243
|
-
}
|
|
1244
|
-
|
|
1245
|
-
var dest = clone(haft);
|
|
1246
|
-
|
|
1247
|
-
if (Array.isArray(dest)) {
|
|
1248
|
-
dest.map(calculateNumVerses);
|
|
1249
|
-
} else {
|
|
1250
|
-
calculateNumVerses(dest);
|
|
1251
|
-
}
|
|
1252
|
-
|
|
1253
|
-
return dest;
|
|
1254
|
-
}
|
|
1255
|
-
|
|
1256
|
-
/**
|
|
1257
|
-
* @private
|
|
1258
|
-
* @param {string} a
|
|
1259
|
-
* @param {string} b
|
|
1260
|
-
* @return {boolean}
|
|
1261
|
-
*/
|
|
1262
|
-
|
|
1263
|
-
function isChapVerseBefore(a, b) {
|
|
1264
|
-
var cv1 = a.split(':').map(function (x) {
|
|
1265
|
-
return +x;
|
|
1266
|
-
});
|
|
1267
|
-
var cv2 = b.split(':').map(function (x) {
|
|
1268
|
-
return +x;
|
|
1269
|
-
});
|
|
1270
|
-
return cv1[0] * 100 + cv1[1] < cv2[0] * 100 + cv2[1];
|
|
1271
|
-
}
|
|
1272
|
-
/**
|
|
1273
|
-
* Summarizes an `AliyotMap` by collapsing all adjacent aliyot.
|
|
1274
|
-
* Finds any non-overlapping parts (e.g. special 7th aliyah or maftir)
|
|
1275
|
-
* @param {Object<string,Aliyah>} aliyot
|
|
1276
|
-
* @return {Aliyah[]}
|
|
1277
|
-
*/
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
function makeLeyningParts(aliyot) {
|
|
1281
|
-
var nums = Object.keys(aliyot).filter(function (x) {
|
|
1282
|
-
return x.length === 1;
|
|
1283
|
-
});
|
|
1284
|
-
var start = aliyot[nums[0]];
|
|
1285
|
-
var end = start;
|
|
1286
|
-
var parts = [];
|
|
1287
|
-
|
|
1288
|
-
for (var i = 0; i < nums.length; i++) {
|
|
1289
|
-
var num = nums[i];
|
|
1290
|
-
var aliyah = aliyot[num];
|
|
1291
|
-
|
|
1292
|
-
if (i === nums.length - 1 && aliyah.k === end.k && aliyah.e === end.e) {
|
|
1293
|
-
// short-circuit when final aliyah is within the previous (e.g. M inside of 7)
|
|
1294
|
-
continue;
|
|
1295
|
-
}
|
|
1296
|
-
|
|
1297
|
-
var prevEndChap = +end.e.split(':')[0];
|
|
1298
|
-
var curStartChap = +aliyah.b.split(':')[0];
|
|
1299
|
-
var sameOrNextChap = curStartChap === prevEndChap || curStartChap === prevEndChap + 1;
|
|
1300
|
-
|
|
1301
|
-
if (i !== 0 && (aliyah.k !== start.k || isChapVerseBefore(aliyah.b, start.e) || !sameOrNextChap)) {
|
|
1302
|
-
parts.push({
|
|
1303
|
-
k: start.k,
|
|
1304
|
-
b: start.b,
|
|
1305
|
-
e: end.e
|
|
1306
|
-
});
|
|
1307
|
-
start = aliyah;
|
|
1308
|
-
}
|
|
1309
|
-
|
|
1310
|
-
end = aliyah;
|
|
1311
|
-
}
|
|
1312
|
-
|
|
1313
|
-
parts.push({
|
|
1314
|
-
k: start.k,
|
|
1315
|
-
b: start.b,
|
|
1316
|
-
e: end.e
|
|
1317
|
-
});
|
|
1318
|
-
return parts;
|
|
1319
|
-
}
|
|
1320
|
-
/**
|
|
1321
|
-
* Returns a string representation of the leyning parts.
|
|
1322
|
-
* Separate verse ranges read from the same book are separated
|
|
1323
|
-
* by commas, e.g. `Isaiah 6:1-7:6, 9:5-6`.
|
|
1324
|
-
* Verse ranges from different books are separated by semicolons,
|
|
1325
|
-
* e.g. `Genesis 21:1-34; Numbers 29:1-6`.
|
|
1326
|
-
* @param {Aliyah|Aliyah[]} parts
|
|
1327
|
-
* @return {string}
|
|
1328
|
-
*/
|
|
1329
|
-
|
|
1330
|
-
function makeSummaryFromParts(parts) {
|
|
1331
|
-
if (!Array.isArray(parts)) {
|
|
1332
|
-
parts = [parts];
|
|
1333
|
-
}
|
|
1334
|
-
|
|
1335
|
-
var prev = parts[0];
|
|
1336
|
-
var summary = formatAliyahShort(prev, true);
|
|
1337
|
-
|
|
1338
|
-
for (var i = 1; i < parts.length; i++) {
|
|
1339
|
-
var part = parts[i];
|
|
1340
|
-
|
|
1341
|
-
if (part.k === prev.k) {
|
|
1342
|
-
summary += ', ';
|
|
1343
|
-
} else {
|
|
1344
|
-
summary += "; ".concat(part.k, " ");
|
|
1345
|
-
}
|
|
1346
|
-
|
|
1347
|
-
summary += formatAliyahShort(part, false);
|
|
1348
|
-
prev = part;
|
|
1349
|
-
}
|
|
1350
|
-
|
|
1351
|
-
return summary;
|
|
1352
|
-
}
|
|
1353
|
-
/**
|
|
1354
|
-
* Makes a summary of the leyning, like "Genesis 6:9-11:32"
|
|
1355
|
-
* @param {Object<string,Aliyah>} aliyot
|
|
1356
|
-
* @return {string}
|
|
1357
|
-
*/
|
|
1358
|
-
|
|
1359
|
-
function makeLeyningSummary(aliyot) {
|
|
1360
|
-
var parts = makeLeyningParts(aliyot);
|
|
1361
|
-
return makeSummaryFromParts(parts);
|
|
1362
|
-
}
|
|
1363
|
-
|
|
1364
|
-
var internalObjectKeys = objectKeysInternal;
|
|
1365
|
-
var enumBugKeys = enumBugKeys$2;
|
|
1366
|
-
|
|
1367
|
-
// `Object.keys` method
|
|
1368
|
-
// https://tc39.es/ecma262/#sec-object.keys
|
|
1369
|
-
// eslint-disable-next-line es/no-object-keys -- safe
|
|
1370
|
-
var objectKeys$1 = Object.keys || function keys(O) {
|
|
1371
|
-
return internalObjectKeys(O, enumBugKeys);
|
|
1372
|
-
};
|
|
1259
|
+
// `Object.keys` method
|
|
1260
|
+
// https://tc39.es/ecma262/#sec-object.keys
|
|
1261
|
+
// eslint-disable-next-line es/no-object-keys -- safe
|
|
1262
|
+
var objectKeys$1 = Object.keys || function keys(O) {
|
|
1263
|
+
return internalObjectKeys(O, enumBugKeys);
|
|
1264
|
+
};
|
|
1373
1265
|
|
|
1374
1266
|
var DESCRIPTORS = descriptors;
|
|
1375
1267
|
var uncurryThis = functionUncurryThis;
|
|
@@ -1426,35 +1318,28 @@ var Purim={fullkriyah:{"1":{p:16,k:2,b:"17:8",e:"17:10"},"2":{p:16,k:2,b:"17:11"
|
|
|
1426
1318
|
* @param {string} holiday
|
|
1427
1319
|
* @return {boolean}
|
|
1428
1320
|
*/
|
|
1429
|
-
|
|
1430
1321
|
function hasFestival(holiday) {
|
|
1431
1322
|
return _typeof(festivals[holiday]) === 'object';
|
|
1432
1323
|
}
|
|
1324
|
+
|
|
1433
1325
|
/**
|
|
1434
1326
|
* Returns the raw metadata for festival reading for `holiday`
|
|
1435
1327
|
* @param {string} holiday
|
|
1436
1328
|
* @return {any}
|
|
1437
1329
|
*/
|
|
1438
|
-
|
|
1439
1330
|
function lookupFestival(holiday) {
|
|
1440
1331
|
var src = festivals[holiday];
|
|
1441
|
-
|
|
1442
1332
|
if (typeof src === 'undefined') {
|
|
1443
1333
|
return undefined;
|
|
1444
1334
|
}
|
|
1445
|
-
|
|
1446
1335
|
if (src.alias) {
|
|
1447
1336
|
var tmp = festivals[src.key];
|
|
1448
|
-
|
|
1449
1337
|
if (typeof tmp === 'undefined') {
|
|
1450
1338
|
throw new Error("Leyning alias ".concat(holiday, " => ").concat(src.key, " not found"));
|
|
1451
1339
|
}
|
|
1452
|
-
|
|
1453
1340
|
src = tmp;
|
|
1454
1341
|
}
|
|
1455
|
-
|
|
1456
1342
|
var result = src.fullkriyah ? clone(src) : src;
|
|
1457
|
-
|
|
1458
1343
|
if (result.fullkriyah) {
|
|
1459
1344
|
Object.values(result.fullkriyah).forEach(function (aliyah) {
|
|
1460
1345
|
if (typeof aliyah.k === 'number') {
|
|
@@ -1462,33 +1347,28 @@ function lookupFestival(holiday) {
|
|
|
1462
1347
|
}
|
|
1463
1348
|
});
|
|
1464
1349
|
}
|
|
1465
|
-
|
|
1466
1350
|
return result;
|
|
1467
1351
|
}
|
|
1468
1352
|
|
|
1469
|
-
var HOLIDAY_IGNORE_MASK = core.flags.DAF_YOMI | core.flags.OMER_COUNT | core.flags.SHABBAT_MEVARCHIM | core.flags.MOLAD | core.flags.USER_EVENT | core.flags.HEBREW_DATE | core.flags.MISHNA_YOMI | core.flags.MODERN_HOLIDAY;
|
|
1353
|
+
var HOLIDAY_IGNORE_MASK = core.flags.DAF_YOMI | core.flags.OMER_COUNT | core.flags.SHABBAT_MEVARCHIM | core.flags.MOLAD | core.flags.USER_EVENT | core.flags.HEBREW_DATE | core.flags.MISHNA_YOMI | core.flags.MODERN_HOLIDAY | core.flags.YERUSHALMI_YOMI;
|
|
1354
|
+
|
|
1470
1355
|
/**
|
|
1471
1356
|
* Based on the event date, type and title, finds the relevant leyning key
|
|
1472
1357
|
* @param {Event} ev event
|
|
1473
1358
|
* @param {boolean} [il] true if Israel holiday scheme
|
|
1474
1359
|
* @return {string} key to look up in holiday-reading.json
|
|
1475
1360
|
*/
|
|
1476
|
-
|
|
1477
1361
|
function getLeyningKeyForEvent(ev) {
|
|
1478
1362
|
var il = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1479
1363
|
var mask = ev.getFlags();
|
|
1480
|
-
|
|
1481
1364
|
if (mask & HOLIDAY_IGNORE_MASK) {
|
|
1482
1365
|
return undefined;
|
|
1483
|
-
}
|
|
1484
|
-
|
|
1485
|
-
|
|
1366
|
+
}
|
|
1367
|
+
// Skip all Erevs except for Simchat Torah
|
|
1486
1368
|
var desc = ev.getDesc();
|
|
1487
|
-
|
|
1488
1369
|
if (mask & core.flags.EREV && desc !== 'Erev Simchat Torah') {
|
|
1489
1370
|
return undefined;
|
|
1490
1371
|
}
|
|
1491
|
-
|
|
1492
1372
|
var hd = ev.getDate();
|
|
1493
1373
|
var day = hd.getDate();
|
|
1494
1374
|
var dow = hd.abs() % 7;
|
|
@@ -1497,15 +1377,12 @@ function getLeyningKeyForEvent(ev) {
|
|
|
1497
1377
|
var isRoshChodesh = day == 1 || day == 30;
|
|
1498
1378
|
var holiday = ev.basename();
|
|
1499
1379
|
var isPesach = holiday === 'Pesach';
|
|
1500
|
-
|
|
1501
1380
|
if (il && isPesach) {
|
|
1502
1381
|
if (isShabbat) {
|
|
1503
1382
|
return day === 15 || day === 21 ? desc + ' (on Shabbat)' : 'Pesach Shabbat Chol ha-Moed';
|
|
1504
1383
|
}
|
|
1505
|
-
|
|
1506
1384
|
return desc;
|
|
1507
1385
|
}
|
|
1508
|
-
|
|
1509
1386
|
if (day == 1 && month === core.months.TISHREI) {
|
|
1510
1387
|
return isShabbat ? 'Rosh Hashana I (on Shabbat)' : 'Rosh Hashana I';
|
|
1511
1388
|
} else if (ev.cholHaMoedDay) {
|
|
@@ -1514,12 +1391,10 @@ function getLeyningKeyForEvent(ev) {
|
|
|
1514
1391
|
return holiday + ' Shabbat Chol ha-Moed';
|
|
1515
1392
|
} else if (desc == 'Sukkot VII (Hoshana Raba)') {
|
|
1516
1393
|
return 'Sukkot Final Day (Hoshana Raba)';
|
|
1517
|
-
}
|
|
1394
|
+
}
|
|
1395
|
+
// If Shabbat falls on the third day of Chol ha-Moed Pesach,
|
|
1518
1396
|
// the readings for the third, fourth, and fifth days are moved ahead
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
1397
|
var cholHaMoedDay = ev.cholHaMoedDay;
|
|
1522
|
-
|
|
1523
1398
|
if (isPesach && cholHaMoedDay >= 3) {
|
|
1524
1399
|
if (dow == 0 && cholHaMoedDay == 4) {
|
|
1525
1400
|
cholHaMoedDay = 3;
|
|
@@ -1527,7 +1402,6 @@ function getLeyningKeyForEvent(ev) {
|
|
|
1527
1402
|
cholHaMoedDay = 4;
|
|
1528
1403
|
}
|
|
1529
1404
|
}
|
|
1530
|
-
|
|
1531
1405
|
return "".concat(holiday, " Chol ha-Moed Day ").concat(cholHaMoedDay);
|
|
1532
1406
|
} else if (ev.chanukahDay) {
|
|
1533
1407
|
if (isShabbat && isRoshChodesh) {
|
|
@@ -1540,54 +1414,45 @@ function getLeyningKeyForEvent(ev) {
|
|
|
1540
1414
|
return "Chanukah Day ".concat(ev.chanukahDay);
|
|
1541
1415
|
}
|
|
1542
1416
|
}
|
|
1543
|
-
|
|
1544
1417
|
if (isRoshChodesh && (desc == 'Shabbat HaChodesh' || desc == 'Shabbat Shekalim')) {
|
|
1545
1418
|
return desc + ' (on Rosh Chodesh)';
|
|
1546
1419
|
}
|
|
1547
|
-
|
|
1548
1420
|
if (desc == 'Shavuot') {
|
|
1549
1421
|
return 'Shavuot I';
|
|
1550
1422
|
} else if (il && desc == 'Shmini Atzeret') {
|
|
1551
1423
|
return 'Simchat Torah';
|
|
1552
1424
|
}
|
|
1553
|
-
|
|
1425
|
+
if (desc === 'Chag HaBanot') {
|
|
1426
|
+
return undefined;
|
|
1427
|
+
}
|
|
1554
1428
|
if (isShabbat && 'Shabbat' != desc.substring(0, 7)) {
|
|
1555
1429
|
if (isRoshChodesh) {
|
|
1556
1430
|
if (desc === 'Rosh Chodesh Tevet') {
|
|
1557
1431
|
return 'Shabbat Rosh Chodesh Chanukah';
|
|
1558
1432
|
}
|
|
1559
|
-
|
|
1560
1433
|
return 'Shabbat Rosh Chodesh';
|
|
1561
1434
|
}
|
|
1562
|
-
|
|
1563
1435
|
var desc2 = desc + ' (on Shabbat)';
|
|
1564
|
-
|
|
1565
1436
|
if (hasFestival(desc2)) {
|
|
1566
1437
|
return desc2;
|
|
1567
1438
|
}
|
|
1568
1439
|
}
|
|
1569
|
-
|
|
1570
1440
|
if (hasFestival(desc)) {
|
|
1571
1441
|
return desc;
|
|
1572
1442
|
}
|
|
1573
|
-
|
|
1574
1443
|
if (isShabbat) {
|
|
1575
1444
|
var tommorow = hd.next().getDate();
|
|
1576
|
-
|
|
1577
1445
|
if (tommorow === 30 || tommorow === 1) {
|
|
1578
1446
|
return 'Shabbat Machar Chodesh';
|
|
1579
1447
|
}
|
|
1580
1448
|
}
|
|
1581
|
-
|
|
1582
1449
|
if (desc === 'Rosh Hashana LaBehemot') {
|
|
1583
1450
|
return undefined;
|
|
1584
1451
|
}
|
|
1585
|
-
|
|
1586
1452
|
if (desc === 'Rosh Chodesh Tevet') {
|
|
1587
1453
|
if (isShabbat) {
|
|
1588
1454
|
return 'Shabbat Rosh Chodesh Chanukah';
|
|
1589
1455
|
}
|
|
1590
|
-
|
|
1591
1456
|
if (day === 30 || core.HDate.shortKislev(hd.getFullYear())) {
|
|
1592
1457
|
return 'Chanukah Day 6'; // 30th of Kislev or 1st of Tevet
|
|
1593
1458
|
} else {
|
|
@@ -1598,11 +1463,9 @@ function getLeyningKeyForEvent(ev) {
|
|
|
1598
1463
|
if (isRoshChodesh) {
|
|
1599
1464
|
return desc;
|
|
1600
1465
|
}
|
|
1601
|
-
|
|
1602
1466
|
if (desc === 'Tish\'a B\'Av (observed)') {
|
|
1603
1467
|
return 'Tish\'a B\'Av';
|
|
1604
1468
|
}
|
|
1605
|
-
|
|
1606
1469
|
return undefined;
|
|
1607
1470
|
}
|
|
1608
1471
|
|
|
@@ -1610,45 +1473,40 @@ function getLeyningKeyForEvent(ev) {
|
|
|
1610
1473
|
* @private
|
|
1611
1474
|
* @param {Object<string,Aliyah>} aliyot
|
|
1612
1475
|
*/
|
|
1613
|
-
|
|
1614
1476
|
function aliyotCombine67(aliyot) {
|
|
1615
1477
|
var a6 = clone(aliyot['6']);
|
|
1616
1478
|
var a7 = aliyot['7'];
|
|
1617
|
-
|
|
1618
1479
|
if (a6.k !== a7.k) {
|
|
1619
1480
|
throw new Error('Impossible to combine aliyot 6 & 7: ' + JSON.stringify(aliyot));
|
|
1620
1481
|
}
|
|
1621
|
-
|
|
1622
1482
|
delete aliyot['7'];
|
|
1623
1483
|
aliyot['6'] = {
|
|
1624
1484
|
k: a6.k,
|
|
1625
1485
|
b: a6.b,
|
|
1626
1486
|
e: a7.e
|
|
1627
1487
|
};
|
|
1628
|
-
|
|
1629
1488
|
if (a6.v && a7.v) {
|
|
1630
1489
|
aliyot['6'].v = a6.v + a7.v;
|
|
1631
1490
|
}
|
|
1632
1491
|
}
|
|
1492
|
+
|
|
1633
1493
|
/**
|
|
1634
1494
|
* @private
|
|
1635
1495
|
* @param {Object<string,Aliyah>} aliyot
|
|
1636
1496
|
* @param {Object<string,Aliyah>} special
|
|
1637
1497
|
*/
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
1498
|
function mergeAliyotWithSpecial(aliyot, special) {
|
|
1641
1499
|
if (special['7']) {
|
|
1642
1500
|
aliyotCombine67(aliyot);
|
|
1643
1501
|
aliyot['7'] = clone(special['7']);
|
|
1644
1502
|
calculateNumVerses(aliyot['7']);
|
|
1645
1503
|
}
|
|
1646
|
-
|
|
1647
1504
|
if (special['M']) {
|
|
1648
1505
|
aliyot['M'] = clone(special['M']);
|
|
1649
1506
|
calculateNumVerses(aliyot['M']);
|
|
1650
1507
|
}
|
|
1651
1508
|
}
|
|
1509
|
+
|
|
1652
1510
|
/**
|
|
1653
1511
|
* Determines if the regular parashat haShavua coincides with an event that requires
|
|
1654
1512
|
* a special maftir or Haftara (for example Shabbat HaGadol, Shabbat Chanukah, Rosh
|
|
@@ -1667,33 +1525,28 @@ function mergeAliyotWithSpecial(aliyot, special) {
|
|
|
1667
1525
|
* @param {boolean} [wantSeph]
|
|
1668
1526
|
* @return {Aliyah | Aliyah[]}
|
|
1669
1527
|
*/
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
1528
|
function specialReadings(hd, il, aliyot, reason, parsha) {
|
|
1673
1529
|
var wantSeph = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
1674
1530
|
var haft;
|
|
1675
1531
|
var seph;
|
|
1676
1532
|
var specialHaft = false;
|
|
1677
|
-
var parshaName = parsha ? parshaToString(parsha) : null;
|
|
1533
|
+
var parshaName = parsha ? parshaToString(parsha) : null;
|
|
1678
1534
|
|
|
1535
|
+
// eslint-disable-next-line require-jsdoc
|
|
1679
1536
|
function handleSpecial(key) {
|
|
1680
1537
|
var special = lookupFestival(key);
|
|
1681
|
-
|
|
1682
1538
|
if (!special) {
|
|
1683
1539
|
return;
|
|
1684
1540
|
}
|
|
1685
|
-
|
|
1686
1541
|
if (special.haft && !specialHaft) {
|
|
1687
1542
|
haft = cloneHaftara(special.haft);
|
|
1688
1543
|
reason.haftara = key;
|
|
1689
1544
|
specialHaft = true;
|
|
1690
|
-
|
|
1691
1545
|
if (special.seph) {
|
|
1692
1546
|
seph = cloneHaftara(special.seph);
|
|
1693
1547
|
reason.sephardic = key;
|
|
1694
1548
|
}
|
|
1695
1549
|
}
|
|
1696
|
-
|
|
1697
1550
|
if (special.fullkriyah) {
|
|
1698
1551
|
mergeAliyotWithSpecial(aliyot, special.fullkriyah);
|
|
1699
1552
|
Object.keys(special.fullkriyah).map(function (k) {
|
|
@@ -1701,7 +1554,6 @@ function specialReadings(hd, il, aliyot, reason, parsha) {
|
|
|
1701
1554
|
});
|
|
1702
1555
|
}
|
|
1703
1556
|
}
|
|
1704
|
-
|
|
1705
1557
|
var events0 = core.HebrewCalendar.getHolidaysOnDate(hd, il) || [];
|
|
1706
1558
|
var events = events0.filter(function (ev) {
|
|
1707
1559
|
return !(ev.getFlags() & core.flags.ROSH_CHODESH);
|
|
@@ -1711,16 +1563,13 @@ function specialReadings(hd, il, aliyot, reason, parsha) {
|
|
|
1711
1563
|
handleSpecial("Shabbat Shuva (with ".concat(parshaName, ")"));
|
|
1712
1564
|
} else {
|
|
1713
1565
|
var key = getLeyningKeyForEvent(ev, il);
|
|
1714
|
-
|
|
1715
1566
|
if (key) {
|
|
1716
1567
|
handleSpecial(key);
|
|
1717
1568
|
}
|
|
1718
1569
|
}
|
|
1719
1570
|
});
|
|
1720
|
-
|
|
1721
1571
|
if (!haft) {
|
|
1722
1572
|
var day = hd.getDate();
|
|
1723
|
-
|
|
1724
1573
|
if (parshaName === 'Pinchas' && day > 17) {
|
|
1725
1574
|
// Pinchas is always read in Tamuz (never another month)
|
|
1726
1575
|
// either on the 14, 16, 17 (in Israel), 19, 21, 23, 24
|
|
@@ -1730,13 +1579,11 @@ function specialReadings(hd, il, aliyot, reason, parsha) {
|
|
|
1730
1579
|
handleSpecial(key);
|
|
1731
1580
|
} else {
|
|
1732
1581
|
var tommorow = hd.next().getDate();
|
|
1733
|
-
|
|
1734
1582
|
if (tommorow === 30 || tommorow === 1) {
|
|
1735
1583
|
handleSpecial('Shabbat Machar Chodesh');
|
|
1736
1584
|
}
|
|
1737
1585
|
}
|
|
1738
1586
|
}
|
|
1739
|
-
|
|
1740
1587
|
if (wantSeph && haft) {
|
|
1741
1588
|
return {
|
|
1742
1589
|
haft: haft,
|
|
@@ -1795,10 +1642,8 @@ var Bereshit={num:1,hebrew:"בְּרֵאשִׁית",book:1,haft:{k:"Isaiah",b:"4
|
|
|
1795
1642
|
* @param {boolean} [il] true if Israel holiday scheme
|
|
1796
1643
|
* @return {Leyning} map of aliyot
|
|
1797
1644
|
*/
|
|
1798
|
-
|
|
1799
1645
|
function getLeyningForHoliday(ev) {
|
|
1800
1646
|
var il = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1801
|
-
|
|
1802
1647
|
if (_typeof(ev) !== 'object' || !(ev instanceof core.Event)) {
|
|
1803
1648
|
throw new TypeError("Bad event argument: ".concat(ev));
|
|
1804
1649
|
} else if (ev.getFlags() & core.flags.PARSHA_HASHAVUA) {
|
|
@@ -1806,11 +1651,11 @@ function getLeyningForHoliday(ev) {
|
|
|
1806
1651
|
} else if (ev.getFlags() & HOLIDAY_IGNORE_MASK) {
|
|
1807
1652
|
return undefined;
|
|
1808
1653
|
}
|
|
1809
|
-
|
|
1810
1654
|
var key = getLeyningKeyForEvent(ev, il);
|
|
1811
1655
|
var leyning = getLeyningForHolidayKey(key, ev.cholHaMoedDay);
|
|
1812
1656
|
return leyning;
|
|
1813
1657
|
}
|
|
1658
|
+
|
|
1814
1659
|
/**
|
|
1815
1660
|
* Looks up leyning for a given holiday key. Key should be an
|
|
1816
1661
|
* (untranslated) string used in holiday-readings.json. Returns some
|
|
@@ -1819,64 +1664,52 @@ function getLeyningForHoliday(ev) {
|
|
|
1819
1664
|
* @param {number} [cholHaMoedDay]
|
|
1820
1665
|
* @return {Leyning} map of aliyot
|
|
1821
1666
|
*/
|
|
1822
|
-
|
|
1823
1667
|
function getLeyningForHolidayKey(key, cholHaMoedDay) {
|
|
1824
1668
|
if (typeof key !== 'string') {
|
|
1825
1669
|
return undefined;
|
|
1826
1670
|
}
|
|
1827
|
-
|
|
1828
1671
|
var src = lookupFestival(key);
|
|
1829
|
-
|
|
1830
1672
|
if (typeof src === 'undefined') {
|
|
1831
1673
|
return undefined;
|
|
1832
1674
|
}
|
|
1833
|
-
|
|
1834
1675
|
var leyning = {
|
|
1835
1676
|
name: {
|
|
1836
1677
|
en: key,
|
|
1837
1678
|
he: core.Locale.lookupTranslation(key, 'he')
|
|
1838
1679
|
}
|
|
1839
1680
|
};
|
|
1840
|
-
|
|
1841
1681
|
if (src.fullkriyah) {
|
|
1842
1682
|
leyning.fullkriyah = clone(src.fullkriyah);
|
|
1843
|
-
|
|
1844
1683
|
if (key === 'Sukkot Shabbat Chol ha-Moed' && cholHaMoedDay) {
|
|
1845
1684
|
leyning.fullkriyah['M'] = leyning.fullkriyah["M-day".concat(cholHaMoedDay)];
|
|
1846
|
-
|
|
1847
1685
|
for (var day = 1; day <= 5; day++) {
|
|
1848
1686
|
delete leyning.fullkriyah["M-day".concat(day)];
|
|
1849
1687
|
}
|
|
1850
1688
|
}
|
|
1851
|
-
|
|
1852
1689
|
if (_typeof(leyning.fullkriyah['1']) === 'object') {
|
|
1853
1690
|
var parts = makeLeyningParts(leyning.fullkriyah);
|
|
1854
1691
|
leyning.summary = makeSummaryFromParts(parts);
|
|
1855
|
-
|
|
1856
1692
|
if (parts.length > 1) {
|
|
1857
1693
|
leyning.summaryParts = parts;
|
|
1858
1694
|
}
|
|
1859
1695
|
}
|
|
1860
|
-
|
|
1861
1696
|
Object.values(leyning.fullkriyah).map(function (aliyah) {
|
|
1862
1697
|
return calculateNumVerses(aliyah);
|
|
1863
1698
|
});
|
|
1864
1699
|
}
|
|
1865
|
-
|
|
1866
1700
|
if (src.haft) {
|
|
1867
1701
|
var haft = leyning.haft = cloneHaftara(src.haft);
|
|
1868
1702
|
leyning.haftara = makeSummaryFromParts(haft);
|
|
1869
1703
|
leyning.haftaraNumV = sumVerses(haft);
|
|
1870
1704
|
}
|
|
1871
|
-
|
|
1872
1705
|
if (src.seph) {
|
|
1873
1706
|
var seph = leyning.seph = cloneHaftara(src.seph);
|
|
1874
1707
|
leyning.sephardic = makeSummaryFromParts(seph);
|
|
1875
1708
|
leyning.sephardicNumV = sumVerses(seph);
|
|
1876
1709
|
}
|
|
1877
|
-
|
|
1878
1710
|
return leyning;
|
|
1879
1711
|
}
|
|
1712
|
+
|
|
1880
1713
|
/**
|
|
1881
1714
|
* on doubled parshiot, read only the second Haftarah
|
|
1882
1715
|
* except for Nitzavim-Vayelech
|
|
@@ -1884,7 +1717,6 @@ function getLeyningForHolidayKey(key, cholHaMoedDay) {
|
|
|
1884
1717
|
* @param {string[]} parsha
|
|
1885
1718
|
* @return {string}
|
|
1886
1719
|
*/
|
|
1887
|
-
|
|
1888
1720
|
function getHaftaraKey(parsha) {
|
|
1889
1721
|
if (parsha.length == 1 || parsha[0] == 'Nitzavim') {
|
|
1890
1722
|
return parsha[0];
|
|
@@ -1892,20 +1724,17 @@ function getHaftaraKey(parsha) {
|
|
|
1892
1724
|
return parsha[1];
|
|
1893
1725
|
}
|
|
1894
1726
|
}
|
|
1727
|
+
|
|
1895
1728
|
/**
|
|
1896
1729
|
* Looks up regular leyning for a weekly parsha with no special readings
|
|
1897
1730
|
* @param {string|string[]} parsha untranslated name like 'Pinchas' or ['Pinchas'] or ['Matot','Masei']
|
|
1898
1731
|
* @return {Leyning} map of aliyot
|
|
1899
1732
|
*/
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
1733
|
function getLeyningForParsha(parsha) {
|
|
1903
1734
|
var isParshaString = typeof parsha === 'string';
|
|
1904
|
-
|
|
1905
1735
|
if (!isParshaString && (!Array.isArray(parsha) || parsha.length !== 1 && parsha.length !== 2)) {
|
|
1906
1736
|
throw new TypeError("Bad parsha argument: ".concat(parsha));
|
|
1907
1737
|
}
|
|
1908
|
-
|
|
1909
1738
|
var name = isParshaString ? parsha : parshaToString(parsha);
|
|
1910
1739
|
var raw = parshiyotObj[name];
|
|
1911
1740
|
var fullkriyah = {};
|
|
@@ -1926,7 +1755,6 @@ function getLeyningForParsha(parsha) {
|
|
|
1926
1755
|
var parts = makeLeyningParts(fullkriyah);
|
|
1927
1756
|
var summary = makeSummaryFromParts(parts);
|
|
1928
1757
|
/** @type {Leyning} */
|
|
1929
|
-
|
|
1930
1758
|
var result = {
|
|
1931
1759
|
name: {
|
|
1932
1760
|
en: name,
|
|
@@ -1939,28 +1767,22 @@ function getLeyningForParsha(parsha) {
|
|
|
1939
1767
|
summary: summary,
|
|
1940
1768
|
fullkriyah: fullkriyah
|
|
1941
1769
|
};
|
|
1942
|
-
|
|
1943
1770
|
if (parts.length > 1) {
|
|
1944
1771
|
result.summaryParts = parts;
|
|
1945
1772
|
}
|
|
1946
|
-
|
|
1947
1773
|
var hkey = getHaftaraKey(parshaNameArray);
|
|
1948
1774
|
var haft0 = parshiyotObj[hkey].haft;
|
|
1949
|
-
|
|
1950
1775
|
if (haft0) {
|
|
1951
1776
|
var haft = result.haft = cloneHaftara(haft0);
|
|
1952
1777
|
result.haftara = makeSummaryFromParts(haft);
|
|
1953
1778
|
result.haftaraNumV = sumVerses(haft);
|
|
1954
1779
|
}
|
|
1955
|
-
|
|
1956
1780
|
if (raw.seph) {
|
|
1957
1781
|
var seph = result.seph = cloneHaftara(raw.seph);
|
|
1958
1782
|
result.sephardic = makeSummaryFromParts(seph);
|
|
1959
1783
|
result.sephardicNumV = sumVerses(seph);
|
|
1960
1784
|
}
|
|
1961
|
-
|
|
1962
1785
|
var weekdaySrc = raw.weekday || parshiyotObj[parshaNameArray[0]].weekday;
|
|
1963
|
-
|
|
1964
1786
|
if (weekdaySrc) {
|
|
1965
1787
|
var weekday = result.weekday = {};
|
|
1966
1788
|
['1', '2', '3'].forEach(function (num) {
|
|
@@ -1974,9 +1796,9 @@ function getLeyningForParsha(parsha) {
|
|
|
1974
1796
|
weekday[num] = aliyah;
|
|
1975
1797
|
});
|
|
1976
1798
|
}
|
|
1977
|
-
|
|
1978
1799
|
return result;
|
|
1979
1800
|
}
|
|
1801
|
+
|
|
1980
1802
|
/**
|
|
1981
1803
|
* Looks up leyning for a regular Shabbat parsha, including any special
|
|
1982
1804
|
* maftir or Haftara.
|
|
@@ -1984,44 +1806,36 @@ function getLeyningForParsha(parsha) {
|
|
|
1984
1806
|
* @param {boolean} [il] in Israel
|
|
1985
1807
|
* @return {Leyning} map of aliyot
|
|
1986
1808
|
*/
|
|
1987
|
-
|
|
1988
1809
|
function getLeyningForParshaHaShavua(ev) {
|
|
1989
1810
|
var il = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1990
|
-
|
|
1991
1811
|
if (!ev instanceof core.Event) {
|
|
1992
1812
|
throw new TypeError("Bad event argument: ".concat(ev));
|
|
1993
1813
|
} else if (ev.getFlags() != core.flags.PARSHA_HASHAVUA) {
|
|
1994
1814
|
throw new TypeError("Event must be parsha hashavua: ".concat(ev.getDesc()));
|
|
1995
|
-
}
|
|
1996
|
-
|
|
1997
|
-
|
|
1815
|
+
}
|
|
1816
|
+
// first, collect the default aliyot and haftara
|
|
1998
1817
|
var parsha = ev.parsha;
|
|
1999
1818
|
var result = getLeyningForParsha(parsha);
|
|
2000
1819
|
var reason = {};
|
|
2001
|
-
var hd = ev.getDate();
|
|
2002
|
-
|
|
1820
|
+
var hd = ev.getDate();
|
|
1821
|
+
// Now, check for special maftir or haftara on same date
|
|
2003
1822
|
var specialHaftara = specialReadings(hd, il, result.fullkriyah, reason, parsha, true);
|
|
2004
|
-
|
|
2005
1823
|
if (specialHaftara) {
|
|
2006
1824
|
var haft = result.haft = cloneHaftara(specialHaftara.haft);
|
|
2007
1825
|
result.haftara = makeSummaryFromParts(haft);
|
|
2008
1826
|
result.haftaraNumV = sumVerses(haft);
|
|
2009
|
-
|
|
2010
1827
|
if (specialHaftara.seph) {
|
|
2011
1828
|
var seph = result.seph = cloneHaftara(specialHaftara.seph);
|
|
2012
1829
|
result.sephardic = makeSummaryFromParts(seph);
|
|
2013
1830
|
result.sephardicNumV = sumVerses(seph);
|
|
2014
1831
|
}
|
|
2015
1832
|
}
|
|
2016
|
-
|
|
2017
1833
|
if (reason['7'] || reason['M']) {
|
|
2018
1834
|
var parts = makeLeyningParts(result.fullkriyah);
|
|
2019
1835
|
result.summary = makeSummaryFromParts(parts);
|
|
2020
1836
|
result.summaryParts = parts;
|
|
2021
1837
|
}
|
|
2022
|
-
|
|
2023
1838
|
var reasons = Object.keys(reason);
|
|
2024
|
-
|
|
2025
1839
|
if (reasons.length !== 0) {
|
|
2026
1840
|
result.reason = reason;
|
|
2027
1841
|
reasons.forEach(function (num) {
|
|
@@ -2033,18 +1847,17 @@ function getLeyningForParshaHaShavua(ev) {
|
|
|
2033
1847
|
});
|
|
2034
1848
|
} else {
|
|
2035
1849
|
var aliyah = result.fullkriyah[num];
|
|
2036
|
-
|
|
2037
1850
|
if (_typeof(aliyah) === 'object') {
|
|
2038
1851
|
aliyah.reason = reason[num];
|
|
2039
1852
|
}
|
|
2040
1853
|
}
|
|
2041
1854
|
});
|
|
2042
|
-
}
|
|
2043
|
-
|
|
2044
|
-
|
|
1855
|
+
}
|
|
1856
|
+
// to avoid confusion, don't include Saturday mincha reading here
|
|
2045
1857
|
delete result.weekday;
|
|
2046
1858
|
return result;
|
|
2047
1859
|
}
|
|
1860
|
+
|
|
2048
1861
|
/**
|
|
2049
1862
|
* Looks up leyning for a regular Shabbat, Monday/Thursday weekday or holiday.
|
|
2050
1863
|
*
|
|
@@ -2062,34 +1875,26 @@ function getLeyningForParshaHaShavua(ev) {
|
|
|
2062
1875
|
* @param {boolean} il in Israel
|
|
2063
1876
|
* @return {Leyning} map of aliyot
|
|
2064
1877
|
*/
|
|
2065
|
-
|
|
2066
1878
|
function getLeyningOnDate(hdate, il) {
|
|
2067
1879
|
var dow = hdate.getDay();
|
|
2068
1880
|
var hyear = hdate.getFullYear();
|
|
2069
1881
|
var sedra = core.HebrewCalendar.getSedra(hyear, il);
|
|
2070
1882
|
var parsha = sedra.lookup(hdate);
|
|
2071
|
-
|
|
2072
1883
|
if (dow === 6 && !parsha.chag) {
|
|
2073
1884
|
var parshaEvent = new core.ParshaEvent(hdate, parsha.parsha, il);
|
|
2074
1885
|
return getLeyningForParshaHaShavua(parshaEvent, il);
|
|
2075
1886
|
}
|
|
2076
|
-
|
|
2077
1887
|
var events = core.HebrewCalendar.getHolidaysOnDate(hdate, il) || [];
|
|
2078
|
-
|
|
2079
1888
|
for (var i = 0; i < events.length; i++) {
|
|
2080
1889
|
var reading = getLeyningForHoliday(events[i], il);
|
|
2081
|
-
|
|
2082
1890
|
if (reading) {
|
|
2083
1891
|
return reading;
|
|
2084
1892
|
}
|
|
2085
1893
|
}
|
|
2086
|
-
|
|
2087
1894
|
if (dow === 1 || dow === 4) {
|
|
2088
1895
|
var saturday = hdate.onOrAfter(6);
|
|
2089
1896
|
var parsha2 = findParshaHaShavua(saturday);
|
|
2090
|
-
|
|
2091
1897
|
var _reading = getLeyningForParsha(parsha2.parsha);
|
|
2092
|
-
|
|
2093
1898
|
var result = {
|
|
2094
1899
|
name: _reading.name,
|
|
2095
1900
|
parsha: _reading.parsha,
|
|
@@ -2097,44 +1902,38 @@ function getLeyningOnDate(hdate, il) {
|
|
|
2097
1902
|
weekday: _reading.weekday
|
|
2098
1903
|
};
|
|
2099
1904
|
return result;
|
|
2100
|
-
}
|
|
2101
|
-
|
|
2102
|
-
|
|
1905
|
+
}
|
|
1906
|
+
// no reading today: it's not Shabbat, Mon/Thu, or a Torah-reading holiday
|
|
2103
1907
|
return undefined;
|
|
2104
1908
|
}
|
|
1909
|
+
|
|
2105
1910
|
/**
|
|
2106
1911
|
* @private
|
|
2107
1912
|
* @param {HDate} saturday
|
|
2108
1913
|
* @param {boolean} il
|
|
2109
1914
|
* @return {Leyning}
|
|
2110
1915
|
*/
|
|
2111
|
-
|
|
2112
1916
|
function findParshaHaShavua(saturday, il) {
|
|
2113
1917
|
var hyear = saturday.getFullYear();
|
|
2114
1918
|
var sedra = core.HebrewCalendar.getSedra(hyear, il);
|
|
2115
1919
|
var parsha = sedra.lookup(saturday);
|
|
2116
|
-
|
|
2117
1920
|
if (!parsha.chag) {
|
|
2118
1921
|
return parsha;
|
|
2119
|
-
}
|
|
2120
|
-
|
|
2121
|
-
|
|
1922
|
+
}
|
|
1923
|
+
// Search for next regular parsha, which could even spill into next year
|
|
2122
1924
|
var endOfYear = new core.HDate(1, core.months.TISHREI, hyear + 1).abs() - 1;
|
|
2123
1925
|
var endAbs = endOfYear + 30;
|
|
2124
|
-
|
|
2125
1926
|
for (var sat2 = saturday.abs() + 7; sat2 <= endAbs; sat2 += 7) {
|
|
2126
1927
|
var sedra2 = sat2 > endOfYear ? core.HebrewCalendar.getSedra(hyear + 1, il) : sedra;
|
|
2127
1928
|
var parsha2 = sedra2.lookup(sat2);
|
|
2128
|
-
|
|
2129
1929
|
if (!parsha2.chag) {
|
|
2130
1930
|
return parsha2;
|
|
2131
1931
|
}
|
|
2132
1932
|
}
|
|
2133
1933
|
/* NOTREACHED */
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
1934
|
return null;
|
|
2137
1935
|
}
|
|
1936
|
+
|
|
2138
1937
|
/**
|
|
2139
1938
|
* Parsha metadata
|
|
2140
1939
|
* @typedef {Object} ParshaMeta
|
|
@@ -2153,22 +1952,16 @@ function findParshaHaShavua(saturday, il) {
|
|
|
2153
1952
|
* @param {string|string[]} parsha
|
|
2154
1953
|
* @return {ParshaMeta}
|
|
2155
1954
|
*/
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
1955
|
function lookupParsha(parsha) {
|
|
2159
1956
|
var isParshaString = typeof parsha === 'string';
|
|
2160
|
-
|
|
2161
1957
|
if (!isParshaString && (!Array.isArray(parsha) || parsha.length !== 1 && parsha.length !== 2)) {
|
|
2162
1958
|
throw new TypeError("Bad parsha argument: ".concat(parsha));
|
|
2163
1959
|
}
|
|
2164
|
-
|
|
2165
1960
|
var name = isParshaString ? parsha : parshaToString(parsha);
|
|
2166
1961
|
var raw = parshiyotObj[name];
|
|
2167
|
-
|
|
2168
1962
|
if (_typeof(raw) !== 'object') {
|
|
2169
1963
|
throw new TypeError("Bad parsha argument: ".concat(parsha));
|
|
2170
1964
|
}
|
|
2171
|
-
|
|
2172
1965
|
return raw;
|
|
2173
1966
|
}
|
|
2174
1967
|
|
|
@@ -2177,23 +1970,22 @@ var fmt = new Intl.DateTimeFormat('en-US', {
|
|
|
2177
1970
|
month: 'short',
|
|
2178
1971
|
day: '2-digit'
|
|
2179
1972
|
});
|
|
1973
|
+
|
|
2180
1974
|
/**
|
|
2181
1975
|
* @private
|
|
2182
1976
|
* @param {Date} dt
|
|
2183
1977
|
* @return {string}
|
|
2184
1978
|
*/
|
|
2185
|
-
|
|
2186
1979
|
function fmtDate(dt) {
|
|
2187
1980
|
var s = fmt.format(dt).split(' ');
|
|
2188
1981
|
return s[1].substring(0, 2) + '-' + s[0] + '-' + s[2];
|
|
2189
1982
|
}
|
|
1983
|
+
|
|
2190
1984
|
/**
|
|
2191
1985
|
* @private
|
|
2192
1986
|
* @param {Event[]} events
|
|
2193
1987
|
* @return {Object<string,boolean>}
|
|
2194
1988
|
*/
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
1989
|
function getParshaDates(events) {
|
|
2198
1990
|
var parshaEvents = events.filter(function (ev) {
|
|
2199
1991
|
return ev.getFlags() === core.flags.PARSHA_HASHAVUA;
|
|
@@ -2204,13 +1996,13 @@ function getParshaDates(events) {
|
|
|
2204
1996
|
}, {});
|
|
2205
1997
|
return parshaDates;
|
|
2206
1998
|
}
|
|
1999
|
+
|
|
2207
2000
|
/**
|
|
2208
2001
|
* @private
|
|
2209
2002
|
* @param {fs.WriteStream} stream
|
|
2210
2003
|
* @param {number} hyear
|
|
2211
2004
|
* @param {boolean} il
|
|
2212
2005
|
*/
|
|
2213
|
-
|
|
2214
2006
|
function writeFullKriyahCsv(stream, hyear, il) {
|
|
2215
2007
|
var events0 = core.HebrewCalendar.calendar({
|
|
2216
2008
|
year: hyear,
|
|
@@ -2229,68 +2021,61 @@ function writeFullKriyahCsv(stream, hyear, il) {
|
|
|
2229
2021
|
}
|
|
2230
2022
|
});
|
|
2231
2023
|
}
|
|
2024
|
+
|
|
2232
2025
|
/**
|
|
2233
2026
|
* @private
|
|
2234
2027
|
* @param {Event} ev
|
|
2235
2028
|
* @return {boolean}
|
|
2236
2029
|
*/
|
|
2237
|
-
|
|
2238
2030
|
function ignore(ev) {
|
|
2239
2031
|
var mask = ev.getFlags();
|
|
2240
|
-
|
|
2241
2032
|
if (mask === core.flags.SPECIAL_SHABBAT) {
|
|
2242
2033
|
return true;
|
|
2243
2034
|
}
|
|
2244
|
-
|
|
2245
2035
|
if (mask !== core.flags.ROSH_CHODESH) {
|
|
2246
2036
|
return false;
|
|
2247
2037
|
}
|
|
2248
|
-
|
|
2249
2038
|
return ev.getDate().getDay() === 6;
|
|
2250
2039
|
}
|
|
2040
|
+
|
|
2251
2041
|
/**
|
|
2252
2042
|
* @private
|
|
2253
2043
|
* @param {fs.WriteStream} stream
|
|
2254
2044
|
* @param {Event} ev
|
|
2255
2045
|
* @param {boolean} il
|
|
2256
2046
|
*/
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
2047
|
function writeFullKriyahEvent(stream, ev, il) {
|
|
2260
2048
|
if (ignore(ev)) {
|
|
2261
2049
|
return;
|
|
2262
2050
|
}
|
|
2263
|
-
|
|
2264
2051
|
var mask = ev.getFlags();
|
|
2265
2052
|
var isParsha = mask === core.flags.PARSHA_HASHAVUA;
|
|
2266
2053
|
var reading = isParsha ? getLeyningForParshaHaShavua(ev, il) : getLeyningForHoliday(ev, il);
|
|
2267
|
-
|
|
2268
2054
|
if (reading) {
|
|
2269
2055
|
writeCsvLines(stream, ev, reading, il, isParsha);
|
|
2270
|
-
|
|
2271
2056
|
if (!isParsha) {
|
|
2272
2057
|
writeHolidayMincha(stream, ev, il);
|
|
2273
2058
|
}
|
|
2274
2059
|
}
|
|
2275
2060
|
}
|
|
2061
|
+
|
|
2276
2062
|
/**
|
|
2277
2063
|
* @private
|
|
2278
2064
|
* @param {fs.WriteStream} stream
|
|
2279
2065
|
* @param {Event} ev
|
|
2280
2066
|
* @param {boolean} il
|
|
2281
2067
|
*/
|
|
2282
|
-
|
|
2283
2068
|
function writeHolidayMincha(stream, ev, il) {
|
|
2284
2069
|
var desc = ev.getDesc();
|
|
2285
2070
|
var minchaDesc1 = desc + ' (Mincha)';
|
|
2286
2071
|
var readingMincha1 = getLeyningForHolidayKey(minchaDesc1);
|
|
2287
2072
|
var readingMincha = readingMincha1 || getLeyningForHolidayKey(getLeyningKeyForEvent(ev, il) + ' (Mincha)');
|
|
2288
|
-
|
|
2289
2073
|
if (readingMincha) {
|
|
2290
2074
|
var minchaEv = new core.Event(ev.getDate(), minchaDesc1, core.flags.USER_EVENT);
|
|
2291
2075
|
writeCsvLines(stream, minchaEv, readingMincha, il, false);
|
|
2292
2076
|
}
|
|
2293
2077
|
}
|
|
2078
|
+
|
|
2294
2079
|
/**
|
|
2295
2080
|
* Formats reading for CSV
|
|
2296
2081
|
* @param {fs.WriteStream} stream
|
|
@@ -2299,76 +2084,59 @@ function writeHolidayMincha(stream, ev, il) {
|
|
|
2299
2084
|
* @param {boolean} il
|
|
2300
2085
|
* @param {boolean} isParsha
|
|
2301
2086
|
*/
|
|
2302
|
-
|
|
2303
2087
|
function writeCsvLines(stream, ev, reading, il, isParsha) {
|
|
2304
2088
|
var parsha = isParsha ? ev.basename() : getLeyningKeyForEvent(ev, il) || ev.render();
|
|
2305
2089
|
var date = fmtDate(ev.getDate().greg());
|
|
2306
2090
|
var lines = getFullKriyahLines(reading);
|
|
2307
2091
|
lines.forEach(function (s) {
|
|
2308
2092
|
var code = s[0].charCodeAt(0);
|
|
2309
|
-
|
|
2310
2093
|
if (code < 48 || code > 57) {
|
|
2311
2094
|
s[0] = "\"".concat(s[0], "\"");
|
|
2312
2095
|
}
|
|
2313
|
-
|
|
2314
2096
|
stream.write("".concat(date, ",\"").concat(parsha, "\",").concat(s[0], ",\"").concat(s[1], "\",").concat(s[2], "\r\n"));
|
|
2315
2097
|
});
|
|
2316
2098
|
stream.write('\r\n');
|
|
2317
2099
|
}
|
|
2100
|
+
|
|
2318
2101
|
/**
|
|
2319
2102
|
* @private
|
|
2320
2103
|
* @param {any} reading
|
|
2321
2104
|
* @return {any[]}
|
|
2322
2105
|
*/
|
|
2323
|
-
|
|
2324
2106
|
function getFullKriyahLines(reading) {
|
|
2325
2107
|
var lines = [];
|
|
2326
|
-
|
|
2327
2108
|
if (reading.fullkriyah) {
|
|
2328
2109
|
Object.keys(reading.fullkriyah).forEach(function (num) {
|
|
2329
2110
|
var a = reading.fullkriyah[num];
|
|
2330
|
-
|
|
2331
2111
|
if (typeof a !== 'undefined') {
|
|
2332
2112
|
var _reading$reason;
|
|
2333
|
-
|
|
2334
2113
|
var k = num == 'M' ? 'maf' : num;
|
|
2335
2114
|
var aliyah = formatAliyahWithBook(a);
|
|
2336
|
-
|
|
2337
2115
|
if ((_reading$reason = reading.reason) !== null && _reading$reason !== void 0 && _reading$reason[num]) {
|
|
2338
2116
|
aliyah += ' | ' + reading.reason[num];
|
|
2339
2117
|
}
|
|
2340
|
-
|
|
2341
2118
|
lines.push([k, aliyah, a.v || '']);
|
|
2342
2119
|
}
|
|
2343
2120
|
});
|
|
2344
2121
|
}
|
|
2345
|
-
|
|
2346
2122
|
var specialHaftara = false;
|
|
2347
|
-
|
|
2348
2123
|
if (reading.haftara) {
|
|
2349
2124
|
var _reading$reason2;
|
|
2350
|
-
|
|
2351
2125
|
var haftara = reading.haftara.replace(/,/g, ';');
|
|
2352
|
-
|
|
2353
2126
|
if ((_reading$reason2 = reading.reason) !== null && _reading$reason2 !== void 0 && _reading$reason2.haftara) {
|
|
2354
2127
|
specialHaftara = true;
|
|
2355
2128
|
haftara += ' | ' + reading.reason.haftara;
|
|
2356
2129
|
}
|
|
2357
|
-
|
|
2358
2130
|
lines.push(['Haftara', haftara, reading.haftaraNumV || '']);
|
|
2359
2131
|
}
|
|
2360
|
-
|
|
2361
2132
|
if (reading.sephardic && !specialHaftara) {
|
|
2362
2133
|
var sephardic = reading.sephardic.replace(/,/g, ';');
|
|
2363
2134
|
lines.push(['Haftara for Sephardim', sephardic, reading.sephardicNumV || '']);
|
|
2364
2135
|
}
|
|
2365
|
-
|
|
2366
2136
|
if (reading.triHaftara) {
|
|
2367
2137
|
var _haftara = reading.triHaftara.replace(/,/g, ';');
|
|
2368
|
-
|
|
2369
2138
|
lines.push(['Alternate Haftara', _haftara, reading.triHaftaraNumV || '']);
|
|
2370
2139
|
}
|
|
2371
|
-
|
|
2372
2140
|
return lines;
|
|
2373
2141
|
}
|
|
2374
2142
|
|
|
@@ -2398,8 +2166,6 @@ exports.writeCsvLines = writeCsvLines;
|
|
|
2398
2166
|
exports.writeFullKriyahCsv = writeFullKriyahCsv;
|
|
2399
2167
|
exports.writeHolidayMincha = writeHolidayMincha;
|
|
2400
2168
|
|
|
2401
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2402
|
-
|
|
2403
2169
|
return exports;
|
|
2404
2170
|
|
|
2405
2171
|
})({}, hebcal);
|