core-js 3.28.0 → 3.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  ## Raising funds
15
15
 
16
- `core-js` isn't backed by a company, so the future of this project depends on you. Become a sponsor or a backer if you are interested in `core-js`: [**Open Collective**](https://opencollective.com/core-js), [**Patreon**](https://patreon.com/zloirock), **Bitcoin ( bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz )**.
16
+ `core-js` isn't backed by a company, so the future of this project depends on you. Become a sponsor or a backer if you are interested in `core-js`: [**Open Collective**](https://opencollective.com/core-js), [**Patreon**](https://patreon.com/zloirock), [**Boosty**](https://boosty.to/zloirock), **Bitcoin ( bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz )**, [**Alipay**](https://user-images.githubusercontent.com/2213682/219464783-c17ad329-17ce-4795-82a7-f609493345ed.png).
17
17
 
18
18
  ---
19
19
 
@@ -1,3 +1,3 @@
1
- var parent = require('../../stable/instance/push');
1
+ var parent = require('../../stable/instance/unshift');
2
2
 
3
3
  module.exports = parent;
package/full/index.js CHANGED
@@ -439,5 +439,6 @@ require('../modules/web.timers');
439
439
  require('../modules/web.url');
440
440
  require('../modules/web.url.to-json');
441
441
  require('../modules/web.url-search-params');
442
+ require('../modules/web.url-search-params.size');
442
443
 
443
444
  module.exports = require('../internals/path');
@@ -1,3 +1,3 @@
1
- var parent = require('../../actual/instance/push');
1
+ var parent = require('../../actual/instance/unshift');
2
2
 
3
3
  module.exports = parent;
@@ -17,7 +17,7 @@ var $RangeError = RangeError;
17
17
  var $TypeError = TypeError;
18
18
 
19
19
  var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) {
20
- // TODO: Drop the first `typeof` check after removing lagacy methods in `core-js@4`
20
+ // TODO: Drop the first `typeof` check after removing legacy methods in `core-js@4`
21
21
  if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) {
22
22
  throw $TypeError(INCORRECT_RANGE);
23
23
  }
@@ -4,9 +4,9 @@ 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.28.0',
7
+ version: '3.29.0',
8
8
  mode: IS_PURE ? 'pure' : 'global',
9
9
  copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
10
- license: 'https://github.com/zloirock/core-js/blob/v3.28.0/LICENSE',
10
+ license: 'https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE',
11
11
  source: 'https://github.com/zloirock/core-js'
12
12
  });
@@ -1,5 +1,6 @@
1
1
  var fails = require('../internals/fails');
2
2
  var wellKnownSymbol = require('../internals/well-known-symbol');
3
+ var DESCRIPTORS = require('../internals/descriptors');
3
4
  var IS_PURE = require('../internals/is-pure');
4
5
 
5
6
  var ITERATOR = wellKnownSymbol('iterator');
@@ -15,6 +16,7 @@ module.exports = !fails(function () {
15
16
  result += key + value;
16
17
  });
17
18
  return (IS_PURE && !url.toJSON)
19
+ || (!searchParams.size && (IS_PURE || !DESCRIPTORS))
18
20
  || !searchParams.sort
19
21
  || url.href !== 'http://a/c%20d?a=1&c=3'
20
22
  || searchParams.get('c') !== '3'
@@ -14,7 +14,7 @@ var $set = Int8ArrayPrototype && Int8ArrayPrototype.set;
14
14
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
15
15
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
16
16
 
17
- var WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {
17
+ var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {
18
18
  // eslint-disable-next-line es/no-typed-arrays -- required for testing
19
19
  var array = new Uint8ClampedArray(2);
20
20
  call($set, array, { length: 1, 0: 3 }, 1);
@@ -22,7 +22,7 @@ var WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {
22
22
  });
23
23
 
24
24
  // https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other
25
- var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {
25
+ var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {
26
26
  var array = new Int8Array(2);
27
27
  array.set(1);
28
28
  array.set('2', 1);
@@ -35,10 +35,10 @@ exportTypedArrayMethod('set', function set(arrayLike /* , offset */) {
35
35
  aTypedArray(this);
36
36
  var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);
37
37
  var src = toIndexedObject(arrayLike);
38
- if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);
38
+ if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);
39
39
  var length = this.length;
40
40
  var len = lengthOfArrayLike(src);
41
41
  var index = 0;
42
42
  if (len + offset > length) throw RangeError('Wrong length');
43
43
  while (index < len) this[offset + index] = src[index++];
44
- }, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);
44
+ }, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);
@@ -105,31 +105,21 @@ Context.prototype = {
105
105
  var i = this.skip(IS_WHITESPACE, this.index);
106
106
  var fork = this.fork(i);
107
107
  var chr = at(source, i);
108
- var result;
109
- if (exec(IS_NUMBER_START, chr)) result = fork.number();
110
- else switch (chr) {
108
+ if (exec(IS_NUMBER_START, chr)) return fork.number();
109
+ switch (chr) {
111
110
  case '{':
112
- result = fork.object();
113
- break;
111
+ return fork.object();
114
112
  case '[':
115
- result = fork.array();
116
- break;
113
+ return fork.array();
117
114
  case '"':
118
- result = fork.string();
119
- break;
115
+ return fork.string();
120
116
  case 't':
121
- result = fork.keyword(true);
122
- break;
117
+ return fork.keyword(true);
123
118
  case 'f':
124
- result = fork.keyword(false);
125
- break;
119
+ return fork.keyword(false);
126
120
  case 'n':
127
- result = fork.keyword(null);
128
- break;
129
- default:
130
- throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i);
131
- }
132
- return result;
121
+ return fork.keyword(null);
122
+ } throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i);
133
123
  },
134
124
  node: function (type, value, start, end, nodes) {
135
125
  return new Node(value, end, type ? null : slice(this.source, start, end), nodes);
@@ -147,7 +147,7 @@ var structuredCloneInternal = function (value, map) {
147
147
 
148
148
  var type = classof(value);
149
149
  var deep = false;
150
- var C, name, cloned, dataTransfer, i, length, keys, key, source, target;
150
+ var C, name, cloned, dataTransfer, i, length, keys, key, source, target, options;
151
151
 
152
152
  switch (type) {
153
153
  case 'Array':
@@ -302,11 +302,12 @@ var structuredCloneInternal = function (value, map) {
302
302
  if (!C && typeof value.slice != 'function') throwUnpolyfillable(type);
303
303
  // detached buffers throws in `DataView` and `.slice`
304
304
  try {
305
- if (typeof value.slice == 'function') {
305
+ if (typeof value.slice == 'function' && !value.resizable) {
306
306
  cloned = value.slice(0);
307
307
  } else {
308
308
  length = value.byteLength;
309
- cloned = new ArrayBuffer(length);
309
+ options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined;
310
+ cloned = new ArrayBuffer(length, options);
310
311
  source = new C(value);
311
312
  target = new C(cloned);
312
313
  for (i = 0; i < length; i++) {
@@ -8,6 +8,7 @@ var uncurryThis = require('../internals/function-uncurry-this');
8
8
  var DESCRIPTORS = require('../internals/descriptors');
9
9
  var USE_NATIVE_URL = require('../internals/url-constructor-detection');
10
10
  var defineBuiltIn = require('../internals/define-built-in');
11
+ var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
11
12
  var defineBuiltIns = require('../internals/define-built-ins');
12
13
  var setToStringTag = require('../internals/set-to-string-tag');
13
14
  var createIteratorConstructor = require('../internals/iterator-create-constructor');
@@ -203,7 +204,8 @@ URLSearchParamsState.prototype = {
203
204
  var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
204
205
  anInstance(this, URLSearchParamsPrototype);
205
206
  var init = arguments.length > 0 ? arguments[0] : undefined;
206
- setInternalState(this, new URLSearchParamsState(init));
207
+ var state = setInternalState(this, new URLSearchParamsState(init));
208
+ if (!DESCRIPTORS) this.length = state.entries.length;
207
209
  };
208
210
 
209
211
  var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
@@ -215,6 +217,7 @@ defineBuiltIns(URLSearchParamsPrototype, {
215
217
  validateArgumentsLength(arguments.length, 2);
216
218
  var state = getInternalParamsState(this);
217
219
  push(state.entries, { key: $toString(name), value: $toString(value) });
220
+ if (!DESCRIPTORS) this.length++;
218
221
  state.updateURL();
219
222
  },
220
223
  // `URLSearchParams.prototype.delete` method
@@ -229,6 +232,7 @@ defineBuiltIns(URLSearchParamsPrototype, {
229
232
  if (entries[index].key === key) splice(entries, index, 1);
230
233
  else index++;
231
234
  }
235
+ if (!DESCRIPTORS) this.length = entries.length;
232
236
  state.updateURL();
233
237
  },
234
238
  // `URLSearchParams.prototype.get` method
@@ -290,6 +294,7 @@ defineBuiltIns(URLSearchParamsPrototype, {
290
294
  }
291
295
  }
292
296
  if (!found) push(entries, { key: key, value: val });
297
+ if (!DESCRIPTORS) this.length = entries.length;
293
298
  state.updateURL();
294
299
  },
295
300
  // `URLSearchParams.prototype.sort` method
@@ -335,6 +340,16 @@ defineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {
335
340
  return getInternalParamsState(this).serialize();
336
341
  }, { enumerable: true });
337
342
 
343
+ // `URLSearchParams.prototype.size` getter
344
+ // https://github.com/whatwg/url/pull/734
345
+ if (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {
346
+ get: function size() {
347
+ return getInternalParamsState(this).entries.length;
348
+ },
349
+ configurable: true,
350
+ enumerable: true
351
+ });
352
+
338
353
  setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
339
354
 
340
355
  $({ global: true, constructor: true, forced: !USE_NATIVE_URL }, {
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+ var DESCRIPTORS = require('../internals/descriptors');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
4
+ var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
5
+
6
+ var URLSearchParamsPrototype = URLSearchParams.prototype;
7
+ var forEach = uncurryThis(URLSearchParamsPrototype.forEach);
8
+
9
+ // `URLSearchParams.prototype.size` getter
10
+ // https://github.com/whatwg/url/pull/734
11
+ if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {
12
+ defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {
13
+ get: function size() {
14
+ var count = 0;
15
+ forEach(this, function () { count++; });
16
+ return count;
17
+ },
18
+ configurable: true,
19
+ enumerable: true
20
+ });
21
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "core-js",
3
- "version": "3.28.0",
3
+ "version": "3.29.0",
4
4
  "description": "Standard library",
5
5
  "keywords": [
6
6
  "ES3",
package/postinstall.js CHANGED
@@ -23,6 +23,7 @@ var BANNER = '\u001B[96mThank you for using core-js (\u001B[94m https://github.c
23
23
  '\u001B[96mThe project needs your help! Please consider supporting of core-js:\u001B[0m\n' +
24
24
  '\u001B[96m>\u001B[94m https://opencollective.com/core-js \u001B[0m\n' +
25
25
  '\u001B[96m>\u001B[94m https://patreon.com/zloirock \u001B[0m\n' +
26
+ '\u001B[96m>\u001B[94m https://boosty.to/zloirock \u001B[0m\n' +
26
27
  '\u001B[96m>\u001B[94m bitcoin: bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz \u001B[0m\n\n' +
27
28
  '\u001B[96mI highly recommend reading this:\u001B[94m https://github.com/zloirock/core-js/blob/master/docs/2023-02-14-so-whats-next.md \u001B[96m\u001B[0m\n';
28
29
 
package/proposals/url.js CHANGED
@@ -2,3 +2,4 @@
2
2
  require('../modules/web.url');
3
3
  require('../modules/web.url.to-json');
4
4
  require('../modules/web.url-search-params');
5
+ require('../modules/web.url-search-params.size');
package/stable/index.js CHANGED
@@ -253,5 +253,6 @@ require('../modules/web.timers');
253
253
  require('../modules/web.url');
254
254
  require('../modules/web.url.to-json');
255
255
  require('../modules/web.url-search-params');
256
+ require('../modules/web.url-search-params.size');
256
257
 
257
258
  module.exports = require('../internals/path');
@@ -1,3 +1,3 @@
1
- var parent = require('../../es/instance/push');
1
+ var parent = require('../../es/instance/unshift');
2
2
 
3
3
  module.exports = parent;
package/web/index.js CHANGED
@@ -13,6 +13,7 @@ require('../modules/web.timers');
13
13
  require('../modules/web.url');
14
14
  require('../modules/web.url.to-json');
15
15
  require('../modules/web.url-search-params');
16
+ require('../modules/web.url-search-params.size');
16
17
  var path = require('../internals/path');
17
18
 
18
19
  module.exports = path;
@@ -1,4 +1,5 @@
1
1
  require('../modules/web.url-search-params');
2
+ require('../modules/web.url-search-params.size');
2
3
  var path = require('../internals/path');
3
4
 
4
5
  module.exports = path.URLSearchParams;
package/web/url.js CHANGED
@@ -1,6 +1,7 @@
1
1
  require('../modules/web.url');
2
2
  require('../modules/web.url.to-json');
3
3
  require('../modules/web.url-search-params');
4
+ require('../modules/web.url-search-params.size');
4
5
  var path = require('../internals/path');
5
6
 
6
7
  module.exports = path.URL;