core-js 3.19.1 → 3.19.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.
@@ -17,7 +17,7 @@ var setPrototypeOf = require('../internals/object-set-prototype-of');
17
17
  var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
18
18
  var defineProperty = require('../internals/object-define-property').f;
19
19
  var arrayFill = require('../internals/array-fill');
20
- var arraySlice = require('../internals/array-slice');
20
+ var arraySlice = require('../internals/array-slice-simple');
21
21
  var setToStringTag = require('../internals/set-to-string-tag');
22
22
  var InternalStateModule = require('../internals/internal-state');
23
23
 
@@ -0,0 +1,17 @@
1
+ var global = require('../internals/global');
2
+ var toAbsoluteIndex = require('../internals/to-absolute-index');
3
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
4
+ var createProperty = require('../internals/create-property');
5
+
6
+ var Array = global.Array;
7
+ var max = Math.max;
8
+
9
+ module.exports = function (O, start, end) {
10
+ var length = lengthOfArrayLike(O);
11
+ var k = toAbsoluteIndex(start, length);
12
+ var fin = toAbsoluteIndex(end === undefined ? length : end, length);
13
+ var result = Array(max(fin - k, 0));
14
+ for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
15
+ result.length = n;
16
+ return result;
17
+ };
@@ -1,4 +1,4 @@
1
- var arraySlice = require('../internals/array-slice');
1
+ var arraySlice = require('../internals/array-slice-simple');
2
2
 
3
3
  var floor = Math.floor;
4
4
 
@@ -1,5 +1,5 @@
1
1
  var uncurryThis = require('../internals/function-uncurry-this');
2
- var arraySlice = require('../internals/array-slice');
2
+ var arraySlice = require('../internals/array-slice-simple');
3
3
 
4
4
  var replace = uncurryThis(''.replace);
5
5
  var split = uncurryThis(''.split);
@@ -25,7 +25,8 @@ var pack = function (number, mantissaLength, bytes) {
25
25
  exponent = eMax;
26
26
  } else {
27
27
  exponent = floor(log(number) / LN2);
28
- if (number * (c = pow(2, -exponent)) < 1) {
28
+ c = pow(2, -exponent);
29
+ if (number * c < 1) {
29
30
  exponent--;
30
31
  c *= 2;
31
32
  }
@@ -49,10 +50,18 @@ var pack = function (number, mantissaLength, bytes) {
49
50
  exponent = 0;
50
51
  }
51
52
  }
52
- for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);
53
+ while (mantissaLength >= 8) {
54
+ buffer[index++] = mantissa & 255;
55
+ mantissa /= 256;
56
+ mantissaLength -= 8;
57
+ }
53
58
  exponent = exponent << mantissaLength | mantissa;
54
59
  exponentLength += mantissaLength;
55
- for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);
60
+ while (exponentLength > 0) {
61
+ buffer[index++] = exponent & 255;
62
+ exponent /= 256;
63
+ exponentLength -= 8;
64
+ }
56
65
  buffer[--index] |= sign * 128;
57
66
  return buffer;
58
67
  };
@@ -68,11 +77,17 @@ var unpack = function (buffer, mantissaLength) {
68
77
  var exponent = sign & 127;
69
78
  var mantissa;
70
79
  sign >>= 7;
71
- for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);
80
+ while (nBits > 0) {
81
+ exponent = exponent * 256 + buffer[index--];
82
+ nBits -= 8;
83
+ }
72
84
  mantissa = exponent & (1 << -nBits) - 1;
73
85
  exponent >>= -nBits;
74
86
  nBits += mantissaLength;
75
- for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);
87
+ while (nBits > 0) {
88
+ mantissa = mantissa * 256 + buffer[index--];
89
+ nBits -= 8;
90
+ }
76
91
  if (exponent === 0) {
77
92
  exponent = 1 - eBias;
78
93
  } else if (exponent === eMax) {
@@ -2,7 +2,7 @@
2
2
  var classof = require('../internals/classof-raw');
3
3
  var toIndexedObject = require('../internals/to-indexed-object');
4
4
  var $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
5
- var arraySlice = require('../internals/array-slice');
5
+ var arraySlice = require('../internals/array-slice-simple');
6
6
 
7
7
  var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
8
8
  ? Object.getOwnPropertyNames(window) : [];
@@ -28,7 +28,7 @@ var UPDATES_LAST_INDEX_WRONG = (function () {
28
28
  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
29
29
  })();
30
30
 
31
- var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;
31
+ var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;
32
32
 
33
33
  // nonparticipating capturing group, copied from es5-shim's String#split patch.
34
34
  var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
@@ -36,7 +36,6 @@ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
36
36
  var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
37
37
 
38
38
  if (PATCH) {
39
- // eslint-disable-next-line max-statements -- TODO
40
39
  patchedExec = function exec(string) {
41
40
  var re = this;
42
41
  var state = getInternalState(re);
@@ -4,15 +4,27 @@ var global = require('../internals/global');
4
4
  // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
5
5
  var $RegExp = global.RegExp;
6
6
 
7
- exports.UNSUPPORTED_Y = fails(function () {
7
+ var UNSUPPORTED_Y = fails(function () {
8
8
  var re = $RegExp('a', 'y');
9
9
  re.lastIndex = 2;
10
10
  return re.exec('abcd') != null;
11
11
  });
12
12
 
13
- exports.BROKEN_CARET = fails(function () {
13
+ // UC Browser bug
14
+ // https://github.com/zloirock/core-js/issues/1008
15
+ var MISSED_STICKY = UNSUPPORTED_Y || fails(function () {
16
+ return !$RegExp('a', 'y').sticky;
17
+ });
18
+
19
+ var BROKEN_CARET = UNSUPPORTED_Y || fails(function () {
14
20
  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
15
21
  var re = $RegExp('^r', 'gy');
16
22
  re.lastIndex = 2;
17
23
  return re.exec('str') != null;
18
24
  });
25
+
26
+ module.exports = {
27
+ BROKEN_CARET: BROKEN_CARET,
28
+ MISSED_STICKY: MISSED_STICKY,
29
+ UNSUPPORTED_Y: UNSUPPORTED_Y
30
+ };
@@ -4,7 +4,7 @@ var store = require('../internals/shared-store');
4
4
  (module.exports = function (key, value) {
5
5
  return store[key] || (store[key] = value !== undefined ? value : {});
6
6
  })('versions', []).push({
7
- version: '3.19.1',
7
+ version: '3.19.2',
8
8
  mode: IS_PURE ? 'pure' : 'global',
9
9
  copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
10
10
  });
@@ -76,8 +76,9 @@ var adapt = function (delta, numPoints, firstTime) {
76
76
  var k = 0;
77
77
  delta = firstTime ? floor(delta / damp) : delta >> 1;
78
78
  delta += floor(delta / numPoints);
79
- for (; delta > baseMinusTMin * tMax >> 1; k += base) {
79
+ while (delta > baseMinusTMin * tMax >> 1) {
80
80
  delta = floor(delta / baseMinusTMin);
81
+ k += base;
81
82
  }
82
83
  return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
83
84
  };
@@ -86,7 +87,6 @@ var adapt = function (delta, numPoints, firstTime) {
86
87
  * Converts a string of Unicode symbols (e.g. a domain name label) to a
87
88
  * Punycode string of ASCII-only symbols.
88
89
  */
89
- // eslint-disable-next-line max-statements -- TODO
90
90
  var encode = function (input) {
91
91
  var output = [];
92
92
 
@@ -146,24 +146,26 @@ var encode = function (input) {
146
146
  if (currentValue == n) {
147
147
  // Represent delta as a generalized variable-length integer.
148
148
  var q = delta;
149
- for (var k = base; /* no condition */; k += base) {
149
+ var k = base;
150
+ while (true) {
150
151
  var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
151
152
  if (q < t) break;
152
153
  var qMinusT = q - t;
153
154
  var baseMinusT = base - t;
154
155
  push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
155
156
  q = floor(qMinusT / baseMinusT);
157
+ k += base;
156
158
  }
157
159
 
158
160
  push(output, fromCharCode(digitToBasic(q)));
159
161
  bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
160
162
  delta = 0;
161
- ++handledCPCount;
163
+ handledCPCount++;
162
164
  }
163
165
  }
164
166
 
165
- ++delta;
166
- ++n;
167
+ delta++;
168
+ n++;
167
169
  }
168
170
  return join(output, '');
169
171
  };
@@ -5,7 +5,7 @@ var defineProperty = require('../internals/object-define-property').f;
5
5
 
6
6
  var FunctionPrototype = Function.prototype;
7
7
  var functionToString = uncurryThis(FunctionPrototype.toString);
8
- var nameRE = /^\s*function ([^ (]*)/;
8
+ var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/;
9
9
  var regExpExec = uncurryThis(nameRE.exec);
10
10
  var NAME = 'name';
11
11
 
@@ -38,10 +38,11 @@ var re2 = /a/g;
38
38
  // "new" should create a new object, old webkit bug
39
39
  var CORRECT_NEW = new NativeRegExp(re1) !== re1;
40
40
 
41
+ var MISSED_STICKY = stickyHelpers.MISSED_STICKY;
41
42
  var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;
42
43
 
43
44
  var BASE_FORCED = DESCRIPTORS &&
44
- (!CORRECT_NEW || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {
45
+ (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {
45
46
  re2[MATCH] = false;
46
47
  // RegExp constructor can alter flags and IsRegExp works correct with @@match
47
48
  return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
@@ -146,9 +147,9 @@ if (isForced('RegExp', BASE_FORCED)) {
146
147
 
147
148
  rawFlags = flags;
148
149
 
149
- if (UNSUPPORTED_Y && 'sticky' in re1) {
150
+ if (MISSED_STICKY && 'sticky' in re1) {
150
151
  sticky = !!flags && stringIndexOf(flags, 'y') > -1;
151
- if (sticky) flags = replace(flags, /y/g, '');
152
+ if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');
152
153
  }
153
154
 
154
155
  if (UNSUPPORTED_NCG) {
@@ -1,6 +1,6 @@
1
1
  var global = require('../internals/global');
2
2
  var DESCRIPTORS = require('../internals/descriptors');
3
- var UNSUPPORTED_Y = require('../internals/regexp-sticky-helpers').UNSUPPORTED_Y;
3
+ var MISSED_STICKY = require('../internals/regexp-sticky-helpers').MISSED_STICKY;
4
4
  var classof = require('../internals/classof-raw');
5
5
  var defineProperty = require('../internals/object-define-property').f;
6
6
  var getInternalState = require('../internals/internal-state').get;
@@ -10,7 +10,7 @@ var TypeError = global.TypeError;
10
10
 
11
11
  // `RegExp.prototype.sticky` getter
12
12
  // https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky
13
- if (DESCRIPTORS && UNSUPPORTED_Y) {
13
+ if (DESCRIPTORS && MISSED_STICKY) {
14
14
  defineProperty(RegExpPrototype, 'sticky', {
15
15
  configurable: true,
16
16
  get: function () {
@@ -11,7 +11,7 @@ var advanceStringIndex = require('../internals/advance-string-index');
11
11
  var toLength = require('../internals/to-length');
12
12
  var toString = require('../internals/to-string');
13
13
  var getMethod = require('../internals/get-method');
14
- var arraySlice = require('../internals/array-slice');
14
+ var arraySlice = require('../internals/array-slice-simple');
15
15
  var callRegExpExec = require('../internals/regexp-exec-abstract');
16
16
  var regexpExec = require('../internals/regexp-exec');
17
17
  var stickyHelpers = require('../internals/regexp-sticky-helpers');
@@ -99,29 +99,6 @@ var serialize = function (it) {
99
99
  return replace(encodeURIComponent(it), find, replacer);
100
100
  };
101
101
 
102
- var parseSearchParams = function (result, query) {
103
- if (query) {
104
- var attributes = split(query, '&');
105
- var index = 0;
106
- var attribute, entry;
107
- while (index < attributes.length) {
108
- attribute = attributes[index++];
109
- if (attribute.length) {
110
- entry = split(attribute, '=');
111
- push(result, {
112
- key: deserialize(shift(entry)),
113
- value: deserialize(join(entry, '='))
114
- });
115
- }
116
- }
117
- }
118
- };
119
-
120
- var updateSearchParams = function (query) {
121
- this.entries.length = 0;
122
- parseSearchParams(this.entries, query);
123
- };
124
-
125
102
  var validateArgumentsLength = function (passed, required) {
126
103
  if (passed < required) throw TypeError('Not enough arguments');
127
104
  };
@@ -142,48 +119,87 @@ var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params
142
119
  } return step;
143
120
  });
144
121
 
145
- // `URLSearchParams` constructor
146
- // https://url.spec.whatwg.org/#interface-urlsearchparams
147
- var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
148
- anInstance(this, URLSearchParamsPrototype);
149
- var init = arguments.length > 0 ? arguments[0] : undefined;
150
- var that = this;
151
- var entries = [];
152
- var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;
153
-
154
- setInternalState(that, {
155
- type: URL_SEARCH_PARAMS,
156
- entries: entries,
157
- updateURL: function () { /* empty */ },
158
- updateSearchParams: updateSearchParams
159
- });
122
+ var URLSearchParamsState = function (init) {
123
+ this.entries = [];
124
+ this.url = null;
160
125
 
161
126
  if (init !== undefined) {
162
- if (isObject(init)) {
163
- iteratorMethod = getIteratorMethod(init);
164
- if (iteratorMethod) {
165
- iterator = getIterator(init, iteratorMethod);
166
- next = iterator.next;
167
- while (!(step = call(next, iterator)).done) {
168
- entryIterator = getIterator(anObject(step.value));
169
- entryNext = entryIterator.next;
170
- if (
171
- (first = call(entryNext, entryIterator)).done ||
172
- (second = call(entryNext, entryIterator)).done ||
173
- !call(entryNext, entryIterator).done
174
- ) throw TypeError('Expected sequence with length 2');
175
- push(entries, { key: $toString(first.value), value: $toString(second.value) });
127
+ if (isObject(init)) this.parseObject(init);
128
+ else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));
129
+ }
130
+ };
131
+
132
+ URLSearchParamsState.prototype = {
133
+ type: URL_SEARCH_PARAMS,
134
+ bindURL: function (url) {
135
+ this.url = url;
136
+ this.update();
137
+ },
138
+ parseObject: function (object) {
139
+ var iteratorMethod = getIteratorMethod(object);
140
+ var iterator, next, step, entryIterator, entryNext, first, second;
141
+
142
+ if (iteratorMethod) {
143
+ iterator = getIterator(object, iteratorMethod);
144
+ next = iterator.next;
145
+ while (!(step = call(next, iterator)).done) {
146
+ entryIterator = getIterator(anObject(step.value));
147
+ entryNext = entryIterator.next;
148
+ if (
149
+ (first = call(entryNext, entryIterator)).done ||
150
+ (second = call(entryNext, entryIterator)).done ||
151
+ !call(entryNext, entryIterator).done
152
+ ) throw TypeError('Expected sequence with length 2');
153
+ push(this.entries, { key: $toString(first.value), value: $toString(second.value) });
154
+ }
155
+ } else for (var key in object) if (hasOwn(object, key)) {
156
+ push(this.entries, { key: key, value: $toString(object[key]) });
157
+ }
158
+ },
159
+ parseQuery: function (query) {
160
+ if (query) {
161
+ var attributes = split(query, '&');
162
+ var index = 0;
163
+ var attribute, entry;
164
+ while (index < attributes.length) {
165
+ attribute = attributes[index++];
166
+ if (attribute.length) {
167
+ entry = split(attribute, '=');
168
+ push(this.entries, {
169
+ key: deserialize(shift(entry)),
170
+ value: deserialize(join(entry, '='))
171
+ });
176
172
  }
177
- } else for (key in init) if (hasOwn(init, key)) push(entries, { key: key, value: $toString(init[key]) });
178
- } else {
179
- parseSearchParams(
180
- entries,
181
- typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init)
182
- );
173
+ }
183
174
  }
175
+ },
176
+ serialize: function () {
177
+ var entries = this.entries;
178
+ var result = [];
179
+ var index = 0;
180
+ var entry;
181
+ while (index < entries.length) {
182
+ entry = entries[index++];
183
+ push(result, serialize(entry.key) + '=' + serialize(entry.value));
184
+ } return join(result, '&');
185
+ },
186
+ update: function () {
187
+ this.entries.length = 0;
188
+ this.parseQuery(this.url.query);
189
+ },
190
+ updateURL: function () {
191
+ if (this.url) this.url.update();
184
192
  }
185
193
  };
186
194
 
195
+ // `URLSearchParams` constructor
196
+ // https://url.spec.whatwg.org/#interface-urlsearchparams
197
+ var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
198
+ anInstance(this, URLSearchParamsPrototype);
199
+ var init = arguments.length > 0 ? arguments[0] : undefined;
200
+ setInternalState(this, new URLSearchParamsState(init));
201
+ };
202
+
187
203
  var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
188
204
 
189
205
  redefineAll(URLSearchParamsPrototype, {
@@ -310,14 +326,7 @@ redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, {
310
326
  // `URLSearchParams.prototype.toString` method
311
327
  // https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
312
328
  redefine(URLSearchParamsPrototype, 'toString', function toString() {
313
- var entries = getInternalParamsState(this).entries;
314
- var result = [];
315
- var index = 0;
316
- var entry;
317
- while (index < entries.length) {
318
- entry = entries[index++];
319
- push(result, serialize(entry.key) + '=' + serialize(entry.value));
320
- } return join(result, '&');
329
+ return getInternalParamsState(this).serialize();
321
330
  }, { enumerable: true });
322
331
 
323
332
  setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);